设置高度与宽度
可以说我有一个div设置高度与宽度
div {
float: left;
width: 447px;
height: 447px;
background-color: blue;
margin-left: 1.3%;
margin-top: 1.3%;
max-width: 23.4%;
max-height: 47%;
}
<div></div>
在div为盒状,它具有相同的宽度和高度。 但随着浏览器不断调整大小和屏幕越来越小,由于最大宽度和最大高度设置为%值,我不必使用媒体查询,但宽度和高度之间的比率变得越来越不同。 因此,我们可以说屏幕尺寸是1440x900,宽度和高度的计算将会不同,并且箱形将被破坏为矩形。
有没有办法如何保持div盒形状而不使用额外的媒体查询?
您可以使用视单位并设置height
和width
以相同vw
例如。
div{
width: 40vw;
height: 40vw;
background-color: blue;
}
<div></div>
太保持方形屏幕边界之内,你可以在vh
单位
body, html {
margin: 0;
padding: 0;
}
div{
width: 60vw;
height: 60vw;
max-height: 100vh;
max-width: 100vh;
background-color: blue;
}
<div></div>
这将保持它的平方,但如果这是必要的,则不在屏幕边界内。 – GolezTrol
如果需要的话,你总是可以使用'40vmin'。 –
视窗单元的选择几乎是UNIVERS添加max-height
和max-width
盟友支持在这一点上。
http://caniuse.com/#feat=viewport-units
但是,您也可以使用javascript/JQuery。
function onResize() {
var el = $('#element');
el.height(el.width());
}
$(window).resize(onResize);
$(document).ready(onResize);
注意,你的问题肯定是重复的。
div{
width: 40vmin;
height: 40vmin;
background-color: blue;
display: inline-block;
}
div+div { background-color: green; }
<div></div><div></div>
在一个场景中,其中多个div在行中,它破坏了整个定位。 – Darlyn
@trolkura我不知道你的意思是破坏定位。它的工作原理应该如何。如果你想要它们并排使用'display:inline-block'。显示该答案的更新。 –
[谷歌框方形的CSS左右(https://spin.atomicobject.com/2015/07/14/css-responsive-square/) – GolezTrol