【发布时间】:2019-07-01 22:32:12
【问题描述】:
我正在使用 flex-grow 和媒体查询来尝试创建一个简单且响应迅速的网站。但是,文本似乎不是换行,而是调整其所在的包含 div 的大小并抵消其他所有内容。有谁知道为什么会这样?
我认为这种行为与我使用 flex-grow 的事实有关。我尝试过设置最小/最大宽度,还尝试了各种不同的自动换行属性,但都没有运气。
这是我的代码:
jsFiddle
<div id="container">
<div id="title">
<h1>Title</h1>
</div>
<div class="work" id="motion">
<h2>Sub</h2>
</div>
<div class="work" id="print">
<h2>Sub</h2>
</div>
<div class="work" id="interaction">
<h2>Sub</h2>
</div>
</div>
* {
margin: 0;
padding: 0;
}
html,
body {
height: 100%;
width: 100%;
}
h1,
h2,
h3,
h4,
h5,
h6,
p {
font-family: sans-serif;
font-weight: normal;
max-width: 100%;
}
#container h1,
h2 {
padding: 1rem;
}
#container {
height: 100%;
display: flex;
flex-direction: row;
}
#title {
background-color: red;
flex-grow: 2;
margin: 1em;
min-height: 15em;
}
.work {
margin: 1em;
flex-grow: 1;
background-color: gray;
min-width: 4em;
}
#motion,
#print,
#title {
margin-right: 0;
margin-bottom: 1em;
}
#interaction {}
@media only screen and (max-width: 1020px) {
body {
background-color: blue;
}
#container {
flex-direction: column;
flex-wrap: wrap;
height: 100%;
}
#motion,
#print {
margin-right: 1em;
margin-bottom: 0;
}
.work {
min-height: 10em;
}
#title {
height: 100%;
}
}
@media only screen and (max-width: 600px) {
body {
background-color: yellow;
}
#motion,
#print,
#title {
margin-right: 1em;
margin-bottom: 0;
}
#container {
flex-wrap: nowrap;
}
}
【问题讨论】: