CSS之背景篇

1、背景颜色-background-color

在CSS中,使用background-color属性来控制元素的背景颜色。

默认值:transparent ,即背景是透明的。

颜色值

1)使用关键字

关键字指的就是颜色的英文名称,如red、blue、green等。

2)使用16进制

十六进制颜色是这样规定的:#RRGGBB,其中的 RR(红色)、GG(绿色)、BB(蓝色)十六进制整数规定了颜色的成分。所有值必须介于 0 与 FF 之间。

3)使用RGB 颜色

RGB 颜色值是这样规定的:rgb(red, green, blue)。每个参数 (red、green 以及 blue) 定义颜色的强度,可以是介于 0 与 255 之间的整数,或者是百分比值(从 0% 到 100%)。

4)使用RGB 颜色

RGBA 颜色值是 RGB 颜色值的扩展,带有一个 alpha 通道 - 它规定了对象的不透明度。
所以透明可以写成transparent或者rgba(X, X, X, 0)

2、背景图像-background-image

background-image:url(images/1.jpg);

CSS背景图像常用属性

属性 说明
background-repeat 定义背景图像是否重复
background-position 定义背景图像在元素哪个位置
background-attachment 定义背景图像是否随内容而滚动
background-size 定义背景图片的大小
background-origin 规定背景图片的定位区域
background-clip 将背景图片根据实际需要进行剪切

1)background-repeat

语法:
background-repeat:<repeat-style> [ , <repeat-style> ]*

  • <repeat-style> = repeat-x | repeat-y | [repeat | no-repeat | space | round]{1,2}

默认值:repeat

属性 说明
repeat 默认值,表示在水平方向(x轴)和垂直方向(y轴)同时平铺
no-repeat 表示不平铺
repeat-x 表示在水平方向(x轴)平铺
repeat-y 表示在垂直方向(y轴)平铺
space 背景图像以相同的间距平铺且填充满整个容器或某个方向
round 背景图像自动缩放直到适应且填充满整个容器

** space效果图**:

space效果图.png

** round效果**:

round效果.png

2)background-position

语法:
** background-position *:<position> [ , <position> ]

  • <position> = [ left | center | right | top | bottom | <percentage> | <length> ] | [ left | center | right | <percentage> | <length> ] [ top | center | bottom | <percentage> | <length> ] | [ center | [ left | right ] [ <percentage> | <length> ]? ] && [ center | [ top | bottom ] [ <percentage> | <length> ]? ]

默认值:0% 0%,效果等同于left top

background-position的取值有3种,像素值、关键字、百分比
(1) 像素值

background-position:80px 40px;

(2) 关键字

属性 说明
top left 左上
top center 靠上居中
top right 右上
left center 靠左居中
center center 正中
right center 靠右居中
bottom left 左下
bottom center 靠下居中
bottom right 右下

(3) 百分比

background-position:50% 50%;

考试遇到的坑,主要没看清题目意思。。

(多选)已知一个元素做了以下设置:width:100px; height:100px; padding:10px; background:url(x.png) no-repeat;请问增加以下哪些CSS可以改变这张背景图的位置?
A.background-position:0 0;
B.background-position:0% 0%;
C.background-position:50% 50%
D.background-position:0%;

答案:CD
当时看成了哪些属性可以设置position的位置,然后选择了ABCD
而实际background-position默认在左上角,也就是A和B都是一个意思,默认在左上角的,还有top left 。题目考的是哪个属性可以改变位置,所以选CD。

注意:background-position如果只指定了一个值,那么另外一个值就是center或者50%。

3)background-attachment

在CSS中,使用背景附件属性background-attachment可以设置背景图像是随对象滚动还是固定不动。
语法:
background-attachment:<attachment> [ , <attachment>]*

  • <attachment> = fixed | scroll | local

默认值:scroll

属性 说明
fixed 背景图像相对于窗体固定。
scroll 背景图像相对于元素固定,也就是说当元素内容滚动时背景图像不会跟着滚动,但会随元素的祖先元素或窗体一起滚动。
local 背景图像相对于元素内容固定,也就是说当元素随元素滚动时背景图像也会跟着滚动。(CSS3)

借鉴一下别人的解释:

这是一个元素P。当你的指针在P外时,滚动的是P本身。当你的指针在P内时,滚动的是P的内容。也就是说,当你滚动P本身时,local和scroll,背景都会随P的位置滚动,fixed不会。
而当你滚动P的内容时,scroll背景不会随滚动而滚动,local则会随滚动而滚动。

