gpt4 book ai didi

html - 带正方形的垂直 CSS Flexbox

转载 作者:行者123 更新时间:2023-11-28 17:53:10 25 4
gpt4 key购买 nike

我正在尝试通过以下方式实现响应式布局:- 一个固定的标题宽度 width 100% 和高度例如50px- 右侧 3 个相等的正方形,占据了页面从上到下的整个空间。- 主要内容占据了页面剩余空间

目前我的代码看起来像这样(jsfiddle)但是我无法根据当前高度自动设置右侧框的宽度以便显示为正方形...有人知道吗纯 CSS 的解决方案?

HTML:

        <div id="mainView">
<div id="content">
</div><!-- content -->

<div id="squaressWrapper">
<div id="square1"></div><!-- dummy -->
<div id="square2"></div><!-- dummy -->
<div id="square3"></div><!-- dummy -->
<div id="square4"></div><!-- dummy -->
</div><!-- squaressWrapper -->
</div><!-- mainView -->
</div><!-- wrapper -->

CSS: HTML { 高度:100%; margin :0; 填充:0;

body {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px;
}

#wrapper {
width: 100%;
height: 100%;
display: flex;
display: -webkit-flex;
flex-direction: column;
-webkit-flex-direction: column;
-webkit-align-content: stretch;
align-content: stretch;
}

#header {
height: 50px;
width: 100%;
background: #ffb8c4;
}

#mainView {
flex: 1;
-webkit-flex: 1;
position: relative;
background: #666;
}

#squaressWrapper {
position: absolute;
height: 100%;
background: green;
right: 0;
display: flex;
display: -webkit-flex;
flex-direction: column;
-webkit-flex-direction: column;
-webkit-align-content: stretch;
align-content: stretch;
}

#square1 {
position: relative;
flex: 1;
-webkit-flex: 1;
width: 100px;
border: 2px solid white;
background: green;
}

#square2 {
position: relative;
flex: 1;
-webkit-flex: 1;
width: 100px;
border: 2px solid white;
background: green;
}

#square3 {
position: relative;
flex: 1;
-webkit-flex: 1;
width: 100px;
border: 2px solid white;
background: green;
}

最佳答案

我得到了一个解决方案,按照 Nicho 的建议使用 vh 单位。

CSS

#squaressWrapper {
position: absolute;
height: 100%;
width: 33vh;
right: 0;
display: flex;
display: -webkit-flex;
flex-direction: column;
-webkit-flex-direction: column;
-webkit-align-content: stretch;
align-content: stretch;
}

.squares {
position: relative;
flex: 1;
-webkit-flex: 1;
width: calc(100% - 15px);
border: 2px solid white;
background: green;
right: -11px;
}

demo

尺寸有点奇怪,因为将容器的宽度设置为 calc(33vh - 15px) 不起作用。

可能在不久的将来会更容易。

我不知道浏览器支持什么,我只在 Chrome 中测试过。

注意:15px 是标题的尺寸 (45px) 除以方 block 数。

关于html - 带正方形的垂直 CSS Flexbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21867376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com