background-color指的是背景颜色属性。
在css2.1中,颜色的表示方法共有三种:英语单词、rgb表示法、十六进制表示法。
基本语法:
background-color:red;
rgb表示三原色“红”red、“绿”green、“蓝”blue。光学显示器,每个像素都是由三原色的发光原件组成的,靠明亮度不同调成不同的颜色的。用逗号隔开,r、g、b的值,每个值的取值范围0~255,一共256个值。
background-color: rgb(255,0,0);
background-color: rgb(0,255,0);
background-color: rgb(0,0,255);
background-color: rgb(0,0,0);
background-color: rgb(255,255,255);
可以利用三原色颜色叠加理论,调出想要的色彩。比如:
background-color: rgb(255,255,0);
background-color: rgb(72,72,72);
background-color: rgb(144,144,144);
效果:
background-color: rgb(216,216,216);
所有用#开头的值,都是16进制的。
红色:
background-color: #ff0000;
16进制表示法,如果两位两位看,前两位是“rgb”中r的10进制化为的16进制的值,中间两位是“g”,最后两位是“b”.
如:ff就是10进制的255 ,00 就是10进制的0,00就是10进制的0。所以等价于rgb(255,0,0);
如何将二进制转化为16进制?
我们现在看一下10进制中的基本数字(一共10个数):
0、1、2、3、4、5、6、7、8、9
16进制中的基本数字(一共16个数):
0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f
10进制n转化为16进制:
n÷16=m……q (q<16)
那么 16进制表示为”mq”。
例,把10进制43转化为16进制:
43÷16=2……11(11是16进制里面的b),所以10进制43的16进制数为“2b”
16进制转化为10进制:
反过来是:
n=16×m+q
例,把16进制2b转化为10进制:
16×2+b=32+11=43
所以,任何一种十六进制表示法,都能够换算成为rgb表示法。
十六进制中所有#aabbcc的形式,能够简化为#abc;
比如:
background-color:#ff0000;
等价于
background-color:#f00;
常用的颜色16进制表示法:
用于给盒子加上背景图片:
background-image:url(images/wuyifan.jpg);
url()表示网址,uniform resouces locator 同意资源定位符
images/wuyifan.jpg 就是相对路径。
注意:
用来设置背景图是否重复的,重复方式的。
background-repeat属性,有三种值:
如图:
用来给背景定位。
基本语法:
background-position:向右移动量 向下移动量;
定位属性可以是负数:
注意:
background-position:100px 100px;
不能缩写成background-position:100px;
background-position:100px;
是什么效果?(在chrome浏览器中)亲自做实验:
(a)先设定background-position的值为100px 100px。比较两种写法的差异:
代码:
div{
display: block;
width: 980px;
height: 520px;
border: 2px solid red;
background-image: url(http://img1.imgtn.bdimg.com/it/u=1794894692,1423685501&fm=23&gp=0.jpg);
background-color: blue;
background-position: 100px 100px;
background-repeat: no-repeat;
}
实验分析如图:
background-position: 100px 100px;
background-position: 100px;
(b)分别实验试验background-position的值为30px、50px、130px、150px。发现当写成background-position: npx;时,无论n为何值,盒子都是向下移动110px。
综上所述,background-position: npx;这种写法是错误的,无法达到跟background-position: mpx npx;相同的效果。
基本语法:
background-position: 描述左右的词儿 描述上下的词儿;
描述左右的词: left、 center、right
描述上下的词: top 、center、bottom
右下角:
background-position: right bottom;
左下角:
background-position: left bottom;
“css精灵”,英语css sprite,所以也叫做“css雪碧”技术。是一种CSS图像合并技术,该方法是将小图标和背景图像合并到一张图片上,然后利用CSS的背景定位来显示需要显示的图片部分。
css精灵的优点:减少了http请求。比如4张小图片,原本需要4个http请求,但是用了css精灵,小图片变为了一张图,http请求只有1个了。
淘宝网的精灵图:
用来固定背景,基本语法:
background-attachment:fixed;
使用了background-attachment,背景就会被固定住,不会被滚动条滚走。
综合属性写法:
background:red url(1.jpg) no-repeat 100px 100px fixed;
等价于:
background-color:red;
background-image:url(1.jpg);
background-repeat:no-repeat;
background-position:100px 100px;
background-attachment:fixed;
综合属性可以任意省略一个部分,如可以只剩下某一个属性值:
background: red;