Я изо всех сил пытаюсь получить одинаковое поведение для макета flexbox в разных браузерах (никогда не просматривайте браузеры, которые не поддерживают flexbox).
Здесь разметка:
<!-- nested version -->
<div class="flex-container"> <!-- display: flex -->
<div>
<div class="flex-container inner"> <!-- display: flex -->
<div class="auto-width">
auto take up needed space
</div>
<div class="flex-width"> <!-- flex: 1 -->
flex take up remaining space
</div>
</div>
</div>
</div>
Моя проблема в том, что IE11 ведет себя по-разному с Firefox и Chrome. Я ожидал бы, что ширина вложенного flexbox flex-container.inner
будет неограниченной, так как теперь я устанавливаю любую ширину.
Вот пример JSBin, чтобы проиллюстрировать проблему: http://jsbin.com/pabesaci/5. Пример 3 - проблематичный, который по-разному влияет на IE.
Рендеринг в IE
Рендеринг в Chrome (FF похож)
Это ошибка в IE?
Можете ли вы предложить другие способы достижения этой схемы?
<p>My example:</p>
<div style="float:left; display:block; width: auto; border: solid 2px red; padding: 2px;">
<div>
<div style="float:left; display: block; border: solid 2px yellow; padding:2px;">
<div style="float:left; display: block; border: solid 2px green;">
auto take up needed space
</div>
<div class="" style="float:left; position:relative; display:block; border: solid 2px blue;">
flex take up remaining space
</div>
</div>
</div>
</div>