1、如果子元素全部设置为浮动,则父元素是塌陷的
- 在元素末尾加块级空元素设置clear:both;
1 | .last { |
- 在父级容器设置before/after模拟一个块级空元素
1 | .clearfix:after { |
- 父级容器直接设置overflow: auto/hidden;
2、普通文档流中块级垂直外边距合并
解决办法:用padding代替,或改成inline-block,或改成float,或绝对定位
3、使用transition闪屏
1 | .demo { |
过渡动画在没有启动硬件加速的情况下,会出现抖动现象,解决方案:用translated3d、translateZ、transform自动启动硬件加速,即改为:
1 | .demo { |
ps:硬件加速导致cpu性能占用增加,电池电量消耗加大
4、超出内容用”…”表示
1 | <div class="line-clamp"> |
1 | .line-clamp { |
说明:
- -webkit-line-clamp用来限制在一个块元素显示的文本的行数
- display: -webkit-box; 必须结合的属性 ,将对象作为弹性伸缩盒子模型显示
- -webkit-box-orient 必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式
缺点:
只有移动端和webkit浏览器支持
还不够,最后末尾最好有点渐变到”…”
1 | .line-clamp { |
说明:
- 将height设置为line-height整数倍,防止超出文字露出
- ie10+才支持linear-gradient属性
缺点:
当文字少于区域大小时,也会出现省略号
输入框placeholder文字带颜色
1 | input::-webkit-input-placeholder { |