这节也是关于盒模型的扩展,而我个人喜欢把盒模型想象成图画。元素的尺寸调整就是画布大小的调整,边框的设置就是画框的镶嵌。但是,作为一个最终要将画作展现到美术馆(网页)的艺术家来说,仅仅是这样还是不够的,就像各种画作里面可以进行背景的描绘一样,我们也可以为自己的画设置背景。

  下表总结了背景相关的一些属性:

属性 说明 CSS 版本
background-color 颜色 背景的颜色 1
background-image none 或 url 背景的图片 1 , 3
background-repeat 样式名称 背景图片的样式 1 , 3
background-size 长度值或其他 背景图片的尺寸 3
background-position 位置坐标 背景图片的位置 1
background-attachment 滚动方式 背景图片的滚动 1,3
background-clip 裁剪方式 背景图片的裁剪 3
background-origin 位置坐标 背景图片起始点 3
background 复合值 背景图片简写方式 1

  从上面的表可以看出,背景无非就两样:1.颜色,2.图片及相关设置。下面来逐一说明。


1.背景颜色

说明 CSS 版本
颜色 设置背景颜色为指定色 1
transparent 设置背景颜色为透明色 1
div {
background-color: silver;
}

  解释:关于颜色的值请参考css颜色。而元素的背景颜色为透明色,是浏览器默认的,所以很少有必要专门去设置。另外,针对<body>元素设置颜色会设置整个页面的颜色。


2.背景图片

  2.1 图片的引入

    使用background-image属性可以为背景引入图片

说明 CSS 版本
none 取消背景图片的设置 1
url 通过 URL 设置背景图片 1
body {
background-image: url(loading.gif);
}

  解释:none值是为了解决子元素的继承问题的,而url里面放的是图片的资源地址。

  2.2 图片的平铺方式

    由background-repeat属性决定

说明 CSS 版本
repeat-x 水平方向平铺图像 1
repeat-y 垂直方向平铺图像 1
repeat 水平和垂直方向同时平铺图像 1
no-repeat 禁止平铺图像 1
body {
background-image: url(loading.gif);
background-repeat: no-repeat;
}

  解释:所谓平铺,就是当图片小于元素的大小时,会试图复制自己而填满整个元素

  2.3 图片位置的调整

    使用background-position属性来调整图片在元素里的位置,一般要先禁用图片的平铺行为。

说明 CSS 版本
top 将背景图片定位到元素顶部 1
left 将背景图片定位到元素左部 1
right 将背景图片定位到元素右部 1
bottom 将背景图片定位到元素底部 1
center 将背景图片定位到元素中部 1
长度值 使用长度值偏移图片的位置 1
百分数 使用百分数偏移图片的位置 1

  

/*将背景图片置于页面上方,如果想置于左上方则值为:top left*/
body {
background-image: url(loading.gif);
background-repeat: no-repeat;
background-position: top;
} /*使用长度值或百分数,第一值表示左边,第二个值表示上边*/
body {
background-image: url(loading.gif);
background-repeat: no-repeat;
background-position: 20px 20px;
}

  2.4 图片的大小

    由background-size属性控制。

 值 说明  CSS 版本
 auto  默认值,图像以原尺寸显示  3
 cover  等比例缩放图像,使图像至少覆盖容器,但有可能超出容器  3
 contain  等比例缩放图像,使其宽度、高度中较大者与容器横向或纵向重合  3
 长度值  CSS 长度值,比如 px、em  3
 百分数  比如:100%  3

  具体说明看表格就好,这里就不举例了。

  2.5 图片是否滚动

    由background-attachment属性控制。

说明 CSS 版本
scroll 默认值,背景固定在元素上,不会随着内容一起滚动 1
fixed 背景固定在视窗上,内容滚动时背景不动 1
body {
background-image: url(loading.gif);
background-attachment: fixed;
}

    解释:fixed 值会导致背景产生水印效果,拖动滚动条而背景不动。

  2.6 图片在元素的那个区域显示

    由background-origin控制,和图片的位置调整不同,位置调整默认是在元素内部显示,而这里的居于除了元素的内部以为,还包括内边距和边框。

说明 CSS 版本
border-box 在元素的边框绘制背景 3
padding-box 在元素的内边距绘制背景 3
content-box 在元素的内容部分绘制背景 3
div {
width: 400px;
height: 300px;
border: 10px dashed red;
padding: 50px;
background-image: url(img.png);
background-repeat: no-repeat;
background-origin: content-box;
}

   解释:在内容部分绘制背景,其实就是设置背景起始位置。

  2.7 图片的裁剪

    由background-clip控制。在图片尺寸小于元素时,会有平铺的行为。而大于时,我们就要决定是否对多余的部分进行裁剪了。

说明 CSS 版本
border-box 在元素盒子内部裁剪背景 3
padding-box 在内边距盒子内部裁剪背景 3
content-box 在内容内部裁剪背景 3
div {
width: 400px;
height: 300px;
border: 10px dashed red;
padding: 50px;
background-image: url(img.png);
background-repeat: no-repeat;
background-origin: border-box;
background-clip: padding-box;
}

  

  2.8 简写形式

    和很多设置一样,背景也有相应的简写形式,其顺序如下:

    [background-color]

    [background-image]

    [background-repeat]

    [background-attachment]

    [background-position] / [ background-size]

    [background-origin]

    [background-clip];

