CSS中的背景图片的知识点深度

html-css026

CSS中的背景图片的知识点深度,第1张

在理解css的背景图片之前需要清楚两个问题,在什么情况下去使用css的背景图片?又在什么情况下去使用img标签的内容图片?html中专门有一个img标签用于向页面中去插入内容图片,那么如何区分这两种情况呢?

网页中可以使用很多的图片格式,下面简单的列举一些:

background-position 属性既可以使用关键字,也可以使用像素、em、百分比,最简单的情况下:可以给两个值,一个表示相对于左侧的偏移量,一个表示相对于顶部的偏移量。

calc()可以让浏览器代替你计算任何数值,包括(角度、像素、百分比等),甚至还支持混合单位的计算,非常强大,比如:你使用的页面布局为百分比布局,但是在UI设计稿中又需要去进行20px的偏移,那么就可以写成“calc(100% + 20px)”。

同样的,背景图片右侧定位的问题也可以使用calc()去处理,比如:左侧为文本内容,右侧icon图标的定位。

默认的情况下,背景图片是绘制在元素边框以内的,如果把图片定位到边框的下方,而边框又被设置为半透明,那么图片边缘就会出现半透明的边框,使用background-clip属性可以处理这种情况,background-clip:border-box将其改为padding-box就可以把图片剪裁到内边距盒子内,content-box值会把图片位于内边距及其之外的部分剪裁掉。

背景会附着在指定的元素后面,如果滚动页面,那么背景也会随着页面的滚动而滚动,通过background-attachment属性改变这种行为。

除了fixed和默认值scroll,还可以把background-attachment设为local,它与scroll的区别在于,scroll会让图片相对于元素本身固定,而local会让背景图片相对于元素中的内容固定,也就是元素设置了固定大小,overflow设置了auto或scroll,则元素内部内容滚动显示时,图片会随之滚动。

background-size明确指定一个值,可以重新设置图片大小,也可以让它随着元素大小缩放.

如果希望图片随着元素的缩放而缩放,则必须设置为百分比的形式,不过,百分比设置时不是相对于图片固有的大小,而是相对于容器的大小,如果给图片的宽高都加以百分比的形式处理,那么会导致图片产生变形。

还有一个属性值contain,这个值会让浏览器尽可能的保持图片的最大化,同时不改变图片的宽高比,浏览器决定哪一边使用auto。

另一个属性值为cover,意思是图片会缩放,覆盖整个元素,同时不会变形,如果在一个高而窄的元素中,元素高度会填满,但是图片的两边会被切除掉。

写css背景图片代码可以参考以下:

<html>

<head>

<styletype="text/css">

body{background-image:url(abc.jpg)}

</style>

</head>

<body>

</body>

</html>

扩展资料:

1、背景图片语法:{background-image:url(url)|none}

2、背景固定语法:{background-attachment:fixed|scroll} 

3、背景重复语法:{background-repeat:inherit|no-repeat|repeat|repeat-x|repeat-y}

4、背景定位语法:{background-position:数值|top|bottom|left|right|center}

参考资料来源:百度百科-CSS语法

在CSS2.1里,background属性的简写方式包含五种属性值,从CSS3开始,又增加了3个新的属性值,加起来一共8个。 CSS2.1 background-color使用的背景颜色。 background-image使用的背景图像。 background-repeat如何重复背景图像。 background-attachment背景图像是否固定或者随着页面的其余部分滚动。 background-position背景图像的位置。 CSS3 background-size背景图片的尺寸。默认值:'auto'  其他值:像素,百分比,contain,cover background-origin背景图片的定位区域。 默认值:'padding-box'         'border-box' 、'content-box'(定义背景图片绘制的开始点) background-clip背景的绘制区域。 默认值:'border-box'      还有'padding-box'、'content-box'(定义背景绘制的开始点)简写方式: background:background-color background-image background-repeat background-attachment background-position / background-size background-origin background-clip 不设置的属性可以省略 background-Origin属性指定background-position属性应该是相对位置。注意1、如果背景图像background-attachment是"固定",background-origin属性没有任何效果。 2、background-origin 和background-clip很容易混淆,前者是对背景图片而言,后者是对背景而言。不是一个概念。clip默认值比origin默认值范围大,所以默认不会有裁剪效果,如果想设置裁剪,可以把origin范围设置的比clip大就好。比如:origin:'border-box',clip:'padding-box'或者'content-box'. 3、background-size中contain和cover的区别。 cover此时会保持图像的纵横比并将图像缩放成将完全覆盖背景定位区域的最小大小。完全覆盖,可能有图片显示不完整的情况。 contain此时会保持图像的纵横比并将图像缩放成将适合背景定位区域的最大大小。可能有空白区域 如下图一设置的contain,图二设置的cover