I have 3 DIV
components where:
.child-left
: aligns its contents to the left on the screen.child-center
: aligns its contents to the center on the screen.child-right
: aligns its contents to the right on the screen
However, when the contents (or text) get really long in .child-center
, the contents overflow each other even though it has its own width
. Please see the below screenshot:
I'd like to know:
- Why the content (
Long text...
) in.child-center
does not fit within the width? - How do I fix the issue with the minimal changes? (I'd like to keep using
display: flex
, I DO NOT want to usetext-align: center
)
What I want to achieve is this:
Please help me out!
Code:
.parent {
display: flex;
align-items: center;
width: 100%;
}
.child-left {
display: flex;
justify-content: flex-start;
width: 20%;
background-color: green;
white-space: nowrap;
}
.child-center {
display: flex;
justify-content: center;
width: 60%;
background-color: red;
white-space: nowrap;
}
.child-right {
display: flex;
justify-content: flex-end;
width: 20%;
background-color: yellow;
white-space: nowrap;
}
<div class="parent">
<div class="child-left">
<span>11111111111111111111111111</span>
</div>
<div class="child-center">
<span>Long text Long text Long text Long text Long text Long text Long text Long text Long text</span>
</div>
<div class="child-right">
<span>22222222222222222222222222</span>
</div>
</div>