
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
1.盒子布局
盒子模型是CSS比较重要的一个概念,也是CSS 布局的基石。
常见的盒子模型有块级盒子(block)和行内盒子(inline-block),与盒子相关的几个属性有:margin、border、padding和content
等,这些属性的作用是设置盒子与盒子之间的关系以及盒子与内容之间的关系。其中,只有普通文档流中块级盒子的垂直外边距才会发生合并,而行内盒子、浮动盒子或绝对定位之间的外边距不会合并。另外,box-sizing
属性的设置会影响盒子width和height的计算。
2.浮动布局
设置元素的 float 属性值为 left 或
right,就能使该元素脱离普通文档流,向左或向右浮动。一般在做宫格布局时会用到,如果子元素全部设置为浮动,则父元素是塌陷的,这时就需要清除浮动,清除浮动的方法也很多,常用的方法是在元素末尾加空元素设置clear:both,
更高级一点的就给父容器设置before/after来模拟一个空元素,还可以直接设置overflow属性为auto/hidden来清除浮动。除浮动可以实现宫格布局,行内盒子(inline-block)和table也可以实现同样的效果。
3.定位布局
设置元素的position属性值为 relative/absolute/fixed,就可以使该元素脱离文档流,并以某种参照坐标进行偏移。其中,releave
是相对定位,它以自己原来的位置进行偏移,偏移后,原来的空间不会被其他元素占用;absolute
是绝对定位,它以离自己最近的定位父容器作为参照进行偏移;为了对某个元素进行定位,常用的方式就是设置父容器的poistion:relative,因为相对定位元素在不设置
top 和 left 值时,不会对元素位置产生影响;fixed
即固定定位,它则以浏览器窗口为参照物,PC网页底部悬停的banner一般都可以通过fixed定位来实现,但fixed属性在移动端有兼容性问题,因此不推荐使用,可替代的方案是:绝对定位+内部滚动。
4.弹性布局
弹性布局即Flex布局,定义了flex的容器一个可伸缩容器,首先容器本身会根据容器中的元素动态设置自身大小;然后当Flex容器被应用一个大小时(width和height),将会自动调整容器中的元素适应新大小。Flex容器也可以设置伸缩比例和固定宽度,还可以设置容器中元素的排列方向(横向和纵向)和是否支持元素的自动换行。有了这个神器,做页面布局的可以方便很多了。注意,设为Flex布局以后,子元素的float、clear和vertical-align