1.让元素在容器中水平居中
- 内联的元素,内联的块, inline inline-block
实现:给父容器加 text-align:center
- 块元素水平居中
实现:给当前元素加 #box{ margin:0 auto}
注:针对的都是水平操作,垂直后续讲。
2. 规范
- 固定嵌套规则:
ul、li、ol、li
dl、dt、dd
table、tr、thead、tfoot
tr、td、th
限制嵌套规则
…
等标签不允许嵌套任何块标签
标签不允许嵌套标签
块标签允许嵌套内联标签,内联标签不允许嵌套块标签。3. CSS雪碧图
好处:
请求次数少,性能好
- 图片的质量小,性能好,请求快
4. 最小和最大宽高
min-height min-width
max-height max-width
width height
5. 添加省略号
white-space:nowrap; 让文字不折行
overflow:hidden;
text-overflow:ellipsis; 添加省略号
多行:hack写法
display:-webkit-box;
-webkit-box-orient:vertical;
-webkit-line-clamp:3;
overflow: hidden;
6. 浮动
脱离文档流
float:left; 左浮动:会沿着父容器靠左排列,如果之前有浮动的元素会挨着之前的浮动元素进行左排列。
float:right;右浮动:会沿着父容器靠右排列,如果之前有浮动的元素会挨着之前的浮动元素进行右排列。
float:none(默认)
注:
- 只会影响后面的元素
- 浮动对内容默认提升半层
- 默认宽根据内容确定 (块和内联都可以浮动,块浮动后如果没有写宽就不再继承父容器的宽,由内容撑开。)
- 父容器如果放不下了,就换行排列
7. 清除浮动
不想让浮动影响到元素
clear属性: 在正常文档流下 left、 right、 both 左右都清除
嵌套的时候,很容易出现浮动的问题,一定要解决这个问题
要实现,子容器浮动不影响父容器:
解决嵌套的浮动问题:
- 固定宽高:高度固定,不宜扩展自适应高
- 父元素浮动:会影响后面的布局
- overflow:hidden
BFC规范实现的 , 不适合做那种需要溢出的效果
display : inline-block
BFC规范实现的 , 会影响到默认的排列方式
设置空标签 :
问题:会多写一个标签,结构不够简化。
- after伪类
:after{} : 往容器的最后添加一些文本
:before{} 往容器的前面添加一些文本
注:添加元素通过 content : ‘值’,填进来的是一个内联元素。
注:clear:both;能生效的话,必须是一个块元素。
清除浮动最优的方案:after伪类的方式
inline inline-block都还可以让元素左右排列,不适合做布局。