1、流动布局(html网页默认的布局方式)
特点:
1、块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%。
2、内联元素都会在所处的包含元素内从左到右水平分布显示。(内联元素可不像块状元素这么霸道独占一行)
2、浮动布局(float)
特点:默认布局下,块状元素独占一行,如果现在我们想让两个块状元素并排显示。就需要使用float来实现。
如下
div{
width:200px;
height:200px;
border:2px red solid;
float:right;
}
3、层模型
特点:如果我想一个div在另外一个div的上面,我们就需要可以使用绝对定位来完成,层模型的三种定位方式relative、absolute、fixed
absolute
需要设置position:absolute(表示绝对定位),这条语句的作用将元素从文档流中拖出来,
然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。
如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口。
元素在没有定义宽度的情况下,宽度由元素里面的内容决定,效果和用float方法一样。
relative
如果想为元素设置层模型中的相对定位,需要设置position:relative(表示相对定位),
它通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置。
相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),
然后相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动。
fixed
生成绝对定位的元素,相对于浏览器窗口进行定位。
元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响,
这与background-attachment:fixed?属性功能相同。
注意
z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。
在使用z-index属性的时候,只有元素使用了position属性的,才具有z-index属性。没有使用position的属性的元素是没有z-index属性的,设置了也没有用
参考:https://blog.csdn.net/superman__007/article/details/77951401