Đây là một giải pháp sạch khác:
sub, sup {vertical-align: baseline; position: relative; font-size: 70%;} /* 70% size of its parent element font-size which is good. */
sub {bottom: -0.6em;} /* use em becasue they adapt to parent font-size */
sup {top: -0.6em;} /* use em becasue they adapt to parent font-size */
Theo cách này, bạn vẫn có thể sử dụng thẻ sup / sub nhưng bạn đã sửa lỗi hành vi nhàn rỗi của chúng để luôn làm tăng chiều cao của đoạn văn .
Vì vậy, bây giờ bạn có thể làm:
<p>This is a line of text.</p>
<p>This is a line of text, <sub>with sub text.</sub></p>
<p>This is a line of text, <sup>with sup text.</sup></p>
<p>This is a line of text.</p>
Và chiều cao dòng đoạn văn của bạn không nên bị vặn lên.
Đã thử nghiệm trên IE7, IE8, FF3.6, SAFARI4, CHROME5, OPERA9
Tôi đã thử nghiệm bằng cách sử dụng p {line-height: 1.3;}
(đó là chiều cao của dòng tốt trừ khi bạn muốn các dòng của mình quá gần) và nó vẫn hoạt động, vì "-0.6em" là một lượng nhỏ như vậy với chiều cao của dòng đó, văn bản phụ / phụ sẽ phù hợp và đừng đi qua nhau.
Quên một chi tiết có thể có liên quan Tôi luôn sử dụng DOCTYPE trong dòng đầu tiên của trang của mình (cụ thể là tôi sử dụng HTML 4.01 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
). Vì vậy, tôi không biết liệu giải pháp này có hoạt động tốt khi trình duyệt ở chế độ quirkmode (hoặc không phải chế độ tiêu chuẩn) do thiếu DOCTYPE hoặc do DOCTYPE không kích hoạt chế độ Tiêu chuẩn / Hầu như Tiêu chuẩn.