css高度随宽度比例变化的几种实现方法
【方案一:padding实现】
原理:
一个元素的 padding,如果值是一个百分比,那这个百分比是相对于其父元素的宽度而言的,padding-bottom 也是如此。
使用 padding-bottom 来代替 height 来实现高度与宽度成比例的效果,将 padding-bottom设置为想要实现的 height 的值。同时将
其 height 设置为 0 以使元素的“高度”等于 padding-bottom 的值,从而实现需要的效果。
<div class="father"> <div class="childbox"></div> </div> <style type="text/css"> .childbox{ padding-bottom: 20%; width: 20%; height: 0; background: #888888; } </style>
上例宽高比是1比1,实现的是正方形,并且根据父级盒子宽度实现等比缩放
【方案二:一个隐藏的图片来实现】
原理:
div容器如果不给定高度,它的高度会随着容器内部的元素变化而撑大,这个时候,我们在容器内部添加一张符合我们宽高比例的图片,给图片设置宽度100%;高度auto,我们知道图片只设置宽度的话,高度会随宽度来进行比例变化,自动缩放,这样我们内部的子容器的高度也就会按照比例缩放了。当然这个img你可以占位隐藏,也可以用别的盒子覆盖上。
#container { width: 100%; } .attr { background-color: #008b57; } .attr img{ width: 100%; height: auto; } </style> <div id='container'> <div class='attr'> <img src="1.png" alt=""> </div> </div>
这个方法不需要考虑任何兼容性,PC移动完美运行。除了增加了一个dom结构,但是一个页面成百上千的代码来说,不值一提。
如果你觉得增加img标签多发了http请求,那么base64图片编码可以解决这个问题,由于我们的的图片只需要一个形状而已,所
以可以大胆的压缩,然后编码,连http请求都省了。
【方案三:vw,vh】
css3的新单位(css3大法好~),我们将父容器的宽度和高度定义为相同的vw,这样父容器的高度和宽度就是相同值,这个时候,子容器的宽高值设为百分比,不管父容器大小如何变,子容器的高度和宽度比都是不会变的
单位 说明
vw 相对于视窗的宽度
vh 相对于视窗的高度
vmin 相对于视口的宽度或高度中较小的那个被均分为100单位的vmin
vmax 相对于视口的宽度或高度中较大的那个被均分为100单位的vmax
<div class="father"> <div class="childbox"></div> </div> .childbox{ width: 20%; height: 20vw; background: #888888; }
到此这篇关于css高度随宽度比例变化的几种实现方法的文章就介绍到这了,更多相关css高度随宽度变化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
相关文章
- 这篇文章主要介绍了css和css3弹性盒模型实现元素宽度(高度)自适应的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋2019-05-15
- 这篇文章主要介绍了css实现一个元素高度固定宽度按比例显示效果,本文给大家分享实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下2018-11-28
- 下面小编就为大家带来一篇CSS控制div宽度最大宽度/高度和最小宽度/高度的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-10-12
- 这里我们来看一下在不固定宽度和高度的情况下CSS调整div居中的方法总结,考虑到了老IE的兼容性,同时也有CSS3的translate属性解决方法介绍,需要的朋友可以参考下2016-06-14
- 块级元素和行级元素在设置宽高度时会遇到很多琐碎的问题,这里我们通过分类讨论的方式来进行CSS设置HTML元素的高度与宽度的各种情况总结,需要的朋友可以参考下2016-05-26
- CSS方法解决IE6最小高度,IE6最小宽度,IE6最大高度,IE6最大宽度,兼容IE6/IE7/IE8/火狐。2014-04-02
- 在写CSS的时候我们就会发现max-height、min-height、等属性在IE6下是没有效果的,这个时候我们就可以针对IE做出专门的设置,具体实现如下,感兴趣的朋友可以参考下2013-11-07
- 本文将介绍CSS控制页面最大最小宽度和高度可兼容IE6版本的实现方法,感兴趣的朋友可以参考下2012-11-15
CSS min-height IE6、IE7、FF下DIV自适应高度
IE6、IE7、FF下DIV自适应高度2010-05-13- IE6真是太疯狂了。今天由于项目需要做了这么一个布局:一个外部的相对定位div,内部一个绝对定位的div2009-09-22
最新评论