在网页中,元素有三种布局模型:
1、流动模型(Flow)
2、浮动模型 (Float)
3、层模型(Layer)
流动模型(Flow):此为默认样式
1,、块状元素在流动模型下是在包含元素内(比如父级div)从上至下垂直排列的,因为块元素的默认宽度是100%
2、内联元素在流动模型下是在包含元素内(比如一个p标签)从左向右水平排列的。比如a、span、em、strong都是内联元素
浮动模型(Float):默认情况下,块状元素都霸道的独占一行,即使把两个相邻元素的宽度之和设置的低于父元素宽度,也不能实现其并排显示。想要让两个元素粘在一起怎么办呢?设置元素浮动就可以啦~
向左浮动(float:left):块状元素会清除掉该元素默认100%宽度的属性,并贴近父元素的左边框。如果该父元素内有多个向左浮动的元素,则按顺序由左至右排列。
向右浮动(float:right):原理同向左浮动,方向相反。
层模型(Layer):其实这个是困惑俺很久的问题,一直向做一个浮动的回到顶部按钮。使用下面的样式就可以实现啦~
层模型就像photoshop里的图层一样,每一个图层都可以精确定位。定位方式分三种:
1、绝对定位(position: absolute):想为元素设置层模型中的绝对定位,需要设置position:absolute(表示绝对定位),这条语句的作用将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口。
2、相对定位(position: relative):想为元素设置层模型中的相对定位,需要设置position:relative(表示相对定位),它通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置。相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动。什么叫做偏移前的位置保留不动呢?就是在执行元素偏移后,偏移前的位置还保留不动,后续元素覆盖不了前面的div没有偏移前的位置
3、固定定位(position: fixed):fixed:表示固定定位,与absolute定位类型类似,但它的相对移动的坐标是视图(屏幕内的网页窗口)本身。由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响,这与background-attachment:fixed;属性功能相同。很多网站的右侧浮动条(比如说回到顶部!嘻嘻~)就是用到这个固定定位的功能。
喵~好好学习~看到平时百思不得其解的问题,得来全不废功夫,方知多看多学才是正途呀~
网友评论