宽度100%,高度自适应

需求:

一张图片宽度要求在不同分辨率的屏幕下都能达到100%满屏的宽度,图片不能变形。

<div class="img"><img src="1.jpg" alt="测试图片"/></div>

第一反应是,根据图片的宽高比设置图片的高度,如:图片是1920*1080的,那么设置.img的样式为:

再看效果,完美展示。任务完成。

可是,这是真的吗?

当我们把img换个标签,图片作为背景图片展示的时候,发现并不是我们想的这样,height为0,这什么鬼。

事实上是,高度是相对于父级高度的百分比,前提是父级设置了高度,就是说父级的高度一定要有一个具体的值,如果父级完全是由内容撑起来的高度的话,浏览器会认为父级高度为0,所以不管你的子集设置的高度是百分之多少,浏览器渲染出来的结果都为0。

前面的方法能够奏效,原因并不是.img设置了一个height的高度,而是因为img自动撑起来的高度。

所以这个方法并虽然解决了当前的需求,但是当我们要求把img标签改为背景图片的时候,就无法实现了。

换个思路,既然height的百分比不是相对于宽度的,那么有没有相对于宽度多少的百分比数值呢?

有,那就是padding和margin。

这两者的值设为百分比的话,是完全相对于宽度来的。

那么此时.img的高度与宽度完全一致,利用这一特性,可以完美实现上述需求。

充分利用padding的百分比值是相对于宽度的值这一特性。

时间: 2024-07-28 22:56:55

宽度100%,高度自适应的相关文章

网页图片宽度和高度自适应的方法

在我们设计网页的时候,经常会遇到图片自适应问题,实际这些工作完全可以交给浏览器来完成就可以了,只可惜,无论是IE还是FIREFOX在图片自适应这个问题上都处理的不尽人意,网上实现网页图片宽度和高度的方法也很多,主要又两种: 第一种是使用CSS来完成:第二种是使用Javascript来完成,根据实际的应用效果来说,使用Javascript还是比较靠谱一点,因为CSS的expression的确有点烦,笔者是指使用效果上有点恼人,本文专门把这两种都总结一下,方便站长们参考使用. 一.使用CSS实现图片

iOS 字符串的宽度和高度自适应

//获取字符串的宽度 -(float)widthForString:(NSString *)value fontSize:(float)fontSize andHeight:(float)height { UIColor *backgroundColor=[UIColor blackColor]; UIFont *font=[UIFont boldSystemFontOfSize:fontSize]; CGRect sizeToFit = [value boundingRectWithSize:

宽度100%高度70%的背景图片

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>宽高比例10:7</title> 6 <style type="text/css"> 7 *{ 8 margin:0; 9 padding:0; 10 box-sizing: border-box; 11

一个DIV三列布局100%高度自适应的好例子(国外)

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang=&

css 背景图片宽度100% 高度延y轴重复repeat-y方法

.bg-speaker{background: url(../images/sp_bg.png) left repeat-y;background-size:contain;}

如何在NPOI中实现宽度自适应和高度自适应

转自: blog.csdn.net/echoshinian100/article/details/38540321 由于系统需要在网页上导 出Excel文件,最近花了一段时间去学习NPOI插件.通过NPOI插件在服务端来生成Excel文件流并下载到本地.NPOI实际上和Excel一毛 钱关系都没有,它只是完全破译了Excel文件的存储格式,并用C#来生成同样的格式从而被识别为Excel文件. NPOI和Excel VBA相比优点很多,首先是Excel VBA中的对象太多,而且是基于Visual

微信小程序 Image 图片实现宽度100%,高度自适应

做法如下: 样式设置宽度100%, .img{ width: 100%; } 添加属性 mode="widthFix", <image class="img" src="../../images/hello.png" mode="widthFix"> 即可实现!

html中图片自适应浏览器和屏幕,宽度高度自适应

1.(宽度自适应):在网页代码的头部,加入一行viewport元标签. <meta name="viewport" content="width=device-width,initial-scale=1" /> viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的100%. 2.(字体自适应):字体

Ios之label自适应里面的文字,自动调整宽度和高度的

[label setNumberOfLines:0];//设置显示的行数 NSString *s = @"string......";//设置要显示的内容 UIFont *font = [UIFont fontWithName:@"Arial" size:12];//设置字体样式 CGSize size = CGSizeMake(320,2000);//设置最大容量 CGSize labelsize = [s sizeWithFont:font constraine

android ImageView 宽度设定,高度自适应

最近碰到一个需求,要求是在不知道图片宽度和高度的情况下,让图片在指定宽度内充满,同时高度自适应,在网络上查找了一下,也有很多解决方法,后来针对自己的应用,选择了一个修改较小的方案,最后证明效果还是蛮不错的,记录在这里,希望能帮助到有同样需求的人. 首先,需要给你的ImageView布局加上android:adjustViewBounds="true" <ImageView android:id="@+id/iv_custom_showdress_item_dress&q