前言:在很多网站,不管页面宽度的变化,都需要里面的图片或者视频,宽高比不变。有两种实现方式。
1. aspect-ratio 属性
使用 aspect-ratio 属性可以直接定义元素的宽高比,但是有兼容性问题
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta
name="viewport"
content="initial-scale=1.0, user-scalable=no, width=device-width"
/>
<title>document</title>
<style>
.item {
background: #000;
width: 50%;
margin: 0 auto;
aspect-ratio: 4 / 3;
}
</style>
</head>
<body>
<div class="item"></div>
<script></script>
</body>
</html>
2. 使用包含块
再套一层元素,使用 padding-top 撑开包含块,再嵌套一层元素填写类型,绝对定位上包含快。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta
name="viewport"
content="initial-scale=1.0, user-scalable=no, width=device-width"
/>
<title>document</title>
<style>
.item {
background: #000;
width: 50%;
margin: 0 auto;
aspect-ratio: 4 / 3;
}
.inner {
width: 100%;
padding-top: 75%;
height: 0;
position: relative;
}
.container {
position: absolute;
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div class="item">
<div class="inner">
<div class="container">这是内容</div>
</div>
</div>
<script></script>
</body>
</html>