2 回答

TA贡献1895条经验 获得超7个赞
所以事实证明,使用 css grid-template-areas 可以让我得到我想要的东西。这是一种可能的解决方案。愿它能帮助其他遇到同样问题的人。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>title</title>
<style>
*{
overflow: hidden;
}
.container {
display: grid;
grid-template-columns: auto 400px 800px auto;
grid-template-areas: ". header-text header-image header-image"
". body-text body-image. ";
background-color: #2B3D41;
}
.header-text {
grid-area: header-text;
background-color: #F9B9F2;
}
.header-image {
grid-area: header-image;
background-color: #BCA0BC;
}
.body-text {
grid-area: body-text;
background-color: #4C5F6B;
}
.body-image {
grid-area: body-image;
background-color: #83A0A0;
}
@media screen and (max-width: 1200px) {
.container {
grid-template-columns: 33.3% 66.6%;
grid-template-areas: "header-text header-image"
"body-text body-image";
}
}
@media screen and (max-width: 768px) {
.container {
display: block;
}
}
</style>
</head>
<body>
<div class="container">
<div class="header-text">
<h5>This needs to be 400px wide and the right and left edges must match the right and left edges of the orange div
below for all screen widths. </h5>
</div>
<div class="header-image">
<p>This needs to stretch all.An image will go here</p>
</div>
<p class="body-text">text container</p>
<p class="body-image">img container</p>
</div>
</body>
</html>

TA贡献1851条经验 获得超5个赞
我建议你使用 css grid 来代替纯 Flex。我将提供一个例子
.wrapper {
display: grid;
grid-gap: 10px;
grid-template-columns: 400px 1fr;
grid-template-rows: auto;
background-color: #fff;
color: #444;
}
.eight {
background: purple;
text-align: center;
color: white;
width: 800px;
}
.footer {
grid-column: span 2;
}
.box {
background-color: #444;
color: #fff;
border-radius: 5px;
padding: 10px;
font-size: 150%;
}
.header,
.footer {
background-color: #999;
}
<div class="wrapper">
<div class="box sidebar">left</div>
<div class="box sidebar">right</div>
<div class="text-container">Content
<br /> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur ac porta sapien. Maecenas lacus erat, suscipit bibendum bibendum ut, scelerisque vehicula nisl. Integer eget lorem non ex laoreet pellentesque. Aenean pulvinar rhoncus fermentum.
Nunc sit amet suscipit nibh. Pellentesque ullamcorper neque eget dui iaculis lobortis quis nec diam. Nulla in bibendum enim. Ut elementum nunc risus, bibendum semper turpis ornare eget. In et vulputate mauris. Cras eu velit et ipsum tempor congue
at sit amet odio. Aenean at urna vitae urna rutrum pretium eu id odio. Curabitur suscipit libero in lobortis finibus. Proin libero nunc, venenatis ultricies dapibus ac, accumsan quis lacus. Pellentesque eleifend velit ac finibus tristique. Praesent
dapibus, erat dignissim cursus aliquam, dui velit auctor turpis, sed maximus est nisl in eros. Sed et eros in nibh vulputate imperdiet. Phasellus dignissim feugiat odio, et volutpat ante vestibulum non. Cras venenatis urna quis felis lacinia imperdiet.
Quisque convallis lacus at nulla mollis, quis porttitor arcu scelerisque. Proin neque arcu, rutrum mollis egestas vel, malesuada vitae massa. Cras fringilla, quam ut suscipit lacinia, dolor tortor porta urna, id accumsan dolor dui vel ligula. Donec
sollicitudin consequat dapibus. Nulla eget fringilla leo. Curabitur a lacus id odio varius mollis eu eget risus. Aliquam mauris mi, pulvinar ut justo ut, accumsan euismod augue. Quisque non faucibus arcu. Proin neque ante, aliquet nec mi vel, fringilla
cursus nisi. Sed egestas sollicitudin ligula, vel auctor metus dictum vitae. Vivamus eget nisl malesuada, egestas neque placerat, vestibulum nisi. Curabitur aliquam metus sit amet velit vestibulum posuere. Suspendisse augue eros, pulvinar quis ante
vitae, ultrices placerat dui. Aenean vehicula accumsan arcu id dapibus. Phasellus fermentum massa euismod auctor tristique. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam orci ligula, suscipit a mi in,
blandit sodales purus. Vivamus a feugiat leo. Cras eu tellus laoreet, luctus erat sit amet, convallis tellus. Vivamus scelerisque purus at nisl convallis pharetra. Nam consectetur, nisl quis interdum porttitor, magna ipsum facilisis quam, ut euismod
ligula dui sit amet nulla. Donec massa eros, iaculis sed dui pellentesque, fermentum malesuada nulla. In consequat eu ipsum non convallis. Morbi dapibus accumsan risus eu efficitur. Vivamus dolor velit, congue eget felis nec, mollis tincidunt quam.
Curabitur placerat vestibulum nisl non malesuada. Cras justo purus, molestie pulvinar convallis sed, aliquam at velit. Quisque laoreet semper feugiat. Maecenas varius ut lorem ac feugiat. Nullam interdum metus eu blandit venenatis. Nam condimentum
pretium ex, a sagittis eros pellentesque vitae. Quisque aliquet euismod orci sed egestas. Nullam porta, lacus vel venenatis feugiat, lectus lectus luctus urna, nec ultrices elit felis in augue. Donec non nisi imperdiet, efficitur nibh quis, imperdiet
elit. Sed quis fringilla mauris. Proin at enim tempor, posuere quam a, pulvinar justo. Aliquam in mi enim.</div>
<div class="eight">img container</div>
<div class="box footer">Full width footer</div>
</div>
- 2 回答
- 0 关注
- 79 浏览
添加回答
举报