框模型的 width 和 height (不是content设置的width,height),框模型 content 不足以放下内部元素时可以延伸到框的外部,即使 content 设置的height为0,然而默认溢出是当内容过多时溢流的内容被显示在框外边。
示例1:先看溢出框的情况
结果1:
发现img溢出到父容器之外
示例2:溢出框被删减的情况
发现设置完overflow之后img超出父容器的部分被删减了。
为什么height设置为0?
因为容器如果去掉这一行的话,img下面会出现一个img大小的空白区域,这个区域是设置 padding-bottom 导致的,所以设置height=0是为了让父元素没有高度。
可以使用: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>
解决这个问题的方法如下:
1、先在html里添加一个img图片标签。
2、运行页面后,这是完整显示图片大小的。图片大概是400x260左右的大小。
3、要进入图片缩放,可以在css样式里设置图片的宽度和高度,但不要宽和高都设置了,比如这里都设置为100px。
4、设置后,看下页面可以看到图片现在变形了。
5、正确的方法应该是只设置其中一个,比如设置宽度为100px,高度设置为自动就行了。
6、这里设置后的效果,图片并没有变形。
7、同样,如果是限定高度的大小,就设置宽度为自动,图片同样不会变形,这样问题就解决了。