The CSS 2.1 spec says:
10.6.1 Inline, các yếu tố phi thay thế
Các 'chiều cao' bất động sản không áp dụng. Chiều cao của khu vực nội dung phải dựa trên phông chữ, nhưng đặc tả này không xác định cách thức.
Vì nó xảy ra chiều cao, ngược lại với chiều cao dòng, của phần tử nội tuyến không thay thế có rất ít ảnh hưởng đến bất kỳ thứ gì khác nên các trình duyệt được tự do báo cáo bất kỳ số nào họ thích ở đây.
Tuy nhiên, một kỹ thuật đảo ngược nhỏ có thể mang tính hướng dẫn.
Nếu chúng ta xem xét các chỉ số phông chữ cho Times New Roman, chúng tôi thấy kích thước EM là 2048, WinAscent 1825 và WinDescent là 443. Tổng số tăng và giảm, chia cho kích thước EM, nhân với kích thước phông chữ (20px) và làm tròn số nguyên và chúng tôi nhận được 22px.
Lấy Arial làm phông chữ khác, chúng tôi có kích thước EM là 2048, WinAscent năm 1854 và WinDescent là 434. Thực hiện lại phép tính và chúng tôi lại nhận được 22px.
Còn phông chữ khác thì sao? Tahoma có kích thước EM là 2048, WinAscent năm 2049 và WinDescent là 423. Thực hiện lại phép tính và lần này chúng tôi nhận được 24px. Và xin chào, nếu bạn thử JsBin với phông chữ Tahoma, Firefox thực sự hiển thị chiều cao là 24px.
Các chỉ số phông chữ ở trên được lấy từ tải phông chữ vào Type Light 3.2.
Không kết luận, nhưng đề xuất hợp lý về cách hoạt động của nó.
Có thể làm cho nó cao 20px mà không sử dụng khối nội tuyến không?
Giả sử ở trên là chính xác, bạn sẽ có thể đạt được điều đó bằng cách sử dụng phông chữ tùy chỉnh và sửa đổi các chỉ số phông chữ của phông chữ đó cho phù hợp. Tôi không muốn dự đoán các hiệu ứng knock-on của việc đó.
có chiều cao dòng làm bất kỳ thứ gì trong mã của bạn không? –
Có vẻ như không ... – tyrion
'line-height: 1' dường như hoạt động như' line-height: 100% ', cả hai thiết lập chiều cao dòng đến 20px (cỡ chữ). Tôi không thể biết được các điểm ảnh phụ đến từ đâu, nhưng tôi thấy chúng. Thử nghiệm trong Chrome. – GolezTrol