Bạn nên sử dụng flexhoặc flex-basistài sản hơn là width. Đọc thêm về MDN .
.flexbox .red {
flex: 0 0 25em;
}
Các flexthuộc tính CSS là một tài sản xác định khả năng của một mục flex để thay đổi kích thước của nó để lấp đầy khoảng trống tốc ký. Nó chứa:
flex-grow: 0; /* do not grow - initial value: 0 */
flex-shrink: 0; /* do not shrink - initial value: 1 */
flex-basis: 25em; /* width/height - initial value: auto */
Một bản demo đơn giản cho thấy cách đặt cột đầu tiên thành 50pxchiều rộng cố định.
.flexbox {
display: flex;
}
.red {
background: red;
flex: 0 0 50px;
}
.green {
background: green;
flex: 1;
}
.blue {
background: blue;
flex: 1;
}
<div class="flexbox">
<div class="red">1</div>
<div class="green">2</div>
<div class="blue">3</div>
</div>
Xem codepen được cập nhật dựa trên mã của bạn.
flex-shrink, cảm ơn, câu trả lời tốt.