yếu tố Block (div
's mặc định loại hiển thị) sẽ cố gắng chiếm không gian ngang tối đa của vùng chứa. Hãy tưởng tượng một ngụ ý width:100%
bất cứ khi nào bạn nhìn thấy chúng. inline-block
sẽ tạo các phần tử mức khối trong đó phần tử tiếp theo sẽ cố gắng hiển thị theo chiều ngang liền kề (với điều kiện có đủ chỗ). . Đây là những gì bạn muốn sử dụng (display: table
sẽ làm việc trong giải pháp này là tốt, nhưng nó có idiosyncrasies riêng của mình tôi tránh chúng
Vì vậy, giải pháp của bạn đòi hỏi phải có ba phần:.
Trước tiên, bạn cần phải xác định rằng các hàng sẽ không lớn hơn 50% diện tích có sẵn Bạn sẽ làm điều này với một khung bên ngoài:..
.frame {
max-width:50%;
}
Tiếp theo, các thông điệp bản thân mỗi nên được không gian toàn bộ hàng (s) tại một thời điểm vì vậy, chúng tôi sẽ sử dụng thẻ div
chưa được đặt trước xung quanh mỗi thư.
Cuối cùng, bạn sẽ sử dụng display: inline-block
cho các yếu tố trong cùng của bạn messages
. Vì chúng là con duy nhất của thẻ cha, nên bạn sẽ không phải lo lắng về các yếu tố quanh co với nhau. Bằng cách sử dụng khối nội tuyến, chiều rộng được tôn trọng và điều này cho chúng ta một nơi tuyệt vời để áp dụng màu nền.
.messages {
display: inline-block;
min-width: 150px;
background: #ffeec0;
padding:2px;
margin:3px;
-webkit-border-radius: 2px;
border-radius: 2px;
border:1px solid #ffdd7c;
}
Cũng giống như một tài liệu tham khảo, người ta sẽ mong đợi đánh dấu của bạn sẽ trông giống như sau:
<div class="frame">
<div><div class="messages">2014</div></div>
<div><div class="messages">2014</div></div>
<div><div class="messages">
2014-09-20 17:46:41 minhavidaemquotes:555
</div></div>
<div><div class="messages">
2014-09-20 17:46:41 minhavidaemquotes:555 this is some extra
text
</div></div>
</div>
Tôi nghĩ rằng bạn sẽ tìm thấy điều này mang đến cho bạn hiệu quả đích. Nhân đây, đây là giải pháp chung - nhưng nếu bạn chọn min-width
lớn hơn 50%
, bạn sẽ đảm bảo rằng hai anh chị em của loại inline-block
sẽ quá rộng cho một dòng. Nếu bạn làm điều này, thì bạn có thể phân chia thêm div
trong đánh dấu.
giảm chiều rộng tối thiểu để nói, 10em và sử dụng display: inline-block; – dandavis