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都还可以让元素左右排列,不适合做布局。 
