叠加的五条叠加法则.doc_第1页
叠加的五条叠加法则.doc_第2页
叠加的五条叠加法则.doc_第3页
叠加的五条叠加法则.doc_第4页
叠加的五条叠加法则.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

叠加的五条叠加法则参与测试的浏览器:IE6 / IE7 / IE8 / FF3 / OP9.6 / SF3 / Chrome2 操作系统:Windows貌似很多同学对为什么这个div在上层,那个div在下层、无论如何设置z-index都无法居上的问题纠结抓狂、上吐下泻、恶心失眠、郁郁而终,致使不敢随意使用层的叠加。但层的叠加效果,在交互设计中却频频出现,所以我们必须驾驭它,要驾驭它,就要掌握其规律。首先明确几点在文中所需要用到的概念:1. 静态定位:position:static(为position属性的默认值)。 2. 动态定位:position:relative或position:absolute或position:fixed。 3. 祖元素:任意包含该元素的元素。 4. 父元素:直接包含该元素的祖元素。 5. 同辈元素:拥有共同的父元素的元素。注:这些概念为作者自定义,仅用于本文。引用:关于同辈元素是个非常关键的词,这里还需要详细解释一下。 在这个例子中,div#a与div#b并不是“同辈元素”,只有像div#b和div#c这样拥有同样父体div#f的的元素才能叫“同辈元素”。引用结束接下来看看这五条法则:法则一:同辈元素定位方式相同,且无z-index设置时,html靠后者居上。法则一:同辈元素定位方式相同,且无z-index设置时,html靠后者居上。div font:12px/1.5 arial;div strong color:#fff; background:#036; display:inline-block;h3 strong color:#f00;/*- 定义方块外形 -*/.div1,.div2 height:70px;width:150px;background:#cff;border:1px solid #036;.grandDiv1,.grandDiv2 padding:10px;border:1px solid #060;width:174px;background:#cf9;.parentDiv1,.parentDiv2 padding:10px;border:1px solid #f06;width:152px;background:#fcf;/*- 定义方块偏移位置、文字位置 -*/.grandDiv2 margin-top:-50px;margin-left:95px;.parentDiv2 margin-top:-40px;margin-left:85px;.div2 margin-top:-20px;margin-left:75px;padding-top:30px;height:40px;.grandDiv2 .parentDiv2,.grandDiv2 .div2,.parentDiv2 .div2 margin:0;法则一:同辈元素定位方式相同,且无z-index设置时,html靠后者居上。.div1position:static.div2position.static.div1position.relative.div2position.absolute法则二:同辈元素同为动态定位时,且有z-index设置时,z-index值大者居上。 法则二:同辈元素同为动态定位时,且有z-index设置时,z-index值大者居上。 div font:12px/1.5 arial; div strong color:#fff; background:#036; display:inline-block; h3 strong color:#f00; /*- 定义方块外形 -*/ .div1, .div2 height:70px; width:150px; background:#cff; border:1px solid #036; .grandDiv1, .grandDiv2 padding:10px; border:1px solid #060; width:174px; background:#cf9; .parentDiv1, .parentDiv2 padding:10px; border:1px solid #f06; width:152px; background:#fcf; /*- 定义方块偏移位置、文字位置 -*/ .grandDiv2 margin-top:-50px; margin-left:95px; .parentDiv2 margin-top:-40px; margin-left:85px; .div2 margin-top:-20px; margin-left:75px; padding-top:30px; height:40px; .grandDiv2 .parentDiv2, .grandDiv2 .div2, .parentDiv2 .div2 margin:0; 法则二:同辈元素同为动态定位时,且有z-index设置时,z-index值大者居上。 .div1position.relative;z-index:2 .div2position.relative;z-index:1 法则三:同辈元素定位方式不同时,动态定位居上。 法则三:同辈元素定位方式不同时,动态定位居上。 div font:12px/1.5 arial; div strong color:#fff; background:#036; display:inline-block; h3 strong color:#f00; /*- 定义方块外形 -*/ .div1, .div2 height:70px; width:150px; background:#cff; border:1px solid #036; .grandDiv1, .grandDiv2 padding:10px; border:1px solid #060; width:174px; background:#cf9; .parentDiv1, .parentDiv2 padding:10px; border:1px solid #f06; width:152px; background:#fcf; /*- 定义方块偏移位置、文字位置 -*/ .grandDiv2 margin-top:-50px; margin-left:95px; .parentDiv2 margin-top:-40px; margin-left:85px; .div2 margin-top:-20px; margin-left:75px; padding-top:30px; height:40px; .grandDiv2 .parentDiv2, .grandDiv2 .div2, .parentDiv2 .div2 margin:0; 法则三:同辈元素定位方式不同时,动态定位居上。 .div1position.relative .div2position.static .div1position.static .div2position:absolute 法则四:非同辈元素,任意一者及其祖元素不具备动态布局时,html靠后者居上。 法则四:非同辈元素,任意一者及其祖元素不具备动态布局时,html靠后者居上。 div font:12px/1.5 arial; div strong color:#fff; background:#036; display:inline-block; h3 strong color:#f00; /*- 定义方块外形 -*/ .div1, .div2 height:70px; width:150px; background:#cff; border:1px solid #036; .grandDiv1, .grandDiv2 padding:10px; border:1px solid #060; width:174px; background:#cf9; .parentDiv1, .parentDiv2 padding:10px; border:1px solid #f06; width:152px; background:#fcf; /*- 定义方块偏移位置、文字位置 -*/ .grandDiv2 margin-top:-50px; margin-left:95px; .parentDiv2 margin-top:-40px; margin-left:85px; .div2 margin-top:-20px; margin-left:75px; padding-top:30px; height:40px; .grandDiv2 .parentDiv2, .grandDiv2 .div2, .parentDiv2 .div2 margin:0; 法则四:非同辈元素,任意一者及其祖元素不具备动态布局时,html靠后者居上。 .parentDiv1position:staitc .div1position:staitc .div2position:staitc .parentDiv2position:staitc .grandDiv1position:staitc .parentDiv1position:staitc .div1position:staitc .div2position:staitc .parentDiv2position:staitc; .grandDiv2position:static; 法则五:【重要】非同辈元素,任意一者或其祖元素拥有动态定位时,同时各自向上寻找动态定位的祖元素,并分别从中拿出具备最高级别的祖元素(或其本身)进行比较。情况1:子元素的z-index无论多大,父元素大者居上。情况2:父元素居下,子元素也可以居上。情况1、情况2结合扩展比较。 法则五:非同辈元素,任意一者或其祖元素拥有动态定位时,同时各自向上寻找动态定位的祖元素,并分别从中拿出具备最高级别的祖元素(或其本身)进行比较。 div font:12px/1.5 arial; div strong color:#fff; background:#036; display:inline-block; h3 strong color:#f00; /*- 定义方块外形 -*/ .div1, .div2 height:70px; width:150px; background:#cff; border:1px solid #036; .grandDiv1, .grandDiv2 padding:10px; border:1px solid #060; width:174px; background:#cf9; .parentDiv1, .parentDiv2 padding:10px; border:1px solid #f06; width:152px; background:#fcf; /*- 定义方块偏移位置、文字位置 -*/ .grandDiv2 margin-top:-50px; margin-left:95px; .parentDiv2 margin-top:-40px; margin-left:85px; .div2 margin-top:-20px; margin-left:75px; padding-top:30px; height:40px; .grandDiv2 .parentDiv2, .grandDiv2 .div2, .parentDiv2 .div2 margin:0; 法则五(重要):非同辈元素,任意一者或其祖元素拥有动态定位时,同时各自向上寻找动态定位的祖元素至共有的祖元素的下一级为止,并分别从中拿出具备最高级别的祖元素(或其本身)进行比较。 情况1:子元素的z-index无论多大,父元素大者居上。 .parentDiv1position:relative;z-index:2 .div1position:static .div2position:relative;z-index:10000 .parentDiv2position:relative;z-index:1 情况2:父元素居下,子元素也可以居上。 .parentDiv1position:staitc .div1position:relative .div2position:staitc .parentDiv2position:staitc 情况1、情况2结合扩展比较。 .grandDiv1position:relative;z-index:3 .parentDiv1position:staitc .div1position:relative;z-index:10000 .div2position:staitc .parentDiv2position:relative;z-index:4 .grandDiv2position:static; 引用:其实前四点都是基础,只有第五点比较难于理解,这里详细解释一下:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论