gpt4 book ai didi

html - 如何使这个 CSS 布局起作用?

转载 作者:太空宇宙 更新时间:2023-11-04 01:57:13 25 4
gpt4 key购买 nike

我想将 .e div 在 .second div 中增加 50%。我的目标是摆脱两个 .e div 之间的空白。

我想在不明确向上移动 div 的情况下执行此操作(例如position:relative;顶部:-50%;)。我注意到这样做 float: right;在 .first div 上修复了布局问题,但破坏了 HTML 内容的顺序。

这是我正在尝试做的事情的图片: enter image description here

如何在保持我的 html 顺序不变的情况下完成这项工作?

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

h1, h2, h3, h4, h5, h6 {
margin: 0;
}

body {
font-family: 'Montserrat', Helvetica, Arial, sans-serif;
}
body .a {
background: #f04576;
}
body .b {
background: #53a2e3;
}
body .c {
background: #ef4658;
text-align: right;
}
body .d {
background: #f4ad49;
text-align: left;
}
body .e {
background: #69de92;
}
body .first {
height: 100%;
width: 100%;
}
body .second {
height: 100%;
width: 100%;
}
body .tall:nth-child(2n) {
position: relative;
top: -50%;
}
body .tall, body .long, body .square {
float: left;
}
body .tall {
height: calc(100% - 4rem);
width: calc(25% - 4rem);
padding: 2rem;
font-size: 2.5rem;
text-transform: uppercase;
}
body .long {
height: calc(50% - 4rem);
width: calc(50% - 4rem);
padding: 2rem;
font-size: 2.5rem;
text-transform: uppercase;
}
body .square {
height: calc(50% - 4rem);
width: calc(25% - 4rem);
padding: 2rem;
font-size: 2.5rem;
text-transform: uppercase;
text-align: center;
}
<div class='first'>
<div class='a tall'>A</div>
<div class='c square'>B</div>
<div class='b long'>C</div>
<div class='d long'>D</div>
<div class='e square'>E</div>
</div>
<div class='second'>
<div class='a square'>A</div>
<div class='c long'>B</div>
<div class='b long'>C</div>
<div class='d square'>D</div>
<div class='e tall'>E</div>
</div>

编辑 1:我不想做 position: relative; top: -50%;,因为如果我重复我的 HTML,我会在每个 .second div 之后留下一个巨大的空白。这是一个例子:

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

h1,
h2,
h3,
h4,
h5,
h6 {
margin: 0;
}

body {
font-family: 'Montserrat', Helvetica, Arial, sans-serif;
}

body .a {
background: #f04576;
}

body .b {
background: #53a2e3;
}

body .c {
background: #ef4658;
text-align: right;
}

body .d {
background: #f4ad49;
text-align: left;
}

body .e {
background: #69de92;
}

body .first {
height: 100%;
width: 100%;
}

body .second {
height: 100%;
width: 100%;
}

body .tall:nth-child(2n) {
position: relative;
top: -50%;
}

body .tall,
body .long,
body .square {
float: left;
}

body .tall {
height: calc(100% - 4rem);
width: calc(25% - 4rem);
padding: 2rem;
font-size: 2.5rem;
text-transform: uppercase;
}

body .long {
height: calc(50% - 4rem);
width: calc(50% - 4rem);
padding: 2rem;
font-size: 2.5rem;
text-transform: uppercase;
}

body .square {
height: calc(50% - 4rem);
width: calc(25% - 4rem);
padding: 2rem;
font-size: 2.5rem;
text-transform: uppercase;
text-align: center;
}
<div class='first'>
<div class='a tall'>A</div>
<div class='c square'>B</div>
<div class='b long'>C</div>
<div class='d long'>D</div>
<div class='e square'>E</div>
</div>
<div class='second'>
<div class='a square'>A</div>
<div class='c long'>B</div>
<div class='b long'>C</div>
<div class='d square'>D</div>
<div class='e tall'>E</div>
</div>
<!-- Repeating the code -->
<div class='first'>
<div class='a tall'>A</div>
<div class='c square'>B</div>
<div class='b long'>C</div>
<div class='d long'>D</div>
<div class='e square'>E</div>
</div>
<div class='second'>
<div class='a square'>A</div>
<div class='c long'>B</div>
<div class='b long'>C</div>
<div class='d square'>D</div>
<div class='e tall'>E</div>
</div>

最佳答案

您必须更改此代码:

body .tall:nth-child(2n) {
position: relative;
top: -50%;
}

body .second .tall {
position: relative;
top: -50%;
}

或到

body .second .tall {
position: absolute;
right: 0;
}

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

h1, h2, h3, h4, h5, h6 {
margin: 0;
}

body {
font-family: 'Montserrat', Helvetica, Arial, sans-serif;
}
body .a {
background: #f04576;
}
body .b {
background: #53a2e3;
}
body .c {
background: #ef4658;
text-align: right;
}
body .d {
background: #f4ad49;
text-align: left;
}
body .e {
background: #69de92;
}
body .first {
height: 100%;
width: 100%;
}
body .second {
height: 100%;
width: 100%;
}
body .second .tall {
position: absolute;
right: 0;
}
body .tall, body .long, body .square {
float: left;
}
body .tall {
height: calc(100% - 4rem);
width: calc(25% - 4rem);
padding: 2rem;
font-size: 2.5rem;
text-transform: uppercase;
}
body .long {
height: calc(50% - 4rem);
width: calc(50% - 4rem);
padding: 2rem;
font-size: 2.5rem;
text-transform: uppercase;
}
body .square {
height: calc(50% - 4rem);
width: calc(25% - 4rem);
padding: 2rem;
font-size: 2.5rem;
text-transform: uppercase;
text-align: center;
}
<div class='first'>
<div class='a tall'>A</div>
<div class='c square'>B</div>
<div class='b long'>C</div>
<div class='d long'>D</div>
<div class='e square'>E</div>
</div>
<div class='second'>
<div class='a square'>A</div>
<div class='c long'>B</div>
<div class='b long'>C</div>
<div class='d square'>D</div>
<div class='e tall'>E</div>
</div>
<!-- Repeating the code -->
<div class='first'>
<div class='a tall'>A</div>
<div class='c square'>B</div>
<div class='b long'>C</div>
<div class='d long'>D</div>
<div class='e square'>E</div>
</div>
<div class='second'>
<div class='a square'>A</div>
<div class='c long'>B</div>
<div class='b long'>C</div>
<div class='d square'>D</div>
<div class='e tall'>E</div>
</div>

<div class='first'>
<div class='a tall'>A</div>
<div class='c square'>B</div>
<div class='b long'>C</div>
<div class='d long'>D</div>
<div class='e square'>E</div>
</div>
<div class='second'>
<div class='a square'>A</div>
<div class='c long'>B</div>
<div class='b long'>C</div>
<div class='d square'>D</div>
<div class='e tall'>E</div>
</div>
<!-- Repeating the code -->
<div class='first'>
<div class='a tall'>A</div>
<div class='c square'>B</div>
<div class='b long'>C</div>
<div class='d long'>D</div>
<div class='e square'>E</div>
</div>
<div class='second'>
<div class='a square'>A</div>
<div class='c long'>B</div>
<div class='b long'>C</div>
<div class='d square'>D</div>
<div class='e tall'>E</div>
</div>

关于html - 如何使这个 CSS 布局起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42376283/

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