HTML代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<title>New CSS3 styles</title>
<link rel="stylesheet" href="mystyles-csstest.css">
</head>
<body>
<header id="mainbox">
<span id="title">CSS Styles Web 2.0</span>
</header>
</body>
</html>
CSS代码如下:
body{
text-align:center;
}
#mainbox{
display:block;
width:500px;
margin:50px auto;
padding:15px;
text-align:center;
border:1px solid #999999;
background:#DDDDDD;
/* 圆角实现 */
-moz-border-radius:20px;
-webkit-border-radius:20px;
border-radius:20px;
/* -moz-border-radius:20px 10px 30px 50px; */
/* -webkit-border-radius:20px 10px 30px 50px; */
/* border-radius:20px 10px 30px 50px; */
/* -moz-border-radius:20px / 10px; */
/* -webkit-border-radius:20px / 10px; */
/* border-radius:20px / 10px; */
/* 阴影效果 */
-moz-box-shadow:rgb(150,150,150) 5px 5px;
/* -webkit-box-shadow:rgb(150,150,150) 5px 5px; */
/* box-shadow:rgb(150,150,150) 5px 5px; */
/* box-shadow:rgb(150,150,150) 5px 5px 10px; */
/* box-shadow:rgb(150,150,150) 5px 5px 10px inset; */
/* 线性渐变 */
/* background:-moz-linear-gradient(top,#FFFFFF,#006699); */
/* background:-webkit-linear-gradient(top,#FFFFFF,#006699); */
/* background:-webkit-linear-gradient(30deg,#FFFFFF,#006699); */
/* 放射渐变 */
background:-webkit-radial-gradient(center,circle,#FFFFFF 0%,#006699 200%);
/* 轮廓 */
/* outline:2px dashed #000999; */
/* outline-offset:15px; */
/* 边框图像 */
/* border-image:url("diamonds.png") 29 stretch; */
/* -moz-transform:scale(1,-1); */
/* -webkit-transform:scale(1,-1); */
/* -moz-transform:rotate(30deg); */
/* -webkit-transform:rotate(30deg); */
/* -moz-transform:skew(30deg); */
/* -webkit-transform:skew(30deg); */
/* -moz-transform:translate(100px); */
/* -webkit-transform:translate(100px); */
/* -moz-transform:translateY(100px) rotate(45deg) scale(0.3); */
/* -webkit-transform:translateY(100px) rotate(45deg) scale(0.3); */
-moz-transition:-moz-transform 1s ease-in-out 0.5s;
-webkit-transition:-webkit-transform 1s ease-in-out 0.5s;
}
#mainbox:hover{
-moz-transform:rotate(5deg);
-webkit-transform:rotate(5deg);
}
#title{
font:bold 36px myNewfont,verdana,sans-serif;
/* text-shadow:rgb(0,0,150) 3px 3px 5px; */
text-shadow:rgba(0,0,0,0.5) 3px 3px 5px;
color:hsla(120,100%,50%,0.5);
}
@font-face{
font-family:'myNewfont';
src: url('font.ttf')
}
圆角
border-radius:20px;
border-radius:20px 10px 30px 50px;//依次为左上、右上、右下、左下顺时针方向
border-radius:20px / 10px;//依次为水平半径、垂直半径
阴影
border-shadow:rgb(150,150,150) 5px 5px;//依次为颜色、水平偏移量、垂直偏移量
box-shadow:rgb(150,150,150) 5px 5px 10px;//增加一个或多个像素会扩大阴影范围
box-shadow:rgb(150,150,150) 5px 5px 10px inset;//inset可以将外部阴影转变为内部阴影,从而设置框的深度效果
阴影不会扩大元素范围,也不会增加其尺寸,所以必须仔细检查足以显示阴影的可用显示空间。
文字阴影
text-shadow:rgb(0,0,150) 3px 3px 5px;
@font-face
设置字体,至少需要两个属性,分别声明字体和加载文件,如:
@font-face{
font-family:'myNewfont';
src: url('font.ttf')
}
然后在font属性中设置该字体‘myNewfont’
线性渐变
渐变是通过背景设置的,所以必须使用background或background-image属性。这些属性的语法是:linear-gradient(start position,from color,to color)。第一个值可以是像素值、百分比或关键字top、bottom、left和right。
放射渐变
radial-gradient(center,circle,#FFFFFF 0%,#006699 200%)。
形状支持两个值:circle、ellipse
RGBA
CSS3增加了新的函数rgba(),它支持设置颜色值和透明度,也解决了opacity属性的问题。
如:rgba(0,0,0,0.5) 最后一个值表示透明度。
HSLA
语法是:hsla(hue,saturation,lightness,opacity)//色度、饱和度、亮度、透明度
如: color:hsla(120,100%,50%,0.5)
色度表示从假想圆盘抽取的颜色值,色度范围为0~360,0与360附近是红色,120附近是绿色,240附近是蓝色。
饱和度是一个百分比数,范围是0%(灰度)~100%(全彩色或全饱和)
亮度范围是0%(全暗)~100%(全亮)
轮廓
outline:2px dashed #000999;
outline-offset:15px;
边框图像
border-image属性使用一幅图像作为图案,需要指定三个属性:图像文件名称与位置、分割图案得到的块数和指定各部分围绕对象分布方式的关键字。
指定各部分围绕对象分布方式可设置为:stretch、repeat、round
转换与转变
transform属性可以对对象执行4中基本的转换:scale、rotate、skew、translate。
转换效果:缩放
-moz-transform:scale(2);
-webkit-transform:scale(2);
scale函数可以接收两个参数,X值表示水平缩放比例,Y值表示垂直缩放比例。
缩放操作可以使用整数值和小数值。缩放是通过矩阵计算的。0~1表示缩小元素,1表示保持原始比例,而大于1的值表示增加对象的尺寸。
转换效果:旋转
-moz-transform:rotate(30deg);
-webkit-transform:rotate(30deg);
rotate函数可以使元素按顺时针方向旋转。这个值必须使用带“deg”单位的角度值。
转换效果:倾斜
-moz-transform:skew(30deg);
-webkit-transform:skew(30deg);
skew函数会按角度和方向改变元素的对称性。skew有两个参数,每一个参数都只影响一个方向。
转换效果:移动
-moz-transform:translate(100px);
-webkit-transform:translate(100px);
translate函数接受的两个值分别控制元素在水平和垂直方向的移动。
一次实现全部转换
使用空格分隔多个函数,就可以实现组合型transform属性。
注意:函数的顺序是非常重要的,有一些函数会移动对象的原点和中心,因此会改变其他函数的参数值。
动态转换
结合伪类选择器:hover实现动态转换
过渡
transition属性可用于移动元素--实现移动操作的其余步骤,可设置4个参数。
第一个参数创建过渡步骤。
第二个参数设置过渡的持续时间。
第三个参数设置为:ease、linear、ease-in、ease-out、ease-in-out。这个关键字通过贝塞尔曲线决定过渡过程的路径。
第四个参数是延迟时间。它表示多长时间之后过渡过程开始启动。
如:
-moz-transition:-moz-transform 1s ease-in-out 0.5s;
-webkit-transition:-webkit-transform 1s ease-in-out 0.5s;