ПроблемаFlexbox элементы с переливом содержимого блокировать Flexbox контейнер
содержания Блока как кнопка вызывает мои гибкие элементы для расширения и переполнения контейнера Flexbox.
Ожидаемое поведение
В этом примере, кнопки должны оставаться бок о бок с кнопки текста перелива скрытой многоточие. Ширины гибких элементов должны быть основаны на браке, а не на содержании, и оставаться внутри контейнера, оставаясь отзывчивым, поскольку контейнер меняет ширину и элементы гибкости добавляются или удаляются. Еще одно предостережение заключается в том, что я не могу использовать переполнение: скрытые элементы flex или кнопки parent div для моего конкретного сценария.
Адрес fiddler.
Пример Html
<div class="container" style="width: 400px;">
<div class="child one">
Child One
<br>Lorem ipsum
<br>dolor sit amet
</div>
<div class="child two"><div><button class="text">Child Two with a loooooooooooooooooong naaaaaaaaaaaaaaaaaaaaaaaaaaaaaame</button><button>button two</button></div></div>
<div class="child three">Some Text</div></div>
Пример CSS
div {
border: 3px solid;
}
.container {
padding: 10px;
background-color: yellow;
display: -webkit-flex;
display: flex;
}
.child {
flex: 1 1 auto;
padding: 10px;
margin: 10px;
background-color: #eee;
}
.child.one {
color: green;
}
.child.two {
flex: 6 1 auto;
color: purple;
}
.child.two button {
display: inline-block;
}
.child.three {
color: blue;
}
.text {
text-overflow: ellipsis;
overflow: hidden;
}
EDIT: Теперь, вместо того, чтобы пытаться отобразить несколько кнопок, я меняю требование только один кнопка. Мне все равно было бы интересно, если кто-то сможет решить это с помощью нескольких кнопок.
Этот вопрос относительно сложный и может быть полезен при разбивании на компоненты. Рассмотрите несколько вопросов, которые занимаются меньшими проблемами. –
Единственное, что проще было бы устранить требование, чтобы кнопки отображались бок о бок. Если есть решение, которое делает это требование спорным, я все уши. –
Я думаю, что проблема в том, что когда содержимое кнопок длинное, браузер не знает, какую ширину отображает кнопка, и не хватает информации для браузера, чтобы разобраться в этом сами по себе, поэтому он по умолчанию пытается попробовать чтобы соответствовать содержимому. Именно поэтому переполнение не соблюдается. Вот скрипка с возможным решением. Я обманул, удалив div, обертывая кнопки. http://jsfiddle.net/y2eqmjsz/16/ –