Tôi muốn chuyển đổi trang web mới của mình từ pixel thành ems. Câu hỏi của tôi là, tôi cũng nên áp dụng ems cho tài sản văn bản chiều cao dòng của tôi?EM cho chiều cao dòng
Trả lời
Giả sử rằng "chuyển đổi thành ems" có nghĩa là sử dụng đơn vị em
cho font-size
, thì bạn nên đặt line-height
theo cách cũng phù hợp với kích thước phông chữ. Hai thuộc tính có liên quan chặt chẽ và nếu bạn đặt một trong số các thuộc tính đó ở em
và cái kia (ví dụ) trong px
hoặc pt
, thì trang sẽ bị hỏng nếu kích thước phông chữ bị thay đổi. Vì vậy, nó sẽ làm việc chống lại ý tưởng rất "sử dụng ems" để sử dụng các đơn vị cơ bản khác nhau cho các thuộc tính cơ bản kết nối. Ví dụ: nếu bạn đặt font-size: 1.5em
và line-height: 18px
thì mọi thứ sẽ tùy thuộc vào kích thước phông chữ của bố mẹ của phần tử và có thể rất sai nếu kích thước đó nhỏ hơn nhiều hoặc lớn hơn nhiều so với mong đợi.
Cho dù bạn sử dụng đơn vị em
hoặc số thuần túy là một vấn đề khác. Chỉ sử dụng một số, như trong line-height: 1.2
, chủ yếu tương đương với việc sử dụng đơn vị em
, như trong line-height: 1.2em
. Nhưng có sự khác biệt là khi line-height
được kế thừa, đó là số thuần được thừa hưởng, không phải là giá trị được tính. Ví dụ, nếu phần tử bên trong có gấp đôi kích thước phông chữ của phần tử gốc, thì giá trị thừa kế 1.2
có nghĩa là sử dụng 1,2 lần kích thước phông chữ của riêng nó, điều này là OK. Nhưng nếu cha mẹ có line-height: 1.2em
thì con sẽ kế thừa giá trị gấp 1,2 lần kích thước phông chữ của cha mẹ - nhỏ hơn nhiều so với kích thước phông chữ của chính nó.
để biết thêm ví dụ giải thích cuối thấy line-height @ Mozilla Developer Network
Cảm ơn sự khác biệt giữa 'chiều cao dòng: 1.5em' và 'dòng-chiều cao: 1.5', nó đã lưu cho tôi rất nhiều đang tìm kiếm! –
line-height
thể được thiết lập trong px
, em
's, mỗi đơn vị sẽ phù hợp.
line-height
hoạt động tốt nhất và bằng chứng trong tương lai nếu bạn sử dụng hệ số/nhân, nghĩa là không có đơn vị, nhưng chỉ là số nhân kích thước phông chữ của bạn.
.foo {
font-size: 1.3em; /* based that 1em == 10px */
line-height: 1.3; /* 16.9px line-height */
}
Vì vậy, có, bạn có thể trả lời câu hỏi của bạn: không bạn không nên.
chỉ cần đi theo chiều cao dòng dựa trên yếu tố để trở thành bằng chứng trong tương lai.
Đó là khuyến cáo sử dụng số unitless cho line-height (để ngăn chặn vấn đề thừa kế). Sau đó, chiều cao dòng được tính sẽ là sản phẩm của giá trị không đơn nhân với kích thước phông chữ của phần tử.
Nó có thể là thuận tiện hơn để sử dụng phím tắt font
CSS, như vậy (ví dụ lấy từ các tài liệu Mozilla CSS):
div { font: 10pt/1.2 Georgia,"Bitstream Charter",serif }
Một ví dụ tốt về lý do tại sao giá trị unitless là một lợi thế được đưa ra ở đây: Prefer unitless numbers for line-height values .
- 1. chiều cao so với kiểu chiều cao dòng
- 2. Làm tròn chiều cao dòng
- 3. Chiều cao dòng trong fpdf multicell
- 4. HTML Tăng nghiêm ngặt chiều cao dòng
- 5. Vấn đề chiều cao dòng Cufon
- 6. Make trẻ em divs chiều cao của đứa trẻ cao nhất
- 7. Làm cách nào để đặt chiều cao khoảng trống bằng chiều cao dòng mặc định?
- 8. dòng-chiều cao so với vấn đề chiều cao con trỏ trong Textarea trong chrome
- 9. Multiline NSAttributedString cho chiều cao sai?
- 10. Sự khác biệt giữa chiều cao dòng: 1,5 và chiều cao dòng: 150% trong css là gì?
- 11. Chiều cao dòng ghi đè CSS trên từ bọc
- 12. Tại sao kiểm soát đệm với chiều cao dòng?
- 13. DOCTYPE ảnh hưởng đến việc hiển thị chiều cao dòng
- 14. Chiều cao dòng có thể chạy trên Android
- 15. Chiều cao dòng không hoạt động trong Outlook 2010 cho Email HTML
- 16. jQuery/CSS: chiều cao dòng "bình thường" ==? Px
- 17. Có gì giống như chiều cao dòng tự động không?
- 18. Chiều cao dòng ảnh hưởng đến hình ảnh?
- 19. Lấy chiều cao dòng của phần tử không có 'px'
- 20. Tính chiều cao của trẻ em div bằng cách sử dụng jQuery
- 21. Chiều cao tự động trên vùng chứa mẹ với Trẻ em Tuyệt đối/Cố định
- 22. Sử dụng jQuery để có được giá trị chiều cao lớn nhất của trẻ em, sau đó áp dụng giá trị chiều cao đó cho tất cả trẻ em
- 23. Cách làm cho chiều cao của trang web phù hợp với chiều cao màn hình
- 24. Làm cách nào để thêm chiều cao cho chiều cao hiện tại?
- 25. chiều cao: 100% hoặc chiều cao tối thiểu: 100% cho phần tử html và nội dung?
- 26. Cách tạo chiều cao bằng chiều cao bằng css
- 27. Đo lường CSS em được sử dụng cho chiều cao hoặc bán kính biên giới được đo bằng cách nào?
- 28. Tìm hiểu divs chiều cao và thiết div chiều cao
- 29. Chiều cao hàng GridView
- 30. Xung đột giữa chiều cao dòng và chiều cao thực tế khi In nghiêng được sử dụng
Có, bạn có thể. 'em' là một đơn vị hợp lệ cho thuộc tính CSS' line-height' – Raptor
Có, có bạn nên. – slamborne
Câu trả lời được chấp nhận chỉ ra lý do tại sao người ta KHÔNG nên sử dụng bất kỳ đơn vị nào có chiều cao dòng: vì chiều cao dòng sau đó chỉ được tính là ONCE và kết quả được kế thừa.Để điều chỉnh chiều cao dòng với kích thước phông chữ, hãy xóa đơn vị. – korkman