如何为网站水平堆叠 CSS 个元素
How to stack CSS elements horizontally for websites
我正在构建我的第一个真正的网页,我正在尝试弄清楚如何正确地在主屏幕上堆叠元素。我已经阅读并尝试过类似的帖子,但它们似乎没有满足我的需要。目前我的主页是这样的(忽略页面底部的列表和订阅/登录按钮。它们只是默认主题的一部分):
这是使用以下代码实现的:
HTML:
<div class="desc-pic-parent">
<div class="homepage-description">
<div class="homepage-description-header">
Hi! I'm Lewis Cooper
</div>
<div class="homepage-description-text">
This is a description of me. I will put quite a bit of text here so that I can get a rough idea of what it's going to look like in the final edit of the webpage
</div>
</div>
<div class="square-pretend-img"></div>
</div>
CSS:
@media (min-width: 1001px) {
.disc-pic-parent {
grid-column: 1 / span 3;
display: grid;
grid-gap: 4vmin;
grid-template-columns: 1fr 1fr 1fr;
min-height: 280px;
border-top: 0;
}
.homepage-description{
text-align: left;
display: grid;
grid-gap: 4vmin;
grid-template-columns: 1fr 1fr;
min-height: 280px;
border-top: 0;
}
.homepage-description-header{
font-size: 3rem;
margin-top: 0;
}
.square-pretend-img{
position: relative;
height: 20rem;
width: 20rem;
background-color: #555;
grid-column: 2 / span 2;
}
}
我的目标是尝试让它看起来像这个草图:
这可以使用 flexbox
简单地实现。
只需将这两个 div 包裹在另一个 div
中,然后将 display: flex
赋给 div。
主布局使用网格的想法很好,即使文本太长也会使文本保持恒定宽度,但您还在左侧框中放置了一个网格,这不是布局您想要的图像显示。您还为 img 定义了尺寸并为网格定义了列跨度。
此代码段只是假设您希望 img 具有给定的尺寸,因此删除了额外的网格信息。
@media (min-width: 1001px) {
.desc-pic-parent {
display: grid;
grid-gap: 4vmin;
grid-template-columns: 1fr 1fr;
min-height: 280px;
border-top: 0;
}
.homepage-description {
text-align: left;
min-height: 280px;
border-top: 0;
}
.homepage-description-header {
font-size: 3rem;
margin-top: 0;
}
.square-pretend-img {
position: relative;
height: 20rem;
width: 20rem;
background-color: #555;
}
}
<div class="desc-pic-parent">
<div class="homepage-description">
<div class="homepage-description-header">
Hi! I'm Lewis Cooper
</div>
<div class="homepage-description-text">
This is a description of me. I will put quite a bit of text here so that I can get a rough idea of what it's going to look like in the final edit of the webpage
</div>
</div>
<div class="square-pretend-img"></div>
</div>
注意:您可能希望从媒体查询中提取一些样式,并将其用于所有视口尺寸。
我正在构建我的第一个真正的网页,我正在尝试弄清楚如何正确地在主屏幕上堆叠元素。我已经阅读并尝试过类似的帖子,但它们似乎没有满足我的需要。目前我的主页是这样的(忽略页面底部的列表和订阅/登录按钮。它们只是默认主题的一部分):
这是使用以下代码实现的: HTML:
<div class="desc-pic-parent">
<div class="homepage-description">
<div class="homepage-description-header">
Hi! I'm Lewis Cooper
</div>
<div class="homepage-description-text">
This is a description of me. I will put quite a bit of text here so that I can get a rough idea of what it's going to look like in the final edit of the webpage
</div>
</div>
<div class="square-pretend-img"></div>
</div>
CSS:
@media (min-width: 1001px) {
.disc-pic-parent {
grid-column: 1 / span 3;
display: grid;
grid-gap: 4vmin;
grid-template-columns: 1fr 1fr 1fr;
min-height: 280px;
border-top: 0;
}
.homepage-description{
text-align: left;
display: grid;
grid-gap: 4vmin;
grid-template-columns: 1fr 1fr;
min-height: 280px;
border-top: 0;
}
.homepage-description-header{
font-size: 3rem;
margin-top: 0;
}
.square-pretend-img{
position: relative;
height: 20rem;
width: 20rem;
background-color: #555;
grid-column: 2 / span 2;
}
}
我的目标是尝试让它看起来像这个草图:
这可以使用 flexbox
简单地实现。
只需将这两个 div 包裹在另一个 div
中,然后将 display: flex
赋给 div。
主布局使用网格的想法很好,即使文本太长也会使文本保持恒定宽度,但您还在左侧框中放置了一个网格,这不是布局您想要的图像显示。您还为 img 定义了尺寸并为网格定义了列跨度。
此代码段只是假设您希望 img 具有给定的尺寸,因此删除了额外的网格信息。
@media (min-width: 1001px) {
.desc-pic-parent {
display: grid;
grid-gap: 4vmin;
grid-template-columns: 1fr 1fr;
min-height: 280px;
border-top: 0;
}
.homepage-description {
text-align: left;
min-height: 280px;
border-top: 0;
}
.homepage-description-header {
font-size: 3rem;
margin-top: 0;
}
.square-pretend-img {
position: relative;
height: 20rem;
width: 20rem;
background-color: #555;
}
}
<div class="desc-pic-parent">
<div class="homepage-description">
<div class="homepage-description-header">
Hi! I'm Lewis Cooper
</div>
<div class="homepage-description-text">
This is a description of me. I will put quite a bit of text here so that I can get a rough idea of what it's going to look like in the final edit of the webpage
</div>
</div>
<div class="square-pretend-img"></div>
</div>
注意:您可能希望从媒体查询中提取一些样式,并将其用于所有视口尺寸。