在css里如何让背景图片在不同的屏幕上都完全显示出来,怎么设置百分比

html-css018

在css里如何让背景图片在不同的屏幕上都完全显示出来,怎么设置百分比,第1张

可以使用:Background-size属性

语法:

background-size :[ <length> | <percentage> | auto ]{1,2} | cover | contain

取值:

<length>:

由浮点数字和单位标识符组成的长度值。不可为负值。

<percentage>:

取值为0%到100%之间的值。不可为负值。

说明:

设置背景图片的大小。

指定背景大小,以象素或百分比显示。当指定为百分比时,大小会由所在区域的宽度、高度,以及background-origin的位置决定。还可以通过cover和contain来对图片进行伸缩。

示例代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html charset=utf-8" />

<title>Background-size</title>

</head>

<body>

<div style="border: 1px solid #CCCCCC padding:90px 5px 10px background:url(http://webteam.tencent.com/wp-content/themes/teamblog/img/gg.png) no-repeat  -webkit-background-size: 100% 80px -o-background-size: 100% 80px ">这里的 <code>background-size: 100% 80px</code>。 背景图片将与DIV一样宽,高为80px。</div>

</body>

</html>

宽度 width (与高度 height )是在网页布局中经常用到的属性,但作为新手容易会对两者的定义产生误解。下面我们给出 width 与 height 的准确定义:

上述定义很清晰地指出,元素的 width 只是元素 content 内容区的宽度,不包括 padding , border , 与 margin ,即元素的 width 并不表示元素的 可视宽度

auto 与 text-align:center 都是在局中排版中常会用到的属性设置,他们很容易被混用,下面我们给出两者的准确定义:

因此,当我们想让一个块级元素在另一个块级元素中居中时(比如 p 在某个 div 中), text-align:center 是无效的,而可以通过设置 width:auto 或者 margin:auto 实现自动局中效果。

百分比是实现页面自适应的重要途径,而元素百分比的 宿主 到底是谁一直是令人困扰的问题。其实CSS对于百分比的定义十分明确:

至此我们发现, 包含块( containing block ) 的确切定义就显得尤为重要。有时间的情况下会在这篇中进行进一步的补充或新开一篇进行介绍。

解决这个问题的方法如下:

1、先在html里添加一个img图片标签。

2、运行页面后,这是完整显示图片大小的。图片大概是400x260左右的大小。

3、要进入图片缩放,可以在css样式里设置图片的宽度和高度,但不要宽和高都设置了,比如这里都设置为100px。

4、设置后,看下页面可以看到图片现在变形了。

5、正确的方法应该是只设置其中一个,比如设置宽度为100px,高度设置为自动就行了。

6、这里设置后的效果,图片并没有变形。

7、同样,如果是限定高度的大小,就设置宽度为自动,图片同样不会变形,这样问题就解决了。