Glyphs (cơ quan đại diện hình ảnh của một nhân vật) được tập trung theo chiều dọc trong một hộp inline. Nếu chiều cao dòng lớn hơn chiều cao nội dung , một nửa sự khác biệt được thêm vào dưới dạng không gian ở trên cùng; cùng một số tiền cũng được thêm ở dưới cùng.
Đó là trường hợp chính, không in đậm, văn bản trong ví dụ của bạn.
Khi được đặt trên phần tử nội tuyến không được thay thế, nó chỉ định chiều cao được sử dụng để tính chiều cao của hộp đường xung quanh.
Vì vậy, trong văn bản in đậm, bạn vẫn sẽ có kích thước phông chữ 8,5px ở trên gây ra sự cố.
Bạn có thể ngăn chặn bằng cách đặt chiều cao dòng nhỏ hơn so với kích thước phông chữ (check this demo). Vì nó là một phần tử nội tuyến, và không có overflow:hidden;
nó sẽ vẫn có thể nhìn thấy được, nhưng nó sẽ không thêm bất kỳ pixel nào vào phần còn lại của chiều cao dòng văn bản.
Theo tôi biết, không thể "kéo giãn" các chữ cái, trừ khi bạn sử dụng một số thuộc tính CSS3 như transform:scale(value)
v.v.
Reference
Code:
<p>ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac <b>ac</b>
ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac</p>
CSS:
p {
line-height:17px;
font-size:15px;
width:150px;
}
b {
font-size:25px;
line-height:1px;
}
Mặc dù điều đó sẽ không hoạt động nếu 'b' quá lớn, ví dụ: http://jsfiddle.net/mM4tR/3/ (Tôi không hoàn toàn hiểu tại sao.) –
@ PaulD.Waite vì 'b' trong ví dụ của bạn cao 50px (phần còn lại của văn bản: 15 + 17 = 32px) . Trong trường hợp này, bạn có thể thêm 'display: inline-block;' nhưng nó sẽ bao gồm văn bản dưới (http://jsfiddle.net/gionaf/3rQjt/), mà tôi không nghĩ là những gì OP muốn ... – Giona
Gotcha, điều đó đã giúp làm cho nó dễ hiểu hơn. –