通常处理
文字添加渐变效果
background:linear-gradient(to right,#f00,#fa0);
-webkit-background-clip: text;
color: transparent;
上下margin重合问题
在重合元素外包裹一层容器,并触发该容器生成一个BFC。
<div class="aside"></div>
<div class="text">
<div class="main"></div>
</div>
.aside {
margin-bottom: 100px;
width: 100px;
height: 150px;
background: #f66;
}
.main {
margin-top: 100px;
height: 200px;
background: #fcc;
}
.text{
/*盒子main的外面包一个div,
通过改变此div的属性使两个盒子分属于两个不同的BFC,以此来阻止margin重叠*/
overflow: hidden; //此时已经触发了BFC属性。
}
浮动元素、绝对定位元素,'display' 特性为 "inline-block","table-cell", "table-caption" 的元素,'overflow' 不是 "visible" 的元素,会创建新的 BFC(Block formatting contexts)。
简单来说,BFC就是一个独立不干扰外界也不受外界干扰的盒子啊
清楚浮动方式
- 父级div定义height
- 最后一个浮动元素后加空div标签 并添加样式clear:both。
- 包含浮动元素的父标签添加样式overflow为hidden或auto。
- 父级div定义zoom
媒体查询
-
head link方式
<head>
<link rel=”stylesheet” type=”text/css” href=”xxx.css”
media=”only screen and (max-device-width:480px)”>
...
-
css方式
@media only screen and (max-device-width:480px) {
...
}
line-height
行高是指一行文字的高度,具体说是两行文字间基线的距离。CSS中起高度作用的是height和line-height,没有定义height属性,最终其表现作用一定是line-height。
- 单行文本垂直居中:把line-height值设置为height一样大小的值可以实现单行文字的垂直居中,其实也可以把height删除。
- 多行文本垂直居中:需要设置display属性为inline-block。
Chrome支持小于12px 的文字
p {
font-size:10px;
-webkit-transform:scale(0.8); //0.8是缩放比例
}
CSS3新特性
- RGBA和透明度
- background-image background-origin(content-box/padding-box/border-box) background-size background-repeat
- word-wrap(对长的不可分割单词换行)word-wrap:break-word
- 文字阴影:text-shadow: 5px 5px 5px #FF0000;(水平阴影,垂直阴影,模糊距离,阴影颜色)
- font-face属性:定义自己的字体
- 圆角(边框半径):border-radius 属性用于创建圆角
- 边框图片:border-image: url(border.png) 30 30 round
- 盒阴影:box-shadow: 10px 10px 5px #888888
- 媒体查询:定义两套css,当浏览器的尺寸变化时会采用不同的属性