css 如何实现图片自适应16:9的比例
目录
需求
要求不管原图的大小是多少,宽度一定,高度要自自适应为 16:9。
分析
对于正常的固定好宽度大小,这个需求很容易解决,直接通过人工计算,根据宽度的数值计算好高度的数值,然后 css 直接设置高度就行了。这样当然简单。可是现在在移动开发的过程中,我们为了自适应不同大小的屏幕,通过设置百分比来定宽,这样 css 无法通过计算得出这个固定的高度。
当然解决这个方式可以通过 js,程序算出绝对高度再进行设置。这是解决问题最容易想到的方法。但是这使我们这个功能的实现需要 js 的介入,大材小用,我们的原则是能用 css 实现的功能尽量用 css,这有利于后期项目的维护。
css 同样可以实现这个问题,我们可以利用边距的百分比属性定义来优雅实现。
我们来看 W3C 对应边距采用不同值得定义
值 | 描述 |
---|---|
auto | 浏览器计算外边距。 |
length | 规定以具体单位计的外边距值,比如像素、厘米等。默认值是 0px。 |
% | 规定基于父元素的宽度的百分比的外边距。 |
inherit | 规定应该从父元素继承外边距。 |
也就是说如果我们的边距值设置为百分比的话,是基于父元素的宽度
所以,
CSS 的实现方案
我们通过百分比设置宽度,根据宽度的比例数值*9/16,计算出高度的百分比数值,设置内边距为高度的数值,最后用绝对定位把图片百分百填充到我们设置的区域里面
<div class="img_wap"> <img src=""/> </div>
CSS 代码
.img_wap{ padding-bottom: 56%; width: 100%; position: relative; } .img_wap img{ width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
最终效果
想要了解更多相关知识,可访问 前端学习网站!!
以上就是 css 如何实现图片自适应 16:9 的比例?的详细内容,更多请关注码云笔记其它相关文章!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » css 如何实现图片自适应16:9的比例
码云笔记 » css 如何实现图片自适应16:9的比例