html - Divs 高度加起来达到 100% 但滚动显示

标签 html css responsive-design

我正在尝试使用 CSS 制作一个非常简单的全屏网格。

这里只有相关代码:

html, body {
    height: 100%;
    padding: 0;
    margin: 0;
    font-size: 0;
}

[class*='col-'] {
    display: inline-block;
    height: 100%;
    background-color: red;
}

.row-third {
    height: calc(100% / 3 - 1.333333333333333%);
}
.row-third:nth-child(n+2) {
    margin-top: 2%;
}

.col-third {
    width: calc(100% / 3 - 1.333333333333333%);
}
.col-third:nth-child(n+2) {
    margin-left: 2%;
}
<!DOCTYPE html>
<html>
	<head>
        <link rel="stylesheet" type="text/css" href="responsive.css"></link>
	</head>
	<body>
		<div class="row-third">
            <div class="col-third">

            </div>
            <div class="col-third">

            </div>
            <div class="col-third">

            </div>
        </div>
        <div class="row-third">
            <div class="col-third">

            </div>
            <div class="col-third">

            </div>
            <div class="col-third">

            </div>
        </div>
        <div class="row-third">
            <div class="col-third">

            </div>
            <div class="col-third">

            </div>
            <div class="col-third">

            </div>
        </div>
	</body>
</html>

问题是,即使 3 个 div 的总高度加起来达到 100%,也会出现滚动条。我不希望滚动条显示并且 overflow: hidden; 不会解决问题,只会隐藏网格离开屏幕的事实。如果网格的高度应该是 100%,为什么它会离开屏幕?

我觉得我正在服用疯狂的药片。

最佳答案

我相信这是因为边距 % 值是根据包含元素的宽度 计算的,而不是高度(如您预期的那样)。

参见:Why are margin/padding percentages in CSS always calculated against width?

如果您正在努力使行均匀分布以填充页面的高度,Flexbox 是一个很好的选择。查看https://css-tricks.com/snippets/css/a-guide-to-flexbox/

关于html - Divs 高度加起来达到 100% 但滚动显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36318734/

相关文章:

javascript - 检测 Bootstrap 模式以更改按键输入的目的地

jquery - 带有子菜单项的CSS水平菜单并排垂直显示

javascript - 以移动为中心的 Bootstrap 导航栏品牌

Safari 上的 CSS 问题

html - 列表中的图像和文本内联

javascript - 循环音频指定的次数 Html5 或 Javascript

html - Bootstrap 4 上的水平和垂直居中卡

html - 如何构建柔性结构?

image - srcset:定义一个文件到视网膜桌面

html - www.flipboard.com 上的响应式 + 滚动效果