首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何让两个div并排在内部div弹出?

要让两个div并排显示,并且内部的div可以弹出,可以使用CSS的Flexbox布局和一些JavaScript来实现。以下是一个完整的示例:

HTML结构

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Div Side by Side with Popup</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="container">
        <div class="box" id="box1">
            Box 1
            <div class="popup" id="popup1">Popup Content 1</div>
        </div>
        <div class="box" id="box2">
            Box 2
            <div class="popup" id="popup2">Popup Content 2</div>
        </div>
    </div>
    <script src="script.js"></script>
</body>
</html>

CSS样式

代码语言:txt
复制
/* styles.css */
body {
    font-family: Arial, sans-serif;
}

.container {
    display: flex;
    justify-content: space-around;
    padding: 20px;
}

.box {
    position: relative;
    width: 200px;
    height: 200px;
    background-color: #f0f0f0;
    border: 1px solid #ccc;
    text-align: center;
    line-height: 200px;
    cursor: pointer;
}

.popup {
    display: none;
    position: absolute;
    top: 0;
    left: 100%;
    width: 200px;
    height: 200px;
    background-color: #fff;
    border: 1px solid #ccc;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    z-index: 1000;
}

JavaScript代码

代码语言:txt
复制
// script.js
document.addEventListener('DOMContentLoaded', function() {
    const boxes = document.querySelectorAll('.box');

    boxes.forEach(box => {
        box.addEventListener('mouseenter', function() {
            const popup = this.querySelector('.popup');
            popup.style.display = 'block';
        });

        box.addEventListener('mouseleave', function() {
            const popup = this.querySelector('.popup');
            popup.style.display = 'none';
        });
    });
});

解释

  1. HTML结构
    • 创建一个包含两个div的容器,每个div内部都有一个隐藏的弹出内容。
  • CSS样式
    • 使用Flexbox布局使两个div并排显示。
    • 设置每个div的样式,并使用绝对定位来控制弹出内容的显示位置。
  • JavaScript代码
    • 添加事件监听器,当鼠标进入div时显示弹出内容,离开时隐藏弹出内容。

应用场景

  • 这种布局适用于需要展示多个项目,并且每个项目有额外信息需要弹出的情况,例如产品展示、导航菜单等。

可能遇到的问题及解决方法

  • 弹出内容遮挡其他元素:可以通过调整z-index属性来确保弹出内容在最上层显示。
  • 弹出内容位置不正确:可以通过调整CSS中的positionleft属性来精确控制弹出内容的位置。
  • 性能问题:如果页面中有大量这样的交互元素,可以考虑使用事件委托来优化性能。

通过以上方法,你可以实现两个div并排显示,并且内部的div可以弹出的效果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

div 环形排列_三个div如何并排

javascript-按圆形排列DIV元素(一)—- 分析 效果图: 一、分析图: 绿色边框内:外层的DIV元素,相对定位; 白色圆形框:辅助分析的想象形状; 白点:为白色圆形的圆心点,中心点,点o;...三、需求分析: 3.1 让这些黄色的DIV ,在同一个圆的圆周上排列 3.2 排列的方式是平均分布 四、原理分析: 要让DIV的排列,形成一个圆形,实质就是设置每个DIV的left值 和 TOP值 之间的关系...,让它们之间值的关系,按照圆形的规律去设值; 4.1 圆形的规律是什么?   ...o为顶点,以圆形半径为斜边,的直角三角形的两个直角边的值。...*index))*radius+dotTop}); }); }) 六 总结:   6.1 在涉及到曲线或弧线的时候,应该用角度或弧度去分析,找关联;   6.2 找关系或比例,让值和值之间是一个关系式

