CSS3现状
1、浏览器支持程度差,需要添加私有前缀
-webkit-
-moz-
-ms-
2、移动端支持优于PC端
3、不断改进中
4、应用相对广泛
新增选择器
css3属性选择器
[attribute] [target] 选择所有带有target属性元素 2
[attribute=value] [target=-blank] 选择所有使用target="-blank"的元素 2
[attribute^=value] a[src^="https"] 选择每一个src属性的值以"https"开头的元素 3
[attribute$=value] a[src$=".pdf"] 选择每一个src属性的值以".pdf"结尾的元素 3
[attribute*=value] a[src*="runoob"] 选择每一个src属性的值包含子字符串"runoob"的元素
css3伪类选择器
:nth-child(n) p:nth-child(2) 选择每个p元素是其父级的第二个子元素 3
:nth-last-child(n) p:nth-last-child(2) 选择每个p元素的是其父级的第二个子元素,从最后一个子项计数 3
:nth-of-type(n) p:nth-of-type(2) 选择每个p元素是其父级的第二个p元素 3
:nth-last-of-type(n) p:nth-last-of-type(2) 选择每个p元素的是其父级的第二个p元素,从最后一个子项计数 3
:last-child p:last-child 指定只有选择每个p元素是其父级的最后一个子级。
:first-child p:first-child 指定只有当<p>元素是其父级的第一个子级的样式
CSS3伪元素选择器
:first-letter p:first-letter 选择每一个<P>元素的第一个字母或者第一个汉字 1
:first-line p:first-line 选择每一个<P>元素的第一行 1
2
:before p:before 在每个<p>元素之前插入内容 2
:after p:after 在每个<p>元素之后插入内容
CSS3 文本阴影
水平阴影,垂直阴影,模糊的距离,以及阴影的颜色
text-shadow: 5px 5px 5px #FF0000;
CSS3文本溢出
p.test1 {
//文本不换行
white-space: nowrap;
width: 200px;
border: 1px solid #000000;
//多余的部分隐藏掉
overflow: hidden;
//修剪文本。
text-overflow: clip;
}
css边界图片
border: 30px solid blue;
border-image:url(border.png) 30 30 round;
-webkit-border-image:url(border.png) 30 30 round; /* Safari 5 and older */
-o-border-image:url(border.png) 30 30 round; /* Opera */
css box-sizing属性
box-sizing:content-box 可以动态挤内容给padding (margin没法挤)
box-sizing: content-box|border-box|inherit:
css 调整尺寸
resize:both;//由用户调整大小
resize:none;//禁止用户调整大小
css禁用按钮
cursor: not-allowed;
css动画
按钮动画
鼠标移动到按钮上后添加箭头标记
.button {
display: inline-block;
border-radius: 4px;
background-color: #f4511e;
border: none;
color: #FFFFFF;
text-align: center;
font-size: 28px;
padding: 20px;
width: 200px;
transition: all 0.5s;
cursor: pointer;
margin: 5px;
}
.button span {
cursor: pointer;
display: inline-block;
position: relative;
transition: 0.5s;
}
.button span:after {
content: '»';
position: absolute;
opacity: 0;
top: 0;
right: -20px;
transition: 0.5s;
}
.button:hover span {
padding-right: 25px;
}
.button:hover span:after {
opacity: 1;
right: 0;
}点击时添加 "波纹" 效果
.button {
position: relative;
background-color: #4CAF50;
border: none;
font-size: 28px;
color: #FFFFFF;
padding: 20px;
width: 200px;
text-align: center;
-webkit-transition-duration: 0.4s; /* Safari */
transition-duration: 0.4s;
text-decoration: none;
overflow: hidden;
cursor: pointer;
}
.button:after {
content: "";
background: #90EE90;
display: block;
position: absolute;
padding-top: 300%;
padding-left: 350%;
margin-left: -20px!important;
margin-top: -120%;
opacity: 0;
transition: all 0.8s
}
.button:active:after {
padding: 0;
margin: 0;
opacity: 1;
transition: 0s
}
点击时添加 "压下" 效果
.button {
display: inline-block;
padding: 15px 25px;
font-size: 24px;
cursor: pointer;
text-align: center;
text-decoration: none;
outline: none;
color: #fff;
background-color: #4CAF50;
border: none;
border-radius: 15px;
box-shadow: 0 9px #999;
}
.button:hover {background-color: #3e8e41}
.button:active {
background-color: #3e8e41;
box-shadow: 0 5px #666;
transform: translateY(4px);
}