CSS教程:网页布局定位及z-index解释

2016-02-19 23:23 11 1 收藏

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享CSS教程:网页布局定位及z-index解释,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。

【 tulaoshi.com - Web开发 】

声明

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

定位元素:
position属性值设置除默认值static以外的元素,包括relative,absolute,fixed。
平台:win/IE win/FF

z-index

用来确定定位元素在垂直于显示屏方向(以下称为Z轴)上的层叠顺序

值:auto | 整数 | inherit
默认:auto
适用于:定位元素
继承性:no

理解stacking context

每个box都归属于一个stacking context,它是元素在z轴方向上定位的参考。根元素形成 root stacking context,其他stacking context由定位元素设置z-index为非auto时产生。如#div1{position:relative;z-index:0;}即可使 id=div1的元素产生stacking context。stacking context和 containing block 并没有必然联系。

理解stack level

在一个stacking context中的每个box,都有一个stack level(即层叠级别,以下统一用stack level),它决定着在同一stacking context中每个box在z轴上的显示顺序。同一stacking context中,stack level值大的显示在上,stack level值小的显示在下,同一stack level的遵循后来居上的原则(back-to-front )。不同stacking context中,元素显示顺序以父级的stacking context的stack level来决定显示的先后情况。于自身stack level无关。注意stack level和z-index并不是统一概念。(将在后文慢慢理解)

stack level规则

每个stacking context中可包含块级(block)元素、内联(行内inline)元素,还有设置float属性的元素、定位元素等等他们在同一父级 stacking context中的显示顺序是怎样的?即stack level是怎样的呢?比如一个块级元素和内联元素发生层叠的话谁会在上面呢?是不是谁在后面谁就在上面呢?

根据w3c关于 stack level 的介绍可以得出以下stack level规则

每个stacking context都包括以下stack level (后来居上):

父级stacking context的背景、边界 z-index值为负值的定位元素(值越小越在下) 文本流中非定位的、block块级子元素 文本流中非定位的、float浮动子元素 仿佛能产生stacking context的inline元素
否则,inline元素的stack level将在block元素之前。 z-index:auto/0的定位元素 z-index值为正的定位元素(值越大越在上)

以上stack level在浏览器执行情况

firefox3.0下测试完全吻合,firefox2.0下稍有不同即:z-index值为负值的定位元素在父级stacking context的背景、边界之前。
ie6.0和7.0中:inline元素的stack level位于block元素之前,且文本流中非定位的、float浮动子元素(以下简称浮动元素)和文本流中非定位的、block块级子元素(以下简称block元素)处于同一级。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

来源:https://www.tulaoshi.com/n/20160219/1629813.html

延伸阅读
标签: Web开发
CSS 定位 (Positioning) 属性允许你对元素进行定位。 CSS 定位和浮动 CSS 为定位和浮动提供了一些属性,利用这些属性,可以建立列式布局,将布局的一部分与另一部分重叠,还可以完成多年来通常需要使用多个表格才能完成的任务。 定位的基本思想很简单,它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素、另一个元素...
标签: Web开发
通过上一章的学习,读者了解到了CSS强大的表现控制功能,特别是在布局方面有很大的优势。相对于代码条理混乱、样式杂糅在结构中的表格布局,CSS将带来全新的布局方法,让网页设计师更轻松、更自由。本章通过多个示例展示CSS布局网页的方法,并对CSS的盒模型作详细阐述。相信读者在深入理解盒模型后,布局网页、定位CSS网页元素将更加自如。 ...
标签: Web开发
链接1 链接1 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
标签: Web开发
注:在做这节教程的时候,我又上网查了相关资料,看了大量的文章,做了大量的测试,最后总结出下面这些文字,洋洋洒洒一整篇,不过需要大家一句话一句话的看,一定要仔细喽!还有对于课程中的说的,最好一边看,一边练,不练绝对看不懂! 定位(position) 布局页面说容易非常容易,只需要记住这节课最后一句话就可以了,说困难,那是相当的...
标签: Web开发
在CSS中,实现分栏布局有两种方法。第一种方法是使用四种CSS定位选项(absolute 、static、relative和fixed)中的绝对定位(absolute positioning),它可以将文档中的某个元素从其原本位置上移除,并重新定位在期望的任何地点之上。第二种则是使用CSS中的浮动(float)概念。 绝对定位或浮动都能够用来实现分栏效果。二者可以独立使用,也...

经验教程

939

收藏

60
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部