html - 如何确保 flexbox 小于周围的元素

标签 html css flexbox

我正在尝试为图片库实现 Flexbox 容器。我希望这个画廊不需要使用滚动条,而是调整图像的大小以适应屏幕。

<!DOCTYPE html>
<html>
<head>

<style>

* {
    box-sizing: border-box;
}

html, body {
    height: 100%;
    margin: 0;
}

#flex-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    background-color: blue;
    height: 90%;
}

.img-wrap {
    width: 25%;
    height: 25%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.img-wrap img {
    max-width: 100%;
    max-height: 100%;
    height: auto;
    width: auto;
}

</style>
</head>
<body>

<div class="text-wrap">This should always be visible</div>

<div id="flex-container">

    <div class="img-wrap"><img src="https://picsum.photos/200"></div>
    <div class="img-wrap"><img src="https://picsum.photos/300/200"></div>
    <div class="img-wrap"><img src="https://picsum.photos/400/800"></div>
    <div class="img-wrap"><img src="https://picsum.photos/500/250"></div>

    <div class="img-wrap"><img src="https://picsum.photos/450/505"></div>
    <div class="img-wrap"><img src="https://picsum.photos/350/520"></div>
    <div class="img-wrap"><img src="https://picsum.photos/250/300"></div>
    <div class="img-wrap"><img src="https://picsum.photos/550/200"></div>

    <div class="img-wrap"><img src="https://picsum.photos/200"></div>
    <div class="img-wrap"><img src="https://picsum.photos/300/200"></div>
    <div class="img-wrap"><img src="https://picsum.photos/400/800"></div>
    <div class="img-wrap"><img src="https://picsum.photos/500/250"></div>

    <div class="img-wrap"><img src="https://picsum.photos/450/505"></div>
    <div class="img-wrap"><img src="https://picsum.photos/350/520"></div>
    <div class="img-wrap"><img src="https://picsum.photos/250/300"></div>
    <div class="img-wrap"><img src="https://picsum.photos/550/200"></div>

</div>

<div class="text-wrap">This should always be visible, even without using a scrollbar</div>

</body>
</html>

问题是当窗口足够小(垂直)时,底部文本会被截断,用户需要滚动才能看到它。

我希望文本的两个部分始终可见。图像应始终变小,直到文本的两个部分都接触为止,此时可以接受滚动条。

最佳答案

在text-wrap类上添加position fixed,它将固定顶部和底部标题的位置。

.text-wrap {
    postion:fixed;
}

关于html - 如何确保 flexbox 小于周围的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59150772/

相关文章:

html - 一个文档可以有超过 1 个响应式 CSS 样式表吗?如果是这样,如何?

css - Raphael SVG 元素有时会溢出

css - 溢出不会使 flexbox 容器的子容器调整大小

css - 使用 Flexbox 和 Material UI 使 Item 位于底部

html - 在html中插入图像后写入文本

javascript - 提交前使用 javascript 进行 HTML 表单验证

html - SCSS 不映射/编译

javascript - 是否可以在不使用html5的情况下在IE8和其他主流浏览器中实现模糊效果和运动模糊效果?

css - Flexbox 容器不包括 margin-bottom

html - 固定宽度父级内的液体宽度