css 设置宽高比例的方式

文章介绍了利用padding特性、CSSaspect-ratio属性以及rem/vwvh单位来保持元素宽高比的方法。对于无内容的图片背景,可以使用padding百分比;有内容的块状元素,可通过绝对定位内部元素实现;aspect-ratio属性适用于现代浏览器,但可能存在兼容性问题;rem和vwvh适合响应式设计,动态rem适配不同屏幕尺寸。
摘要由CSDN通过智能技术生成
1.padding方式(最优解)

利用padding的特性,padding的计算方式是以父级的宽度进行计算的,如果父级没有,则向上继续寻找,找不到则已屏幕宽为准

我们可以通过这一属性进行计算

普通版(用于图片背景图)
<div class="parent">
	<div class="aspect-ratio-box">
	</div>
</div>
.parent {
	width: 100px;
}
.aspect-ratio-box {
	width: 100px;
	padding-bottom: 100%;
}
进阶版(有内容的块)
核心 在下面加一个绝对定位块
<div class="parent">
	<div class="aspect-ratio-box">
		<div class="aspect-ratio-box-absolute">
		</div>
	</div>
</div>
.parent {
	width: 100px;
}
.aspect-ratio-box {
	width: 100px;
	padding-bottom: 100%;
	position: relative;
}
.aspect-ratio-box-absolute {
	position: absolute;
	width: 100%;
	height: 100%;
}
2.aspect-ratio属性

此属性可直接在元素上设置宽高比,但存在兼容性问题,可在手机端使用

	.aspect-ratio {
		aspect-ratio: 1/1; // 元素宽高比为1比1
	}
3.rem 或vw vh宽度

将宽度设为固定的rem或者vw vh属性;这样也可以做到宽高等比,通常用于响应式或大屏开发中,如果有需要,还要将rem做为动态尺寸。
动态rem: https://blog.csdn.net/weixin_49088636/article/details/128798911?spm=1001.2014.3001.5502

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值