html - 100vh、50% 和响应能力

标签 html css

我有这些堆叠的 div,它们是 height: 100vh;(存在 polyfill)。然后在那个 div 里面,我有 8 个 div,它们被认为是一个完美的正方形,我使用 width: 0;padding-left: 25%; 技巧为了那个原因。但我想知道如何让 2 行始终适合 height: 100vh; div 并缩小以保持 1:1 比例。

我提供了一个 JSFiddle开始。

最佳答案

我不完全确定这是否是您要查找的内容,但您可以将 .entropy 的高度和宽度都设置为视口(viewport)高度的 25%。这样他们将永远是平方的。

然后您可能希望每 5 个方格清除一次 float 。

.wrap {
    height: 100vh;
    zoom: 1;
}

.wrap:after {
    clear: both;
    content: ".";
    display: block;
    font-size: 0;
    height: 0;
    line-height: 0;
    visibility: hidden;
}

.entropy {
    float: left;
    width: 25vh;
    height: 25vh;
    border: 1px solid red;
}

.entropy:nth-of-type(5n) {
    clear: left;
}

.entropy:before {
    display: inline-block;
    vertical-align: middle;
    content: '';
    height: 100%; 
}

.entropy p {
    display: inline-block;
    vertical-align: middle;
}
<div class="wrap">
    <div class="entropy">
        <p>
            Hello
        </p>
    </div>
    <div class="entropy">
        <p>
            Hello
        </p>
    </div>
    <div class="entropy">
        <p>
            Hello
        </p>
    </div>
    <div class="entropy">
        <p>
            Hello
        </p>
    </div>
    <div class="entropy">
        <p>
            Hello
        </p>
    </div>
    <div class="entropy">
        <p>
            Hello
        </p>
    </div>
    <div class="entropy">
        <p>
            Hello
        </p>
    </div>
    <div class="entropy">
        <p>
            Hello
        </p>
    </div>
</div>


编辑:另一种方法是做这样的事情:

.entropy {
    position: relative;
    width: 25%;
    overflow: hidden;
    float: left;
}
.entropy:before {
    content: "";
    display: block;
    padding-top: 25vw;
}

这种方式使一切居中更容易,但您可能需要稍微更改 HTML。

这是一个基于视口(viewport)宽度的例子: jsfiddle .

这里是一个基于视口(viewport)高度的例子: jsfiddle .

关于html - 100vh、50% 和响应能力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28665525/

相关文章:

html - 悬停问题。 HTML 和 CSS

jquery - 如何在占用空白空间的CSS中制作网格画廊?

javascript - CSS FPS View 闪烁和卡住

jquery - 使用 AJAX 提交表单后如何重置验证?

html - 什么是 SVG 中的笔划和笔划宽度以及它如何在 HTML 中呈现?

html - :before pseudo-class doesn't work with images

html - 如何使 div 框彼此高度相同,同时在其中对齐列表项

javascript - 如何通过 javascript 更改样式表

html - 如何使网站窗口的最小化更加动态,而不是笨拙?

javascript - XHTML JavaScript 在加载页面其余部分之前预加载图像