css 如何实现图片自适应16:9的比例

AI 概述
需求分析CSS 的实现方案 需求 要求不管原图的大小是多少,宽度一定,高度要自自适应为 16:9。 分析 对于正常的固定好宽度大小,这个需求很容易解决,直接通过人工计算,根据宽度的数值计算好高度的数值,然后 css 直接设置高度就行了。这样当然简单。可是现在在移动开发的过程中,我们为了自适应不同大...
目录
文章目录隐藏
  1. 需求
  2. 分析
  3. CSS 的实现方案

需求

要求不管原图的大小是多少,宽度一定,高度要自自适应为 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的比例的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » css 如何实现图片自适应16:9的比例

发表回复