是否可以设置相同的高度和宽度(比例1:1)?
例子
+----------+
| body |
| 1:3 |
| |
| +------+ |
| | div | |
| | 1:1 | |
| +------+ |
| |
| |
| |
| |
| |
+----------+
CSS
div {
width: 80%;
height: same-as-width
}
现在最好的方法:纵横比属性(2022)
div {
纵横比:1 / 1;
宽度:50%;
边框:1px纯红色;
}
<div>纵横比:1 / 1</div> .
其他方法:根据视口宽度使用vw单位作为响应高度/宽度。
Vw:视口宽度的百分之一。(源MDN)
DEMO
HTML:
<div></div>
CSS为1:1的纵横比:
div{
width:80vw;
height:80vw; /* same as width */
}
表根据所需的纵横比和元素的宽度来计算高度。
aspect ratio | multiply width by
-----------------------------------
1:1 | 1
1:3 | 3
4:3 | 0.75
16:9 | 0.5625
这个技巧可以让你:
在元素中插入任何内容而不使用position:absolute;
没有不必要的HTML标记(只有一个元素)
根据视口的高度使用vh单位调整元素的纵横比
你可以根据视口的高度和宽度制作一个响应正方形或其他纵横比,总是适合视口(参见这个答案:响应正方形根据视口的宽度和高度或这个演示)
这些单元由IE9+支持,参见canIuse了解更多信息
现在最好的方法:纵横比属性(2022)
div {
纵横比:1 / 1;
宽度:50%;
边框:1px纯红色;
}
<div>纵横比:1 / 1</div> .
其他方法:根据视口宽度使用vw单位作为响应高度/宽度。
Vw:视口宽度的百分之一。(源MDN)
DEMO
HTML:
<div></div>
CSS为1:1的纵横比:
div{
width:80vw;
height:80vw; /* same as width */
}
表根据所需的纵横比和元素的宽度来计算高度。
aspect ratio | multiply width by
-----------------------------------
1:1 | 1
1:3 | 3
4:3 | 0.75
16:9 | 0.5625
这个技巧可以让你:
在元素中插入任何内容而不使用position:absolute;
没有不必要的HTML标记(只有一个元素)
根据视口的高度使用vh单位调整元素的纵横比
你可以根据视口的高度和宽度制作一个响应正方形或其他纵横比,总是适合视口(参见这个答案:响应正方形根据视口的宽度和高度或这个演示)
这些单元由IE9+支持,参见canIuse了解更多信息