目录
CSS书写规范
空格规范
【强制】选择器与{ 之间必须包含空格。
示例:.selector { }
【强制】属性名与之后的:之间不允许包含空格,:与属性值之间必须包含空格。
示例:font-size: 12px;
选择器规范
【强制】当一个rule 包含多个selector时,每个选择器声明必须独占一行。
示例:
/* good */
.post,
.page,
.comment {
line-height: 1.5;
}
/* bad */
.posr,.page,.comment {
line-height: 1.5;
}
【建议】选择器的嵌套层级应不大于3级,位置靠后的限定条件应尽可能精确。
示例:
/* good */
#username input {}
.comment .avatar {}
/* bad */
.page .header .login #username input {}
.comment div * {}
属性规范
【强制】属性定义必须另起一行。
示例:
/* good */
.selector {
margin: 0;
padding: 0;
}
/* bad */
.selector { margin: 0; padding: 0; }
【强制】属性定义后必须以分号结尾。
示例:
/* good */
.selector {
margin: 0;
}
/* bad */
.selector {
margin: 0
}
CSS背景(background)
CSS可以添加背景颜色和背景图片,以及来进行图片设置。
background-color | 背景颜色 |
---|---|
background-image | 背景图片地址 |
background-repeat | 是否平铺 |
background-position | 背景位置 |
background-attachment | 背景固定还是滚动 |
背景的合写(复合属性) | |
background:背景颜色 背景图片地址 背景平铺 背景滚动 背景位置 |
背景图片(image)背景平铺(repeat)
<head>
<title></title>
<style type="text/css">
div {
width: 600px;
height: 600px;
background-color: pink;
background-image: url(image/001.jpg);
background-repeat: no-repeat;/*no-repeat不平铺 repeat-x横向平铺 y纵向*/
}
</style>
</head>
<body>
<div>
</div>
</body>
【网页中显示为:】
背景位置(position)
语法:
background-position : length || length
background-position : position || position
参数:
length:百分数 | 由浮点数字和单位标识符组成的长度值。请参阅长度单位
position: top | center | bottom | left | center |right
说明:
设置或检索对象的背景图像位置。必须先指定background-image属性。默认值为:(0% 0%)。
如果只指定了一个值,该值将用于横坐标。纵坐标将默认为50%。第二个值将用于纵坐标。
注意:
- position后面是x坐标和y坐标。可以使用方位名词或者精确单位。
- 如果和精确单位和方位名字混合使用,则必须是x坐标在前,y坐标后面。比如 background-position:15px top;则15px一定是x坐标,top是y坐标。
实际工作用的最多的,就是背景图片居中对齐了。
<head>
<title></title>
<style type="text/css">
div {
width: 600px;
height: 600px;
background-color: pink;
background-image: url(image/001.jpg);
background-repeat: no-repeat;
/*利用方位名词 left right top bottom center 来更改背景图片位置*/
background-position: right bottom;
}
</style>
</head>
<body>
<div>
</div>
</body>
【网页中显示为:】
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
div {
width: 600px;
height: 600px;
background-color: pink;
background-image: url(image/001.jpg);
background-repeat: no-repeat;
background-position: 50px 30px;/*精确单位 第一个是x坐标 第二个是y坐标
}*/
</style>
</head>
<body>
<div>
</div>
</body>
</html>
【网页中显示为:】
背景附着
语法:
background-attachment : scroll | fixed
参数:
scroll:背景图像是随对象内容滚动
fixed:背景图像固定
说明:
设置或检索背景图像是随对象内容滚动还是固定的。
背景简写
background:属性的值的书写顺序官方并没有强制标准的。为了可读性,建议大家如下写:
background:背景颜色 背景图片地址 背景平铺 背景滚动 背景位置
background: transparent url(image.jpg) repeat-y scroll 50% 0 ;
背景透明(CSS3)
CSS3支持背景半透明的写法语法格式是:
background: rgba(0,0,0,0.3);
最后一个参数是alpha透明度 取值范围 0~1之间
注意: 背景半透明是指盒子背景半透明,盒子里面的内容不受影响。
同样,可以给文字和边框透明 都是rgba的格式来写。
背景缩放(CSS3)
通过background-size设置背景图片的尺寸,就像我们设置img的尺寸一样,在移动Web开发中做屏幕适配应用非常广泛。
其参数设置如下:
- 可以设置长度单位(px)或百分比(设置百分比时,参考盒子的宽高)
- 设置为cover时,会自动调整缩放比例,保证图片始终填充满背景区域,如有溢出部分则会被隐藏。
- 设置为contain会自动调整缩放比例,保证图片始终完整显示在背景区域。
background-image: url('images/gyt.jpg');
background-size: 300px 100px;
/* background-size: contain; */
/* background-size: cover; */
【原图:】
<head>
<title></title>
<style type="text/css">
body {
background-color: skyblue;
}
div {
width: 600px;
height: 600px;
background: hotpink url(image/001.jpg) no-repeat;
/*我们插入的图片 img 直接通过 width 和 height 设置*/
/*背景图片设置大小 background-size*/
background-size: 300px;
/*也可使用百分比%background-size: 50%;*/
}
</style>
</head>
<body>
<div></div>
</body>
【原图缩小后网页中显示为:】
background-size: cover;
/*设置为cover时,会自动调整缩放比例,保证图片始终填充满背景区域,如有溢出部分则会被隐藏*/
【网页中显示为:】
background-size: contain;
/*设置为contain会自动调整缩放比例,保证图片始终完整显示在背景区域*/
【网页中显示为:】
多背景(CSS3)
以逗号分隔可以设置多背景,可用于自适应布局,做法就是,用逗号隔开就好了。
- 一个元素可以设置多重背景图像。
- 每组属性间使用逗号分隔。
- 如果设置的多重背景图之间存在着交集(即存在着重叠关系),前面的背景图会覆盖在后面的背景图之上。
- 为了避免背景色将图像盖住,背景色通常都定义在最后一组上。
background:url(test1.jpg) no-repeat scroll 10px 20px/50px 60px ,
url(test1.jpg) no-repeat scroll 10px 20px/70px 90px ,
url(test1.jpg) no-repeat scroll 10px 20px/110px 130px c #aaa;
<head>
<title></title>
<style type="text/css">
div {
width: 600px;
height: 600px;
background: url(image/001.jpg) no-repeat left top,
url(image/004.jpeg) no-repeat right bottom hotpink;
}
</style>
</head>
<body>
<div>
</div>
</body>
【网页中显示为:】
凹凸文字
<head>
<title></title>
<style type="text/css">
body {
background-color: #ccc;
}
div {
color: #ccc;
font: 700 80px "微软雅黑";
}
div:first-child {
text-shadow: 1px 1px 1px #000,-1px -1px 1px #fff;
}
div:last-child {
text-shadow: -1px -1px 1px #000,1px 1px 1px #fff;
}
</style>
</head>
<body>
<div>我是凸起的文字</div>
<div>我是凹下的文字</div>
</body>
【网页中显示为:】