课程:
- 1、css定位的层级是不是跟浮动的不一样啊
- 2、网页CSS元素浮动的层次顺序问题。
- 3、CSS布局浮动和定位属性的区别?
- 4、同一个div里的两个元素,为什么前面的用定位,后面的用浮动,浮动会被盖住,后面的用定位就可以出来?
- 5、CSS布局浮动(float)和定位(position)属性的区别和如何使用
css定位的层级是不是跟浮动的不一样啊
默认的情况下是流布局,就是一个接一个的排列,如果position用了absolute或fixed就会从流布局里面出来。如果是relative的话则任然占有流布局的位置
网页CSS元素浮动的层次顺序问题。
层级关系的布局有两种解决方法:
一种方法是使用标签的自然顺序和嵌套顺序来形成合理的布局。
而第一种方法却不是万能的,有时候我们需要将原本位于下层的元素移到另一个元素上方,那可以使用z-index;
当你定义的CSS中有position属性值为absolute、relative或fixed,
用z-index此取值方可生效。
此属性参数值越大,则被层叠在最上面。
例子:
html
head
style
.z1,.z2,.z3{position:absolute;width:200px;height:100px;padding:5px 10px;color:#fff;text-align:right;}
.z1{z-index:1;background:#000;}
.z2{z-index:2;top:30px;left:30px;background:#C00;}
.z3{z-index:3;top:60px;left:60px;background:#999;}
/style
/head
body
div class="c688-a8f1-f812-a80f z1"z-index:1/div
div class="a8f1-f812-a80f-335c z2"z-index:2/div
div class="f812-a80f-335c-45d2 z3"z-index:3/div
/body
/html
上面三个CSS,将根据z-index的值决定谁在最上层!
CSS布局浮动和定位属性的区别?
定位属性:position:这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏
值 描述
absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。
元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
fixed 生成绝对定位的元素,相对于浏览器窗口进行定位。
元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
relative 生成相对定位的元素,相对于其正常位置进行定位。
因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。
static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
inherit 规定应该从父元素继承 position 属性的值
==========================
浮动:float:
float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。
如果浮动非替换元素,则要指定一个明确的宽度;否则,它们会尽可能地窄。
注释:假如在一行之上只有极少的空间可供浮动元素,那么这个元素会跳至下一行,这个过程会持续到某一行拥有足够的空间为止。
值 描述
left 元素向左浮动。
right 元素向右浮动。
none 默认值。元素不浮动,并会显示在其在文本中出现的位置。
inherit 规定应该从父元素继承 float 属性的值。
====================
postion:relative是子块级元素面向父级元素的相对定位,定位关键字使用left/right/top/bottom。兄弟块元素之间相对进行定位,但是position移动后,原位置依然保留。而且随后的兄弟块元素定位基于被移走前的位置。
float:right/left是子块级元素流集合面向父级元素的定位,定位的关键词使用margin/padding。兄弟块元素之间进行相对的定位均基于移动后的新位置进行重新渲染,可以重叠,原位置被清空。
二者之中最大的差别就是位置保留。
再简而言之,float只是行内的 左右的改变,如果后面的元素不清楚浮动clear:both的话 会影响后面元素的位置,而positon定位的影响比较广,既能定义个容器的定位也能定义一个容器里的任意定位,而不是像float一样处于一个平面级的,它是可认识改变的。尤其是position:absolute;和fixed2个都是固定任意位置,一个不随页面滚动而改变原来位置,一个随页面滚动而改变但相对位置不改变。
同一个div里的两个元素,为什么前面的用定位,后面的用浮动,浮动会被盖住,后面的用定位就可以出来?
absolute是浮动层,浮动层位于普通层之上,所以K3没有浮动时会被K2盖住。如果需要像你说的那样K3去掉浮动还能显示就需要通过z-index设置浮动层的叠加位置,把K2的z-index设置成-1就会显示K3了(普通层的z-index相当于0,设置成-1就把K2放在K3下面了)
跟float:left就没有关系,float:left只是表示这个层靠左.显不显示只跟absolute和z-index有关
CSS布局浮动(float)和定位(position)属性的区别和如何使用
今天看到有朋友留言问浮动和定位有什么区别,如何使用?今天找了篇文章,讲的比较通俗易懂,供大家参考postion:relative是子块级元素面向父级元素的相对定位,定位关键字使用left/right/top/bottom。兄弟块元素之间相对进行定位,但是position移动后,原位置依然保留。而且随后的兄弟块元素定位基于被移走前的位置。float:right/left是子块级元素流集合面向父级元素的定位,定位的关键词使用margin/padding。兄弟块元素之间进行相对的定位均基于移动后的新位置进行重新渲染,可以重叠,原位置被清空。二者之中最大的差别就是位置保留。人们也就利用这种差异,可以做出CSS代码的滑动门菜单。hover时取当前元素为保留位置,定义一个relative时,没有hover时使用float清空保留位置。比较示例中的3个样式表,就可以发现:!--style *{border:1px solid #eee;} body{ border-color:#09f; } ul{list-style:none;width:800px;height:600px;margin:0 auto;padding:10px;} li{float:left;} #li1{width:200px;height:200px;border-color:red;} #li2{width:200px;height:150px;border-color:green;margin-left:-20px;} #li3{width:200px;height:100px;border-color:blue;margin-left:-20px;} /style-- !--style *{border:1px solid #eee;} body{ border-color:#09f; } ul{list-style:none;width:800px;height:600px;margin:0 auto;} li{position:relative;} #li1{width:200px;height:200px;border-color:red;top:10px;} #li2{width:200px;height:150px;border-color:green;top:-192px;left:180px;} #li3{width:200px;height:100px;border-color:blue;top:-344px;left:360px;} /style-- style *{border:1px solid #eee;} body{ border-color:#09f; } #ul{list-style:none;width:800px;height:600px;margin:0 auto;padding:20px;} #li1{width:200px;height:200px;border-color:red;position:relative;} #li2{width:200px;height:150px;border-color:green;float:left;margin-left:-20px;margin-top:-202px;} #li3{width:200px;height:100px;border-color:blue;float:left;margin-left:20px;margin-top:-202px;} /style ul id=#id li id=li1li1/li li id=li2li2/li li id=li3li3/li /ul 提示:可以先修改部分代码后再运行 (如果您觉得本站不错,请告诉身边的朋友,或转载到论坛、百度知道、贴吧等,记得带网址哟,不胜感激!) 〖DIV+CSS教程〗Tags:floatposition浮动绝对定位相对定位