请教如何用CSS控制图片宽度和高度,使图片不变形

html-css010

请教如何用CSS控制图片宽度和高度,使图片不变形,第1张

宽度和高度不要同时设置,只需要设置一个,另一个就会自动按照图片的原始比例进行缩放,从而使图片不会发生变形。如果情形比较复杂,比如预先不知道图片是宽大于高还是高大于宽,又想把图片控制在某个范围内(比如正方形),就要结合JavaScript脚本才能实现了(网上大把代码,自己百度)。或者也可以把图片搞成背景图,然后利用css3的background-size属性来让图片保持原始比例,这样就无需借助js,缺点就是浏览器必须支持css3

用background-size属性,你想给他多大的百分比都可以,不设置表示默认图片大小,设置100%表示全屏显示图片,按比例缩小或者放大。

这样就可以实现背景图片自适应父容器大小而自动变化,达到填充效果。 但是,图片会被拉伸填充,这并不是我们想要的效果,那么我们可以不设置 100% 参数,而是使用 cover 参数。

设置cover参数以后,背景图会按比例缩放填充满整个背景。如果使用IE浏览器你会发现,上面的 background-size:100% 100% 并没有起到作用,图片原本是怎样就怎样显示,比较大就只能显示一部分。

所以这时需要使用IE特有的滤镜 AlphaImageLoader 兼容性在IE5.5+以上版本的浏览器上都可以完美运行。

1、enabled: 可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true | false_ true: 默认值。滤镜激活。

2、false: 滤镜被禁止。

3、sizingMethod: 可选项。字符串(String)。设置或检索滤镜作用的对象的图片在对象容器边界内的显示方式。

4、crop: 剪切图片以适应对象尺寸。

5、image: 默认值。增大或减小对象的尺寸边界以适应图片的尺寸。

6、scale: 缩放图片以适应对象的尺寸边界。

7、src: 必选项。字符串(String)。使用绝对或相对 url 地址指定背景图像。假如忽略此参数,滤镜将不会作用。

特性:

1、Enabled: 可读写。布尔值(Boolean)。参阅 enabled 属性。

2、sizingMethod: 可读写。字符串(String)。参阅 sizingMethod 属性。

3、src: 可读写。字符串(String)。参阅 src 属性。

说明:

在对象容器边界内,在对象的背景和内容之间显示一张图片。并提供对此图片的剪切和改变尺寸的操作。如果载入的是PNG格式,则0%-100%的透明度也被提供。

PNG格式的图片的透明度不妨碍你选择文本。也就是说,你可以选择显示在PNG格式的图片完全透明区域后面的内容。这样我们就可以完美兼容绝大多数的浏览器,实现用CSS让背景图片100%填充了。

#neir{width:726pxheight:570pxbackground:url(../image/img_05.jpg) no-repeatfloat:left}

background-image换成background

在background中加上no-repeat;

最好再加一个背景颜色,如#000000