我已经创建了一个带有flex的嵌套div,我希望在增长和缩小时遵循flex规则,但是当内部文本或内容变长时,div会变得太长。在这个小提琴中,我用&#34标记了它;这是一个错误" ,你可以看到这个div中的文本比其他文本更长,而且我的父文件增长了。我想要。我设置flex: 1 1 auto;
,但我不知道需要改变的地方。任何建议表示赞赏。
答案 0 :(得分:3)
正如我在评论fiddle中发布的那样,我使用了静态最大宽度,因为我相信这是您案例的好方法。
<强> CSS 强>
html, body {
direction: rtl;
font-family: 'Times New Roman';
}
.WholeDiv{
margin-right: 20px;
margin-left: 20px;
background-color: #ffffff;
border: 2px solid #e8e8e8;
}
.mainContainer{
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-direction: normal;
-moz-box-direction: normal;
-ms-flex-direction: row;
-webkit-flex-direction: row;
flex-direction: row;
background-color: blue;
min-width: 512px;
height: 232px;
line-height: 232px;
z-index: 999;
text-align: center;
top: 0px;
width: 100%;
}
.mainContainer .firstContent {
flex: 1 1 auto;
background: green;
overflow: hidden;
min-width: 140px;
text-align: right;
}
.mainContainer .secondContent {
width: 232px;
min-width: 232px;
background-color: aqua;
}
.mainContainer .thirdContent {
flex: 1 1 auto;
background-color: red;
overflow: hidden;
min-width: 140px;
text-align: left;
}
.mainContainerVert{
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-orient: vertical;
-moz-box-orient: vertical;
-ms-flex-direction: column;
-webkit-flex-direction: column;
flex-direction: column;
-webkit-box-align: center;
-moz-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
-webkit-box-pack: space-around;
-moz-box-pack: space-around;
-ms-flex-pack: space-around;
-webkit-justify-content: space-around;
justify-content: space-around;
-webkit-flex-flow: column no-wrap;
flex-flow: column no-wrap;
-webkit-align-content: center;
align-content: center;
background-color: blue;
/*min-width: 100px;*/
height: 232px;
line-height: 232px;
text-align: center;
max-width: 100%;
}
.mainContainerVert .dvRow{
flex: 1 1 auto;
background-color: black;
color: white;
height: 32px;
line-height: 32px;
max-height: 32px;
width: 98%;
max-width: 300px;
/*min-width: 100px;*/
text-align: center;
white-space:nowrap;
display: flex;
}
SPAN{
/*flex: 1 1 auto;*/
background-color: orange;
text-align: center;
text-overflow: ellipsis;
width: 300px;
max-width: 300px;
/*min-width: 100px;*/
overflow: hidden;
/*white-space: no-wrap;*/
margin: 0 auto;
}
同时从span
flex: 1 1 auto;
中删除。我认为没有必要。