2.8K10
  • div在div中垂直居中水平居中(css如何让div水平居中)

    最近写网页经常需要将div在屏幕中居中显示,遂记录下几个常用的方法,都比较简单。...class="main"> MAIN div> 方法一: div使用绝对布局,设置margin:auto;并设置top、left、right、bottom的值相等即可....main{ text-align: center; /*让div内部文字居中*/ background-color: #fff; border-radius: 20px; width: 300px...margin: auto; position: absolute; top: 0; left: 0; right: 0; bottom: 0; } 效果如图: 方法二: 仍然是绝对布局,让left...和top都是50%,这在水平方向上让div的最左与屏幕的最左相距50%,垂直方向上一样,所以再用transform向左(上)平移它自己宽度(高度)的50%,也就达到居中效果了,效果图和上方相同。

    15K20

    前端入门4-CSS属性样式表声明正文-CSS属性样式表

    对于行内元素(inline),浏览器绘制时会忽略对它设置的宽高,并且如果相邻两个元素都是行内元素,则直接以并排方式从左到右对其进行布局绘制。...但对于块级元素,浏览器会强制让其霸占一整行,也就是这一行内,只能有这个块级元素存在,其他元素不能与其并排。如果没有设置宽度,那么就是充满整行。...然后它继续处理 div2 元素,因为之前处理的 div1 元素是浮动元素,不占用文档流,所以此时仍旧是在第一行左边绘制 div2 元素,发现它是一个块级元素,所以让其霸占一整行。...​ 这是因为多个浮动元素之间并排显示的前提的有足够的空间让这些元素并排,所以通常对于浮动元素的宽度设置是通过百分比来设置,确保多个并排的元素即使窗口发生变化仍旧可以并排布局。 ​...应用: 弹窗框 压盖(角标之类) fixed 固定定位 固定定位参考点就是浏览器的左上角,不管页面如何发生滑动,元素显示的位置都没有发生改变。

    1.6K30

    前端学习(13)~css学习(七):浮动

    也就是说: 此时这个div不能设置宽度、高度; 此时这个div可以和别人并排了。 举例如下: ?...现在有两个div,分别设置宽高。我们知道,它们的效果如下: ? 此时,如果给这两个div增加一个浮动属性,比如float: left;,效果如下: ? 这就达到了浮动的效果。...此时,两个元素并排了,并且两个元素都能够设置宽度、高度了(这在上一段的标准流中,不能实现)。 浮动想学好,一定要知道三个性质。接下来讲一讲。 性质1:浮动的元素脱标 脱标即脱离标准流。...而外墙法,虽然一道墙可以把两个div隔开,但是这两个div没有高,也就是说,无法wrap_content。...text-align: center; //让这个div内部的文本居中。

    91710

    ✍️【React巩固计划】写给自己的useEffect

    them only when certain values have changed.翻译一下大概就是useEffect默认会在函数组件运行并完成渲染后被触发传进来的effect函数,当然我们也可以让他只在某些值发生改变的情况下触发...effectreactjs.org/docs/hooks-…useEffect此Hooks拥有两个参数。...第一个参数为一个函数effect,在此函数内可以做一些渲染完成后的动作,同时也可以在内部return一个函数作为当前函数组件销毁时的清理函数类似,第二个为一个数组deps,当传递的数组为[]空时useEffect...>div>UserName: {profile && profile.userName || '-'}div>div>)}export default ChildrenA用于组件销毁时此处类似于...提供的Destructor在销毁时清理掉了Interval弹出了提示图片用于State或Props更新时由于State Props更新时触发effect的用法一致,所以就只拿state来作为例子,这里我们做了一个简单的计数器然后来监听计数器的每一次更新

    81570

    【数据结构和算法】--- 基于c语言排序算法的实现(2)

    一、交换排序 基本思想:所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置。交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。...那么具体是如何实现的呢?...若将两个有序表合并成一个有序表,称为二路归并。 归并排序核心步骤: 归并排序 动态演示: 2.1.1 递归版 递归版的归并排序,逻辑上与二叉树的后序遍历十分相似。...根据i确定好两待合并数组的首元素下标begin,尾元素下标end,然后将两个数组合并为一个,并排为升序。...,有这么两个问题值得思考: 对比栈实现快排的非递归,归并排序为什么不可以使用栈?

    11810

    CSS专题,熟练布局技巧,需知文档流

    空白折叠现象 1)标签与标签之间紧密连接,网页上两个内容也是紧密连接,中间没有空格。 2)标签与标签之间中间有一个空格,网页上两个内容之间也有一个空格的间隙。...文本级:p、span、a、b、i、u、em;容器级:div、h系列、li、dt、dd。...2)行内元素 与其他行内元素并排; 不能设置宽、高。默认的宽度,就是文字的宽度。...此时它和一个span无异, 此时这个div:不能设置宽度、高度;可以和别人并排了。 2. 行内元素可以设置成块级元素 语法为:display:block; “block”是“块”的意思。...让标签变为块级元素。此时这个标签,和一个div无异,此时这个span:能够设置宽度、高度;必须霸占一行了,别人无法和他并排;如果不设置宽度,将撑满父亲。

    78130

    第五节 关于浮动和清除浮动的解说,以及两个大坑不要踩

    1489389799684095860.png 接下来一个问题,我们已经给这个行内元素升级为行内块级元素了,如何让里面的字相对于这个span居中定位呢?...本来是一个p元素,当我在它里面放一个div元素的时候,一个p元素竟然被分成了两个,同学们,这样是不是很危险啊?...布局,我们一般就用table,或者div、span,加上css就可以了。p元素就是用来存放文字的,明白了吗? 4.惊!多个div元素为了并排显示,连这种事都干得出!...那么,有没有什么办法,让多个块级元素在同一行显示呢?当然是有的,我们可以采用浮动布局,也就是说,让这些div元素“飘起来”,注意哦,飘起来以后,有两个方向,一个是向左漂浮,另一个则是向右漂浮。...现在虽然并排显示了,可是后面的元素自动顶上来,是不是布局就乱了呀?所以,我们需要清楚浮动。到底什么叫做清楚浮动呢,其实很简单,一句话的事: 清除浮动就是给飞出去的元素填坑,好让后面的元素不顶过来。

    1.1K70

    【React巩固计划】写给自己的useEffect

    翻译一下大概就是useEffect默认会在函数组件运行并完成渲染后被触发传进来的effect函数,当然我们也可以让他只在某些值发生改变的情况下触发effecthttps://reactjs.org/docs.../hooks-reference.html#useeffect useEffect 此Hooks拥有两个参数。...第一个参数为一个函数effect,在此函数内可以做一些渲染完成后的动作,同时也可以在内部return一个函数作为当前函数组件销毁时的清理函数类似,第二个为一个数组deps,当传递的数组为[]空时useEffect...> div> Count: {count} div> div> ) }...export default ChildrenB 上述代码在useEffect被调用时创建了一个Interval 并在useEffect提供的Destructor在销毁时清理掉了Interval弹出了提示

    77820

    一步步实现静态页面布局

    本文内容概要: 1 CSS选择器 2 盒模型 3 浮动 4 页面布局案例 5 课后习题 上周我们详解的讲解了一个网站的开发流程以及如何使用标签来进行一个网页的布局操作,那本周的这篇文章我们主要与大家分享的是如何去实现我们网页的布局...class=“wrap">HTML5学堂div> 上周我们讲解了HTML标签,了解到块元素标签在页面中是默认一行展示的,倘若这时候我的页面中需要几个块元素标签并排放置,展示在同一行上,我们要怎么办...三、 浮动 1 什么是浮动 float中文就是指浮动,浮动通常是用在浮动布局上,我们通过CSS定义float让HMTL元素向左或者向右(靠)浮动。...2 为什么要浮动 每个div的特点处于同一行,而布局时常常需要将块并排进行布局,那么此时我们要实现模块并排的布局所以需要浮动。 3 浮动原理 我们就把页面中的一块区域比作水槽。...5 如何浮动 将我们需要的块设置float属性,如以下代码: .wrap div { float: left; //设置div向左边浮动,实现两个div并排展示

    2K100

    ​【金九银十】笔试通关 + 小学生都能学会的归并排序

    算法原理归并排序的主要步骤包括:分解:将待排序的数组或列表分割成两个大致相等的部分。解决:递归地对这两个部分进行归并排序,直到每个部分只包含一个元素(因为一个元素是自然有序的)。...合并:将两个已排序的部分合并成一个有序的部分。详细解释1. 分解初始时,将整个数组分为两个子数组。这个分解过程递归进行,直到每个子数组的长度为1。...首先将数组分成两个部分,左半部分和右半部分。递归排序:对每一部分进行归并排序。分解的过程一直进行,直到每个部分都包含一个元素或为空,这些部分自然有序。... div id="container">div> 开始排序 如何用

    8010

    ------排序----基本内容

    当gap > 1时都是预排序,目的是让数组更接近于有序。当gap == 1时,数组已经接近有序的了,这样就会很快。这样整体而言,可以达到优化的效果。我们实现后可以进行性能测试的对比。 3....稳定性:不稳定 2.3 交换排序 基本思想:所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动...,发现与二叉树前序遍历规则非常像,同学们在写递归框架时可想想二叉树前序遍历规则即可快速写出来,后序只需分析如何按照基准值来对区间中数据进行划分的方式即可。...稳定性:不稳定 2.4 归并排序 基本思想: 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide andConquer)的一个非常典型的应用...若将两个有序表合并成一个有序表,称为二路归并。 归并排序核心步骤: 归并排序的特性总结: 1. 归并的缺点在于需要O(N)的空间复杂度,归并排序的思考更多的是解决在磁盘中的外排序问题。 2.

    6010

    BuildAdmin19:如何使用el-popover弹出框,实现个人资料页面

    default插槽定义的就是弹出框内容,这里主要分为三个部分,从上而下是头像、名称、时间和两个功能按钮。功能按钮是用primary和danger两个类型的el-button实现的。...所以为了让其水平分布,这里使用flex弹性布局,使用 flex-direction 属性控制分布方向,这里row指的就是行分布。....,整体元素是从上到下分布,被包裹在 popover-content 这个div中,所以还是使用flex弹性布局列(column)分布,而两个按钮是左右分布,所以使用flex弹性布局的行(row)分布。....对于头像部分,可以使用v-bind绑定src,让用户上传头像到服务器,实现自定义头像。其中路由部分,包括路由动态加载和tab的跳转,如果想要了解这一部分的实现,需要参考之前的文章。...BuildAdmin05:如何玩转Vue路由动态加载BuildAdmin07:导航栏动态添加tabs,vue如何实现

    34710

    网站建设设置两个div div常见的布局方式

    div也就是division,是一种常用的HTML 网页当中的重要元素。主要作用是分割网页当中的文档。那么网站建设设置两个div 如何操作呢?...网站建设设置两个div 网站建设设置两个div 的方式和步骤可以参照以下内容。首先插入两个div 的标签,插入之后,创建一个长宽都是200px的标签,给它命名。...这时候看到了两个标签的位置是上下的,下一步就双击CSS 样式的其中一个标签,在CSS 的分类选项里面,将Float设置成为left,也就是向左边移动。这样就可以完成div 并排了。...div常见的布局方式 网站建设设置两个div 的步骤是非常简洁的,除此之外,div 还有其它几种常见的布局方式。第一种就是垂直排列,也就是标签是垂直平铺排列的,这也是一种最常见的网页布局格式。...以上就是网站建设设置两个div的相关内容,每一种div 布局方式的展现效果都是不同的,根据不同的网络效果来选择布局方式就可以。

    1.6K20
    领券