2012-09-11 44 views
10
#tooltip 
{ 
    position: absolute; 
    width:auto; 
    min-width:50px; 
    max-width:250px; 
    padding:10px; 
    background-color:#eee; 
    border:1px solid #aaa; 
} 

Dựa trên phong cách này, tôi hy vọng chú giải công cụ của tôi sẽ thu nhỏ hoặc phát triển để vừa với nội dung, xuống đến 50px hoặc tối đa 250px. Tuy nhiên, thuộc tính chiều rộng tối đa dường như vượt quá thuộc tính chiều rộng của tôi khi nội dung kết thúc tốt đẹp với dòng tiếp theo. Đó là một điều thẩm mỹ khi từ ở cuối của một câu dài, có vẻ như nó để lại một bó đệm (xem ảnh chụp màn hình). Đó có phải là hành vi bình thường không?Chiều rộng CSS/Chiều rộng tối đa trên Line Wrap?

enter image description here

Trả lời

13

Vâng, đó là hành vi bình thường.

Trình duyệt sẽ cố gắng dòng nội tuyến của bạn bên trong hộp cho đến khi đạt đến chiều rộng tối đa cho phép là 250px, sau đó bao bọc các dòng tiếp theo và tiếp theo bất kỳ văn bản nào không phù hợp trên dòng đầu tiên. (Nếu không có đủ văn bản để đạt đến chiều rộng tối đa, thì width: auto sẽ làm cho hộp co lại để vừa với số lượng văn bản đó.)

Tuy nhiên, hộp sẽ không co lại để vừa với văn bản sau khi gói, vì gói văn bản không hoạt động theo cách đó. Điều này có nghĩa là hộp width được tính là 250px và chỉ vì CSS của bạn cho biết rằng nó chỉ có thể tối đa 250px. Nó không được tính cho một số giá trị nhỏ hơn bằng chiều rộng của văn bản sau khi gói sau đó bị ghi đè bởi max-width.

Tôi không nghĩ bạn có thể làm gì để thay đổi hành vi này.

+0

Cảm ơn bạn đã xác nhận! Không thể tìm thấy câu trả lời ở nơi khác. – Sam

+0

Có thể không có cách nào để thay đổi hành vi này bằng CSS, nhưng nó có thể được thực hiện với JS. http://stackoverflow.com/q/33244477/3597276 –

+0

Tôi không hiểu lắm. 'làm cho hộp co lại để vừa với số lượng văn bản' hoặc' hộp sẽ không co lại để phù hợp với văn bản sau khi gói nó'? Cả hai đều không thể đúng. Đoạn 2 và 3d của câu trả lời của bạn dường như với tôi mâu thuẫn. –

1

Hãy thử sử dụng một trong những điều này:

width: max-content; 
width: min-content; 
width: available; 
width: fit-content; 

Họ không tương thích 100%, nhưng tiền tố khắc phục vấn đề mà nhiều hay ít.

Nguồn: https://developer.mozilla.org/ru/docs/Web/CSS/width

Các vấn đề liên quan