CSS 用于控制网页的样式和布局,而 CSS3 是最新的 CSS 标准,这篇文章将着重介绍 CSS3 中出现的新特性,以及它们的使用方法
可以使用 border-radius 属性用于创建圆角边框,其接受长度值作为参数,一般情况下,我们需要指定 4 个值分别对应 top-left、top-right、bottom-right、bottom-left 四个方向,但是运用 值赋值 的机制,允许我们可以指定少于 4 个值
其规则如下:
也就是说:
如果希望为某一方向单独创建圆角边框,则可以使用 border-top-left-radius、border-top-right-radius、border-bottom-right-radius、border-bottom-left-radius 分别设置
div {
text-align:center;
color:#000000;
background-color:#dddddd;
padding:10px 40px;
width:350px;
height:20px;
border:2px solid #a1a1a1;
border-radius:25px;
}
可以使用 box-shadow 属性向边框添加一个或多个阴影,该属性是由逗号分隔的阴影列表,每个阴影由 2-4 个长度值、可选的颜色值以及可选的 inset 关键词来规定,省略长度的值是 0
div {
width:350px;
height:100px;
background-color:#87CEEB;
box-shadow: 10px 10px 5px #888888; /* h-shadow v-shadow blur color */
}
可以使用 border-image 属性利用图片创建边框,它是一个简写属性,用于设置以下的属性:
div {
border:10px solid transparent; /* 必须设置 border 属性,否则默认无边框 */
width:350px;
height:20px;
padding:10px 20px;
-webkit-border-image:url(......) 30 30 round; /* Safari and Chrome */
-moz-border-image:url(......) 30 30 round; /* Old Firefox */
-o-border-image:url(......) 30 30 round; /* Opera */
/* Internet Explorer 不支持 border-image 属性 */
border-image:url(......) 30 30 round;
}
可以使用 background-size 属性规定背景图片的尺寸,在 CSS3 之前,背景图片的尺寸是由图片的实际尺寸决定的,而在 CSS3 中,可以规定背景图片的尺寸,其可选值如下:
可以使用 background-origin 属性规定 background-position 属性相对于什么位置来定位,其可选值如下:
div {
padding:30px;
border:1px solid black;
background-image:url(......);
background-repeat:no-repeat;
background-origin:content-box;
background-position:left;
}
可以使用 background-clip 属性规定背景的绘制区域,其可选值如下:
div {
width:300px;
height:300px;
padding:30px;
border:1px solid black;
background-color:pink;
background-clip:content-box;
}
可以使用 text-shadow 属性设置文本阴影效果,该属性是逗号分隔的阴影列表,每个阴影有两个或三个长度值和一个可选的颜色值进行规定,省略的长度值是 0
h1 {
text-shadow: 5px 5px 5px #888888;
}
可以使用 text-overflow 属性规定当文本溢出包含元素时发生的事情,其可选值如下:
在 CSS3 出现之前,必须使用已经在用户计算机上安装好的字体,但是通过 CSS3,可将需要使用的字体文件存放到服务器上,它会在需要时自动下载到用户计算机上,其在 @font-face 规则中定义
@font-face 规则中必须首先定义字体名称,然后指向字体文件
@font-face {
font-family: fontName;
src: url(......);
}
然后在 HTML 中通过 font-family 属性引用字体名称
div {
font-family:fontName;
}
如果需要使用粗体文本,则需要包含另一个描述符的 @font-face
@font-face {
font-family: fontName;
src: url(......);
font-weight: bold;
}
可以通过 transform 属性使元素改变形状、尺寸和位置,其接受一个转换方法并在方法中指定值
下面提及的 X 轴是平行于屏幕水平向右,Y 轴是指平行于屏幕垂直向下,Z 轴是垂直于屏幕指向外侧
平移方法
缩放方法
旋转方法
翻转方法
div {
transform: translate(50px,100px);
-o-transform: translate(50px,100px); /* Opera */
-ms-transform: translate(50px,100px); /* IE 9 */
-moz-transform: translate(50px,100px); /* Firefox */
-webkit-transform: translate(50px,100px); /* Safari and Chrome */
}
transform-origin 属性需要配合 transform 属性一同使用,用于设置旋转元素的基点位置,使用格式如下:transform-origin: x-axis y-axis z-axis;
可以使用 backface-visibility 属性定义当元素不面向屏幕时的可见性,如果不希望看到旋转元素的背面时,可使用该属性,其可选值有两个:
通过 CSS3,我们可以在不使用 Flash 或 JavaScript 的情况下,使得元素从一种样式变换为另一种样式时添加过渡效果
可以使用 transition-property 属性规定应用过渡效果的 CSS 属性名称,当指定的 CSS 属性改变时,过渡效果开始作用,其可选值如下:
可以使用 transition-duration 属性规定过渡效果的速度时间,其接受一个时间值,默认为 0,因此在使用过渡效果时,必须要设置 transition-duration 属性,否则将看不到过渡效果
可以使用 transition-timing-function 属性规定过渡效果的速度曲线,其可选值如下:
可以使用 transition-delay 属性规定延迟过渡效果的开始,其接受一个时间值,默认为 0
为了方便,可以仅在 transition 属性中设置所有有关过渡效果的属性,设置的顺序如下:
div {
width:100px;
height:100px;
background:blue;
transition:width 2s;
-o-transition:width 2s; /* Opera */
-moz-transition:width 2s; /* Firefox */
-webkit-transition:width 2s; /* Safari and Chrome */
}
div:hover {
width:300px;
}
/* 当鼠标停留在 div 元素上时,其宽度将会变化,从而产生过渡效果 */
通过 CSS3,我们可以在不使用 Flash 或 JavaScript 的情况下,使为网页创建动画。我们可以通过 @keyframes 规则创建动画,如果在 @keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改变为新样式的动画效果
可以使用 animation-name 属性规定动画名称,其可选值有两个:
none:无动画,可用于覆盖来自级联的动画
名称:定义创建动画的 keyframe 名称
可以使用 animation-duration 属性规定动画完成一个周期所需时间,其接受一个时间值,默认为 0,因此在使用动画时,必须要设置 animation-duration属性,否则将看不到动画
可以使用 animation-timing-function 属性规定过渡效果的速度曲线,其可选值如下:
可以使用 animation-delay 属性规定延迟过渡效果的开始,其接受一个时间值,默认为 0
可以使用 animation-iteration-count 属性规定动画的播放次数,其接受一个数字,默认是 1;或者设置为 infinite,表示无限次播放
可以使用 animation-direction 属性规定动画下一周期的播放方向,其可选值如下:
可以使用 animation-play-state 属性规定动画的播放状态,其可选值如下:
可以使用 animation-fill-mode 属性规定动画在播放之前或之后效果的可见性,其可选值如下:
为了方便,可以仅在 animation 属性中设置所有有关动画的属性,设置的顺序如下:
div {
width:100px;
height:100px;
background:red;
position:relative;
nimation:test 2s linear infinite alternate;
/*Safari and Chrome*/
-webkit-animation:test 2s linear infinite alternate;
}
@keyframes test {
from {left:0px;}
to {left:200px;}
}
/*Safari and Chrome*/
@-webkit-keyframes test {
from {left:0px;}
to {left:200px;}
}
可以使用 column-count 属性确定划分的列数,其可选值如下:
可以使用 column-gap 属性确定列间间隔,其可选值如下:
可以使用 column-rule 属性确定列间样式,它是一个简写属性,包含以下属性:
可以使用 column-width 属性确定列的宽度,其可选值如下:
resize 属性规定是否由用户调整元素的尺寸,其可选值如下:
注意,在使用此属性前必须先设置 overflow 属性,其值可以是 auto、hidden 或 scroll
div {
border:1px solid;
width:350px;
height:20px;
padding:10px 40px;
overflow:auto;
resize:both;
}
原文:https://www.cnblogs.com/wsmrzx/p/10363709.html