Nếu Bạn muốn văn bản của mình phản hồi, việc gói các từ từ một đến nhiều dòng vì chiều rộng thay đổi động, thủ thuật được đề cập ở trên với trình inline-block
trợ giúp (có khả năng tương thích tốt nhất ở đây) là không đủ, vì .inlinehelper
có thể đẩy văn bản xuống dưới chính nó.
Đây là giải pháp hoàn chỉnh cho một nhiệm vụ đơn giản như vậy:
HTML:
<div id="responsive_wrap">
<span class="inlinehelper"><span id="content">
</div>
CSS:
#responsive_wrap {
display: block;
height: 100%;
width: 100%;
white-space: nowrap;
}
#content {
display: inline-block;
white-space: initial;
}
.inlinehelper {
height: 100%;
width: 0;
vertical-align: middle;
display: inline-block;
}
Chú ý đến thuộc white-space:nowrap
tính, thuộc tính ngăn cản .inlinehelper
và #content
bao bọc liên quan đến nhau.
white-space:initial
về việc #content
đặt lại khả năng bọc cho span
chính nó;
Một lựa chọn khác:
Thêm một vấn đề về sở thích cá nhân. Bạn có thể sử dụng một phần tử giả thay vì .inlinehelper
. Loại bỏ các .inlinehelper
quy tắc và phần tử css và thêm bộ chọn css phần tử giả này:
#responsive_wrap:before {
content: "";
display: inline-block;
vertical-align: middle;
height: 100%;
width: 0px;
}
Tái bút: Tôi đã phát hiện ra rằng đây thực sự là một câu hỏi cũ quá muộn, vì vậy hãy để câu trả lời này, có thể nó sẽ hữu ích cho ai đó.