CSS如何控制 2个div 的 部分 重叠在一起 并将其中一个div的内容固定显示在上层

html-css06

CSS如何控制 2个div 的 部分 重叠在一起 并将其中一个div的内容固定显示在上层,第1张

重叠在一起需要改变默认的布局方式,将其中一个显示在上层需要设置深度顺序,这两点分别用如下样式完成

position: absolute /*设置为绝对定位*/

z-index:999        /*设置重叠的上下次序,值越大月在上方*/

示例如下

创建Html元素

<div class="top">

<div class="b">我是绝对定位,并且重叠在上方</div>

<div class="a">我是默认定位</div>

</div>

设置css样式

div.top{margin:50pxpadding:20pxwidth:200pxheight:200pxborder:2px dashed #ebbcbe}

div.top div{width:100pxheight:100pxpadding:10pxcolor:white}

div.a{background:red}

div.b{background:greenposition:absolutetop:100pxleft:100pxz-index:999}

观察显示效果

很明显的你用的不是IE6 IE6下这段代码是不会重叠的

ff 和 Chrome 浏览器 都会有你这个效果,

这个只是不同浏览器的兼容不同而已,你问为什么为兼容不同 可以去问开发者。

这个也没什么好解释的,就好像一直用Chrome 的人他回认为这个就是理所当然的,为2个容器设置float。 当它突然有一天用IE6 测试的时候就会发现只在 #left 这里设置了float 就不会重叠了,然后他就搞不明白 为什么 会这样,为什么不重叠呢。

css层叠图片代码:

<pre name="code" class="html"><div style="position: relative">//这个层为外面的父层,只需设置相对位置样式即可

<div style="position: absolute">//这个为里面要叠加的层,只需设置绝对样式

<img src="img/sunshuai.jpg"/>//这个为层里面的内容图片

</div>

<img src="20110110/871_129391305700000000.jpg"/>//这个为父层内容

</div>

或者:

<div style="position:absolutez-index:1left:10pxtop:10px">

<img src="a.gif" width="100" height="100"></div>

<div style="position:absolutez-index:2left:60pxtop:60px">

<img src="b.gif" width="100" height="100"></div>

扩展资料:

CSS 中重要的叠加层叠概念:

1. 层叠上下文 (Stacking Context)

层叠上下文 (堆叠上下文, Stacking

2. 层叠等级 (Stacking Level)

层叠等级 (层叠水平, Stacking Level) 决定了同一个层叠上下文中元素在z轴上的显示顺序的概念,普通元素的层叠等级优先由其所在的层叠上下文决定。层叠等级的比较只有在同一个层叠上下文元素中才有意义。

在同一个层叠上下文中,层叠等级描述定义的是该层叠上下文中的元素在Z轴上的上下顺序。

3. 层叠顺序 (Stacking Order)

层叠顺序 (层叠次序, 堆叠顺序, Stacking Order) 描述的是元素在同一个层叠上下文中的顺序规则,从层叠的底部开始,共有七种层叠顺序:

(1)背景和边框:形成层叠上下文的元素的背景和边框。

(2)负z-index值:层叠上下文内有着负z-index值的定位子元素,负的越大层叠等级越低;

(3)块级盒:文档流中块级、非定位子元素;

(4)浮动盒:非定位浮动元素;

(5)行内盒:文档流中行内、非定位子元素;

(6)z-index: 0:z-index为0或auto的定位元素, 这些元素形成了新的层叠上下文;

(7)正z-index值:z-index 为正的定位元素,正的越大层叠等级越高;

同一个层叠顺序的元素按照在HTML里出现的顺序层叠;第7级顺序的元素会显示在之前顺序元素的上方,也就是看起来覆盖了更低级的元素。

参考资料来源:百度百科-css