使 <div> 长度相同并出现在列中
Make <div> same length and appear in column
我有以下结构
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div id='whatStyling'>
<div class='container'>
<div class='element'>
<p class='text'>Foo</p>
</div>
</div>
<div class='container'>
<div class='element'>
<p class='text'>Bar</p>
</div>
</div>
<div class='container'>
<div class='element'>
<p class='text'>Fooooooo Baaaaaar</p>
</div>
</div>
</div>
</body>
</html>
加价
#whatStyling {
display: flex;
flex-direction: column,
}
.container {
display: flex;
}
.element {
display: flex;
padding: 0.2rem 2.8rem 0.2rem 0.8rem;
min-width: 1rem;
background-color: rgb(255, 0, 0);
}
.text {
color: rgb(128, 128, 128);
font-family: Roboto, sans-serif;
font-weight: 500;
font-size: 1.5rem;
background-color: rgb(255, 255, 255);
}
http://jsfiddle.net/g8ansow3/6/
我想让所有元素都相同 width
,即与最长的 "box" 一样宽(Fooooooo Baaaaaar
)并显示为列。请注意,我需要每个 .container
上的 display: flex;
。我还不知道会有多少元素。
我最外层的 div #whatStyling
需要什么样的样式,如果可能的话,flex box
。
使用 inline-flex
代替 flex
然后添加 width:100%
#whatStyling {
display: inline-flex; /*Changed this*/
flex-direction: column; /* Corrected a typo here*/
}
.container {
display: flex;
}
.element {
display: flex;
padding: 0.2rem 2.8rem 0.2rem 0.8rem;
min-width: 1rem;
width:100%; /*Added this */
background-color: rgb(255, 0, 0);
}
.text {
color: rgb(128, 128, 128);
font-family: Roboto, sans-serif;
font-weight: 500;
font-size: 1.5rem;
background-color: rgb(255, 255, 255);
}
<div id='whatStyling'>
<div class='container'>
<div class='element'>
<p class='text'>Foo</p>
</div>
</div>
<div class='container'>
<div class='element'>
<p class='text'>Bar</p>
</div>
</div>
<div class='container'>
<div class='element'>
<p class='text'>Fooooooo Baaaaaar</p>
</div>
</div>
</div>
您可以添加这段代码。不需要 flex-direction,因为它是默认设置的。
#whatStyling {
display: flex;
flex-direction: column;
}
.container {
/*display: flex;*/
flex-grow: 1;
flex-basis: 0;
}
弹性增长:1;
弹性基础:0;
会成功的
我有以下结构
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div id='whatStyling'>
<div class='container'>
<div class='element'>
<p class='text'>Foo</p>
</div>
</div>
<div class='container'>
<div class='element'>
<p class='text'>Bar</p>
</div>
</div>
<div class='container'>
<div class='element'>
<p class='text'>Fooooooo Baaaaaar</p>
</div>
</div>
</div>
</body>
</html>
加价
#whatStyling {
display: flex;
flex-direction: column,
}
.container {
display: flex;
}
.element {
display: flex;
padding: 0.2rem 2.8rem 0.2rem 0.8rem;
min-width: 1rem;
background-color: rgb(255, 0, 0);
}
.text {
color: rgb(128, 128, 128);
font-family: Roboto, sans-serif;
font-weight: 500;
font-size: 1.5rem;
background-color: rgb(255, 255, 255);
}
http://jsfiddle.net/g8ansow3/6/
我想让所有元素都相同 width
,即与最长的 "box" 一样宽(Fooooooo Baaaaaar
)并显示为列。请注意,我需要每个 .container
上的 display: flex;
。我还不知道会有多少元素。
我最外层的 div #whatStyling
需要什么样的样式,如果可能的话,flex box
。
使用 inline-flex
代替 flex
然后添加 width:100%
#whatStyling {
display: inline-flex; /*Changed this*/
flex-direction: column; /* Corrected a typo here*/
}
.container {
display: flex;
}
.element {
display: flex;
padding: 0.2rem 2.8rem 0.2rem 0.8rem;
min-width: 1rem;
width:100%; /*Added this */
background-color: rgb(255, 0, 0);
}
.text {
color: rgb(128, 128, 128);
font-family: Roboto, sans-serif;
font-weight: 500;
font-size: 1.5rem;
background-color: rgb(255, 255, 255);
}
<div id='whatStyling'>
<div class='container'>
<div class='element'>
<p class='text'>Foo</p>
</div>
</div>
<div class='container'>
<div class='element'>
<p class='text'>Bar</p>
</div>
</div>
<div class='container'>
<div class='element'>
<p class='text'>Fooooooo Baaaaaar</p>
</div>
</div>
</div>
您可以添加这段代码。不需要 flex-direction,因为它是默认设置的。
#whatStyling {
display: flex;
flex-direction: column;
}
.container {
/*display: flex;*/
flex-grow: 1;
flex-basis: 0;
}
弹性增长:1; 弹性基础:0; 会成功的