div {
width: 400px; height:
300px; border: 10px dashed red;
padding: 50px;
background: silver url(img.png) no-repeat scroll left top/100% border-box content-box;
}

9.css背景的更多相关文章

  1. CSS背景background、background-position使用详解

    背景(background)是css中一个重要的的部分,也是需要知道的css的基础知识之一.这篇文章将会涉及css背景(background)的基本用法,包括诸如 background-attachm ...

  2. 你不知道的CSS背景—css背景属性全解

    CSS背景在网页设计中使用频率非常高,然而对于这个开发人员很熟悉的CSS属性,却隐藏着许多不为初级开发人员熟知的细节,这篇文章尝试扒开这层不为人知的面纱. 首先列举一下CSS中关于元素背景的所有属性并 ...

  3. CSS背景background详解,background-position详解

    背景(background)是css中一个重要的的部分,也是需要知道的css的基础知识之一.这篇文章将会涉及css背景(background)的基本用法,包括诸如 background-attachm ...

  4. CSS背景100%平铺 浏览器缩小背景显示不全解决办法

    本文我们分享前端CSS背景100%平铺,浏览器缩小背景显示不全bug解决的两个方法,如果你也遇到了,那么就可以参考下面文章. 把浏览器的窗口缩小时,拖动滚动条时你会发现原本设定的CSS背景100%平铺 ...

  5. Bootstrap css背景图片的设置

    一. 网页中添加图片的方式有两种 一种是:通过<img>标签直接插入到html中 另一种是:通过css背景属性添加 居中方法:水平居中的text-align:center 和 margin ...

  6. CSS背景样式

    CSS是级联样式表,用来表现HTML等文件样式的语言,CSS能够真正做到网页的表现与内容分离的设计语言,也就是说,做好了一款网页,可以通过另一个后缀名是css的文件进行修改其中的样式,不过在html的 ...

  7. CSS背景图拉伸自适应尺寸,全浏览器兼容

    突然有人问我这个问题,说网上CSS filter的方法在非IE浏览器下不奏效.思考之后,问题之外让我感慨万千啊,很多我们所谓的难题,都会随着时代的发展迎刃而解,或被新的问题所取代. 当CSS背景图片拉 ...

  8. css背景图片拉伸 以及100% 满屏显示

    如何用css背景图片拉伸 以及100% 满屏显示呢?这个问题听起来似乎很简单.但是很遗憾的告诉大家.不是我们想的那么简单. 比如一个容器(body,div,span)中设定一个背景.这个背景的长宽值在 ...

  9. CSS 背景-CSS background

    这里有个很好的样式学习网站:http://www.divcss5.com/rumen/r125.shtml 一.Css background背景语法   -   TOP CSS背景基础知识 CSS 背 ...

  10. CSS背景属性

    CSS背景属性 1.background-attachment 属性 scroll:默认值.背景图像会随着页面其余部分的滚动而移动. fixed:当页面的其余部分滚动时,背景图像不会移动. inher ...

随机推荐

  1. SQL Server int类型值最大2147483647(2^31 - 1)

    突发奇想,一个字增字段,假设每天增加1000条记录,多少年之后写不进int类型的字段了2147483647 / 1000 / 365 = 5883.51684109589041095890410958 ...

  2. unresolved external symbol "public: virtual __thiscall...错误

    今天自己在编写类模板的程序时,遇到了如下的错误:unresolved external symbol "public: virtual __thiscall...错误 调试修改了半天程序,还 ...

  3. 【练习】显示MySQLadmin 库户籍选项

    [oracle@enmo ~]$ mysqladmin -V mysqladmin Ver , for Linux on x86_64

  4. iOS检测网络连接状态

    官方Demo下载地址:https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip 将Reachab ...

  5. number对象,bom对象

    number对象 新创建一个number的对象,toFixed是精确到位数 var num =new Number('123.1231'); console.log(num.toFixed(1)); ...

  6. 学习练习 java20160507作业

    第一题 求水仙花的个数: //求水仙花数 int zongshu = 0; for(int i =100; i<=999;i++) { int bai = i/100; //求百位上面的数字 i ...

  7. 来自Google产品管理和营销高级副总裁Jonathan Rosenberg的42条军规(转)

    #35 营造一个说 yes 的文化 你想要建立一个充满正能量和积极思考的地方.“组织里有阻碍变革发生的抗体.所以许多大公司无法创新.如果你是一个创新者,你就变成了病毒,所有的抗体都想杀死你.”在这种情 ...

  8. Andriod项目开发实战(1)——如何在Eclipse中的一个包下建新包

    最开始是想将各个类分门别类地存放在不同的包中,所以想在项目源码包中新建几个不同功能的包eg:utils.model.receiver等,最后的结果应该是下图左边这样的:   很明显建立项目后的架构是上 ...

  9. LSP“浏览器劫持概念

    关于Winsock LSP“浏览器劫持”,中招者一直高居不下,由于其特殊性,直接删除而不恢复LSP的正常状态很可能会导致无法上网所以对其修复需慎重.   先说说什么是Winsock LSP“浏览器劫持 ...

  10. Ax Grid 的显示根据用户的需求动态排序。

    点击方向按钮上下移动记录. 设计思路. 以临时表TmpTable1举例. 在表中加一个real类型字段(eg:ColumnSeq)用于排序,给表建一个ColumnSeq字段的索引ColumnSeqId ...