尝试跟随 Ben Frain Responsive Web Design with HTML5 and CSS3 - 第二版第 3 章讨论 flexbox 的使用。在本章的最后,我们(在 jsfiddle 上)得到了一个看起来很不错的示例,直到我添加了更多的 HTML 容器,例如段落和标题。看看这里会发生什么。
因此以列格式创建了另一组框。我当然想要盒子顶部的 h1 标题。我意识到 h1 容器必须用 CSS 编码,但我已经看了好几个小时了,一直没能找到解决方案。我担心的是:我在 Flexbox 上找到的培训并没有解决协议要求在将新的 HTML 容器添加到盒子时创建另一个孩子的方式。请使用 jsfiddle 提供的代码运行解决方案的任何示例,以验证它是否有效。
非常感谢,
这是代码
射线
html,
body {
margin: 0;
padding: 0;
font-family: 'Oswald', sans-serif;
color: #ebebeb;}
.FlexWrapper {
background-color: indigo;
display: flex;
flex-direction: column;
}
.FlexItems {
display: flex;
align-items: center;
min-height: 6.25rem;
padding: 1rem;
}
.FlexHeader {
background-color: #105B63;
order: 1;
}
.FlexContent {
background-color: #FFFAD5;
order: 2;
color: blue;
}
.FlexSideOne {
background-color: #FFD34E;
order: 3;
color: crimson;
}
.FlexSideTwo {
background-color: #DB9E36;
order: 4;
color: black;
}
.FlexFooter {
background-color: #BD4932;
order: 5;
}
@media (min-width: 30rem) {
.FlexWrapper {
flex-flow: row wrap;
}
.FlexHeader {
width: 100%;
}
.FlexContent {
flex: 1;
order: 3;
}
.FlexSideOne {
width: 150px;
order: 2;
}
.FlexSideTwo {
width: 150px;
order: 4;
}
.FlexFooter {
width: 100%;
}
}
© 2021 GitHub, Inc.
<!doctype html>
<html lang="en">
<head>
<link href="http://fonts.googleapis.com/css?family=Oswald:700" rel="stylesheet" type="text/css">
<meta charset="utf-8">
<title>Layout example</title>
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="FlexWrapper">
<div class="FlexItems FlexContent"><h1>I am content in the Content.</h1><p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. </p>
</div>
<div class="FlexItems FlexSideOne">I am content in the SideOne.
</div>
<div class="FlexItems FlexSideTwo">I am content in the SideTwo.</div>
<div class="FlexItems FlexHeader">I am content in the Header.</div>
<div class="FlexItems FlexFooter">I am content in the Footer.</div>
</div>
</body>
</html>