4)background-size

在CSS3中,我们可以使用background-size属性来设置背景图片的大小,这使得我们可以在不同的环境中重复使用背景图片。
语法:
background-size : auto | <长度值> | <百分比> | cover | contain

background-size的值同样有三种表现形式

(1) 关键字

关键字 说明
cover 即“覆盖”,将背景图片以等比缩放来填充整个容器元素
contain 即“容纳”,将背景图片等比缩放至某一边紧贴容器边缘为止
auto 默认值,不改变背景图片的原始高度和宽度

(2) 像素值

background-size : 50px 50px;

将背景图片宽、高依次设置为50px
如果只设置一个值时,那么就将该值作为图片宽度值来等比缩放

(3) 像素值
0%~100%之间的任何值,将背景图片宽高依次设置为所在元素宽高乘以百分比得出的数值

坑之所在
百分比的参照并不是图片本身,而是图片的容器。
举个栗子,一张100px100px的图片作为200px300px容器的背景图,设置background-size:50% 50%,辣么图片最终大小为100px*150px,不但没有缩小成原本大小的50%,反而会变大!还可能产生拉伸的效果。

例1

如果只设置一个值,如background-size:50%,辣么图片的宽为200px*50%=100px,高度按宽度等比例缩放,宽度没变,所以图片大小不会变。

例2

5)background-origin

在CSS3中,我们可以使用background-origin属性来设置元素背景图片显示的最开始位置。

语法:background-origin : border-box | padding-box | content-box;

属性值 说明
border-box 表示背景图片是从边框开始显示
padding-box 表示背景图片是从内边距开始显示(默认值)
content-box 表示背景图片是从内容区域开始显示

效果如下:

图片来自http://www.w3school.com.cn/

注意:

  • 如果背景不是no-repeat,这个属性无效,它会从边框开始显示。
  • 当background-attachment设置为fixed时,这个属性无效,从边框开始显示,设置为scroll或者local时,默认从内边距开始显示。

6)background-clip

在CSS3中,使用background-clip属性来将背景图片根据实际需要进行剪切。
语法:background-clip : border-box | padding-box | content-box | no-clip

属性值 说明
border-box 默认值,表示从边框border开始剪切
padding-box 表示从内边距padding开始剪切
content-box 表示从内容区域content开始剪切
No-clip 不裁切,和参数border-box显示同样的效果

background-clip默认值为border-box。

效果如下图所示:

图片来自http://www.w3school.com.cn/

background-clip属性指定了背景在哪些区域可以显示,但与背景开始绘制的位置(即background-origin属性)无关。背景绘制的位置可以出现在不显示背景的区域。这就相当于背景图片被不显示背景的区域裁剪了一部分一样。

总结:background

我们可以将上面总结的属性写在一个声明中。
语法缩写如下:
background : [background-color] | [background-image] | [background-position][/background-size] | [background-repeat] | [background-attachment] | [background-clip] | [background-origin],…

注意

  • 如果有 size 值,需要紧跟 position 并且用 “/” 隔开;
  • 如果有多个背景图片,而其他属性只有一个(例如 background-repeat 只有一个),表明所有背景图片应用该属性值。
  • background-color 只能设置一个。

最后,CSS3对background定义了两种渐变方式:线性渐变(linear-gradient)和径向渐变(radial-gradient),内容较多,这里不做详解。

学习笔记如有错误,欢迎指正。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,527评论 5 470
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,314评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,535评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,006评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,961评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,220评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,664评论 3 392
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,351评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,481评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,397评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,443评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,123评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,713评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,801评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,010评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,494评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,075评论 2 341

推荐阅读更多精彩内容

  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,724评论 0 2
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,300评论 0 11
  • 1. 定义和用法 background是一个简写属性,可以在一个声明中设置所有的背景属性,可设置的属性如下: 这些...
    lightNate阅读 4,312评论 2 8
  • 在经过了审稿,初赛视频筛选终于来到了复赛,“弘扬英雄主义,践行忠诚担当”一个红色主题,35名参赛选手围绕这个主...
    Kola云的生活日记阅读 143评论 0 0
  • 图片来自网络 与他邂逅的日子要怎么算起可能要倒带好多年回忆拨片扫着青春的弦嗯记不清那是冬天还是夏天第一次看到荧幕上...
    依然breeze阅读 1,104评论 2 1