文章插图
01、CSS布局1.1、正常布局流(Normal flow)正常布局流 就是不做任何布局控制 , 按照HTML的顺序(从左到右 , 从上而下)进行布局排列 。网页基于盒子模型进行正常的布局 , 主要特点:
- 盒子布局:单个内容的布局 , 把内容放入盒子 , 加上盒子三件套(padding、boder、margin) 。
- 块盒子纵向布局:块级元素单独一行 , 按照顺序垂直排列 , 并按其margin分离 。
- 内联盒子水平布局:内联元素会在一行水平排列 , 高度、宽度都取决于内容 , 直到空间不足另起一行(换行) 。高矮不齐 , 底部对齐 。
- 边距折叠:垂直相邻元素的垂直
margin
会保留最大的那一个 , 就是盒子的外边距折叠 。 - 空白折叠:无论多少个连续空格、换行、tab , 都会折叠为一个空格 。
标准布局总是这样从左到右、从上而下的顺序排列 。但当我们要实现一些特殊的的布局效果时就没法了 , 这时的办法就是 —— 脱离文档流 。
- 还有一种混合型“行内块元素”属于行内元素的一种 , 和其他元素在一行 , 但元素的高、宽、外边距都可以设置 , 如
button
、img
、input
。- 通过CSS样式的
display
属性可以更改元素的布局类型 , 如可设置<a>
为一个块元素布局display: block;
脱离文档流 , 就是从正常文档流中移除 , 文档流布局就不考虑他了 , 也就不会占用空间 。基本上可以这样理解 , 当然也不是绝对就没人管了 , 他的父容器还是管的 , 至于怎么管看《格式化上下文》 。
常用的脱离文档流的方式:
float
、position
- float浮动 , 会使元素脱离文档流 , 移动到容器左/右边 , 后面元素会围绕浮动元素 。
- position定位 , 绝对定位(absolute)、固定定位(fixed) , 会使元素脱离文档流 , 空出来的位置被后续元素代替 , 所以会出现和其他元素重叠的问题 。
display
的值 , 这个属性允许我们更改默认的显示方式 。display
用来设置多种布局方式 , 可让不同元素类型(行、块元素)转换 。属性/值描述display设置元素显示类型 , 包括下面这些枚举值?none元素隐藏不显示 , 不占据空间、无交互 , 常用于隐藏元素?block此元素将显示为块级元素?inline内联 , 此元素会被显示为内联元素?inline-block行内块元素(CSS2.1) , 介于内联和块之间 , 除了不换行 , 高宽、盒子三件套都有效 。常用
经验总结扩展阅读
- 简易版 纯css爱心代码-最近超级火的打火机与公主裙中的爱心代码
- CSS选择器大全48式
- 常用CSS样式属性
- 现代 CSS 指南 -- at-rule 规则扫盲
- 新房装修室内风水如何布局 新房装修有哪些风水讲究
- CSS基础知识筑基
- CSS 动画一站式指南
- 为什么CSS中的calc函数可能会不生效?
- day03-CSS
- CSS 渐变锯齿消失术