我正在尝试创建一个响应式正方形,并添加了以下内容:
.square {
width: 50%;
height: 50%;
}
但是,它水平扩展但垂直完全不扩展...
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<style>
body{
background: #cccede;
}
.square {
width: 50%;
height: 50%;
border: 2px solid black
}
</style>
</head>
<body>
<div class="square"></div>
</body>
</html>
[请,你们可以看一下代码片段,并帮助我弄清楚为什么盒子不考虑窗户的高度来计算其高度吗?
谢谢。
body {
background: #cccede;
}
.square {
width: 50vw;
height: 50vh;
border: 2px solid black
}
表示它的高度将为其父容器的一半。您的正方形很小,因为它在<body>
<div class="square"></div>
</body>
标签内,很小。您可以通过以下方法使height: 50%
与屏幕一样高:
body
实际上,它显示的是身高的50%(实际上,它显示的是100%)。如以下示例所示,主体本身就是那个高度((为主体赋予红色边框的地方)。
body {
background: #cccede;
}
.square {
width: 50vw;
height: 50vh;
border: 2px solid black
}
<body>
<div class="square"></div>
</body>
您可能要使用“视口单位”,例如body{
background: #cccede;
border:1px solid red;
}
.square {
width: 50%;
height: 50%;
border: 2px solid black;
}
:
<div class="square"> </div>
vh
或,只需在身体上设置一个高度(或最小高度):
body{
background: #cccede;
border:1px solid red;
}
.square {
width: 50vw;
height: 50vh;
border: 2px solid black;
}
<div class="square"> </div>