900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 《CSS入门-属性介绍-背景属性》-前端开发回顾篇

《CSS入门-属性介绍-背景属性》-前端开发回顾篇

时间:2019-07-30 20:42:03

相关推荐

《CSS入门-属性介绍-背景属性》-前端开发回顾篇

后台看到同学们留言想学习CSS背景属性,今天我们来一起来回顾下。

学习目标

今天的咱们主要来学习CSS中的各种属性,CSS的属性经过CSS1、CSS2、CSS3的迭代,已经非常多了。对于常用的CSS属性,一定要了解、掌握,并亲自在Demo中试试来加深理解。

接下来,主要学习一下CSS的背景属性。

CSS属性介绍 - 背景属性

背景属性(background),主要设置HTML元素的背景,比如一个按钮的背景颜色、一段文字的背景图片等等。相关的属性有:

background:支持子属性的任意组合

background-color:设置背景颜色

background-image:设置背景图片

background-position:设置背景图片的定位

background-repeat:设置背景图片的平铺模式

background-attachment:设置背景图片的滚动模式

background-clip:设置背景的绘制区域

background-origin:设置背景的定位区域

background-size:设置背景的尺寸

background-color

使用单一颜色来作为元素背景,会填充元素的内容区域、内边距区域、边框区域。属性值主要有三种,分别为:

颜色值

transparent默认,透明

inherit继承父级

看如下代码片段:

<!-- CSS背景属性 - background-color -->

<style>

.demo{

width: 300px;

height: 20px;

}

.color-1 {

/*使用颜色名称作为值,red:红色, blue:蓝色等颜色名,尽量少用*/

background-color: red;

}

.color-2 {

/*使用颜色的rgb值(0-255, 黑-白),不是很直观,尽量少用*/

background-color: rgb(127,127,127);

}

.color-3 {

/*使用颜色的十六进制值(0-F, 黑-白),推荐使用*/

background: #ff00ff;

}

</style>

<div></div>

<div></div>

<div></div>

展示结果如下,可以看到三个div呈现不同的背景颜色。

background-image

使用图片来作为元素背景,会填充元素的内容区域、内边距区域、边框区域。默认会对齐元素的左上角,然后沿着水平、垂直进行平铺。属性值主要有:

url("URL")

none无背景

inherit继承父级

准备背景图片

放置到.html文件的同级目录中。

然后,看如下代码片段:

<!-- CSS背景属性 - background-image -->

<style>

.demo-image{

width: 500px;

height: 500px;

}

.image-1 {

/*使用url指定图片路径,由于demo是同级目录,默认从当前目录查找,可以直接输入文件名*/

background-image: url("bg.png");

}

</style>

<div></div>

展示结果如下,可以看到,默认会从元素左上角,向右、向下同时平铺图片。

需要注意一点:如果同时有background-image和border,border部分的背景是使用平铺部分填充的。做个测试,修改代码,添加边框样式

.image-1 {

/*使用url指定图片路径,由于demo是同级目录,默认从当前目录查找,可以直接输入文件名*/

background-image: url("bg.png");

border: 30px #000 dotted;

}

添加边框后,可以看到,完整图片的起点其实是在边框里边,边框是用平铺部分填充的。这一点会和后面要介绍的background-position很像。在background-origin小节还会后头看这个问题。

接下来的一些属性,也都是基于背景图片延伸的。

background-repeat

指定背景图片的平铺模式,可取值为:

repeat默认值,沿着水平(x轴)、垂直(y轴)进行平铺

repeat-x仅在水平(x轴)方向进行平铺

repeat-y仅在垂直(y轴)方向进行平铺

no-repeat不进行平铺

inherit继承父级

修改上段代码,添加background-repeat属性

.image-1 {

/*使用url指定图片路径,由于demo是同级目录,默认从当前目录查找,可以直接输入文件名*/

background-image: url("bg.png");

background-repeat: repeat-x;

}

展示效果如下,可以看到,只在水平(x轴)进行了平铺。

其他的属性值,可以挨个换上去看看展示的效果。

background-position

指定背景图片的起始位置,默认情况下,图片的左上角(0,0)会与元素的左上角(0,0)重合,可以通过该属性来产生偏移,也就是说让图片的左上角(0,0)与元素的指定位置重合。主要的取值有:

top、left、bottom、right、center的相邻组合值,比如top left表示左上,如果仅指定一个值,则第二个值默认为center

x% y%水平和垂直的百分比,左上角为0% 0%,右下角为100% 100%,如果仅指定一个值,则第二个值默认为50%

x y水平和垂直的坐标值,默认单位为px,如果仅指定一个值,则第二个值默认为50%

修改代码片段中的样式为:

