CSS保持元素宽高比,固定元素宽高比

方法一:

html 复制代码
<div class="hcp-fixed-aspect-ratio-box">
	这里是正文内容
</div>
css 复制代码
.hcp-fixed-aspect-ratio-box {
	width: 50%;
	color: #FFFFFF;
	margin: 100px auto;
	background: #FF0000;
	/* 宽高比2:1,兼容性可能不太好 */
	aspect-ratio: 2 / 1;
}

方法二:

html 复制代码
<div class="hcp-fixed-aspect-ratio-box">
	<div class="hcp-inner">
		<div class="hcp-content">
			这里是正文内容
		</div>
	</div>
</div>
css 复制代码
.hcp-fixed-aspect-ratio-box {
	width: 50%;
	margin: 100px auto;
	background: #FF0000;
}
.hcp-fixed-aspect-ratio-box .hcp-inner {
	height: 0;
	width: 100%;
	/* 
	padding在各个方向中的中的百分比,都是相较于父元素宽度的
	所以这里设置padding-top为50%,就将其高度撑开到了父元素宽度的50%
	它自身高度为0,加上padding-top的高度,总体高度就是其父元素宽度的50%
	 */
	padding-top: 50%;
	/* 然后使用相对定位 */
	position: relative;
}
.hcp-fixed-aspect-ratio-box .hcp-content {
	/* 设置其宽高与父元素相同 */
	width: 100%;
	height: 100%;
	color: #FFFFFF;
	/* 然后使用绝对定位 */
	top: 0;
	left: 0;
	position: absolute;
}
相关推荐
van久9 小时前
.Net Core 学习:Razor Pages中 HTML 表头字段的两种写法对比
学习·html·.netcore
苏打水com9 小时前
第十二篇:Day34-36 前端工程化进阶——从“单人开发”到“团队协作”(对标职场“大型项目协作”需求)
前端·javascript·css·vue.js·html
知了清语9 小时前
为天地图 JavaScript API v4.0 提供 TypeScript 类型支持 —— tianditu-v4-types 正式发布!
前端
程序员Sunday9 小时前
为什么 AI 明明写后端更爽,但却都网传 AI 取代前端,而不是 AI 取代后端?就离谱...
前端·后端
之恒君10 小时前
React 性能优化(方向)
前端·react.js
3秒一个大10 小时前
Vue 任务清单开发:数据驱动 vs 传统 DOM 操作
前端·javascript·vue.js
an869500110 小时前
vue自定义组件this.$emit(“refresh“);
前端·javascript·vue.js
Avicli10 小时前
Gemini3 生成的基于手势控制3D粒子圣诞树
前端·javascript·3d
GinoWi10 小时前
HTML标签 - 列表标签
前端
o__A_A10 小时前
渲染可配置报告模板+自适应宽度(vue3)
前端·vue.js