.image-1 {

/*使用url指定图片路径,由于demo是同级目录,默认从当前目录查找,可以直接输入文件名*/

background-image: url("bg.png");

background-position: 20px 50px;

}

展示效果如下

可以看到,图片的左上角(0, 0)与元素的(20, 50)重合。

background-attachment

设置图片的滚动方式,当元素添加了背景图后,默认情况,背景图就会在元素的区域内固定,随着元素的滚动而滚动。可取值为:

scroll默认值,跟随元素滚动

fixed相对于浏览器的左上角进行定位,产生悬浮的效果(元素内容滚动,背景不动)

inherit继承父级

修改代码片段

<style>

.demo-image{

width: 500px;

height: 800px;

}

.image-1 {

/*使用url指定图片路径,由于demo是同级目录,默认从当前目录查找,可以直接输入文件名*/

background-image: url("bg.png");

background-repeat: no-repeat;

background-attachment: fixed;

}

</style>

<div>

我是内容我是内容我是内容<br/><br/><br/><br/><br/>

我是内容我是内容我是内容<br/><br/><br/><br/><br/>

</div>

展示效果如下

background-clip

通过该属性可以设置背景图的渲染范围,图片的左上角(0,0)还是和元素重合,不产生偏移,使用剪切来实现。可取的值有:

border-box 背景被裁剪到边框区域,和默认的背景区域效果一致。

padding-box 背景被裁剪到内边距区域。

content-box 背景被裁剪到内容区域。

修改.image-1样式如下

.image-1 {

/*使用url指定图片路径,由于demo是同级目录,默认从当前目录查找,可以直接输入文件名*/

background-image: url("bg.png");

/*background-color: #015699;*/

background-repeat: no-repeat;

padding: 30px;

border: 30px#000 dotted;

background-clip: border-box;

}

然后切换background-clip的属性值,或者切换背景图为背景色,展示效果如下

background-origin

指定图片定位的参考位置,当设置背景图的时候,如果不指定background-position属性,则效果相当于background-position: 0 0,因为背景图的左上角(0,0)默认就是和元素的(0,0)重合。

background-image小节,最后有提到一个background-image和border同时出现的问题,这里还得回头看下。

属性的可取值有:

padding-box默认值,背景图相对于内边距区域定位

border-box背景图相对于边框区域定位

content-box背景图相对于内容区域定位

修改样式如下

.image-1 {

/*使用url指定图片路径,由于demo是同级目录,默认从当前目录查找,可以直接输入文件名*/

background-image: url("bg.png");

/*background-repeat: no-repeat;*/

padding: 30px;

border: 30px #000 dotted;

background-origin: padding-box;

}

切换background-origin属性值,然后添加background-repeat属性,对比效果如下

比较background-origin和background-clip的效果,可以看出origin是移动背景图的左上角(0,0)来对齐,clip其实图片没动,直接裁剪掉了其他的部分。

background-size

设置背景图的尺寸,来使背景图更好的适应元素大小,可以取的值有:

x y直接指定背景图的宽度和高度,如果只设置一个值,则第二个值为auto

x% y%已父元素的百分比来设置背景图的宽度和高度,如果只设置一个值,则第二个值为auto

cover 等比例缩放背景图,使背景图完整填充元素的最大边。会造成背景图的部分超出元素区域。

contain 等比例缩放背景图,使背景图完整填充元素的最小边。背景图完整的显示在元素区域,元素区域会留有空白。

举个例子,假设有个元素的宽高是200 * 100,使用的背景图宽高是80 * 50。如果background-size: cover;则背景图会等比拉伸到200 * 125,背景图高度上会有超出元素。如果background-size: contain;则背景图会等比拉伸到160 * 100,元素在宽度上会留有空白区域。

修改示例代码,样式为:

.demo-image{

width: 500px;

height: 500px;

}

.image-1 {

/*使用url指定图片路径,由于demo是同级目录,默认从当前目录查找,可以直接输入文件名*/

/*背景图宽高:364 * 394*/

background-image: url("bg.png");

border: 10px #000 dotted;

background-repeat: no-repeat;

background-size: 500px 500px;

}

尝试修改样式中的background-size值,然后可以看到效果

background

在实际开发中建议使用background属性,该属性的值可组合使用上面介绍的一系列背景属性。

比如,需要设置图片背景,不平铺,则可以写为

.image-1 {

background: url("bg.png") no-repeat;

}

再例如,需要设置图片背景,不平铺,需要让背景图不随内容滚动,则可以写为

.image-1 {

background: url("bg.png") no-repeat fixed;

}

等等各种子属性的组合,大家可以在练习的时候多多尝试,加深理解。

关注公众号,回复”加入觅识帮“,识别群二维码,期待你的加入。

让我们共同相伴,开启软件知识之旅。

关注我们

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。