2011-07-31 38 views
10

Tôi đã nhận thấy rằng bạn có thể sử dụng 1em và nó sẽ trông khác nhau trên các trang web khác nhau.Em được tính như thế nào?

Tỷ lệ tương ứng với?

  • Phông chữ được sử dụng?
  • Kích thước phông chữ lớn nhất?
  • Chiều rộng/chiều cao của trang?

Trả lời

12

Xem http://w3schools.com/cssref/css_units.asp

1em bằng với kích thước phông chữ hiện hành. 2em có nghĩa là gấp 2 lần kích thước của phông chữ hiện tại. Ví dụ: nếu một phần tử được hiển thị với phông chữ là 12 pt, thì '2em' là 24 pt. Các 'em' là một đơn vị rất hữu ích trong CSS, vì nó có thể thích ứng tự động với phông chữ mà người đọc sử dụng

Một EM là liên quan đến các yếu tố hiện nó được định nghĩa trên. Nếu bạn sử dụng các kích thước tương đối (như 0.9em), chúng nhân và có thể dẫn đến các thứ nguyên không mong muốn.

Bây giờ, kích thước mặc định của phông chữ là không phải là tiêu chuẩn giữa các trình duyệt. Và có một vấn đề với IE (ít nhất là IE cũ) khi thiết lập phông chữ cho một đơn vị pixel cụ thể. A good overview for font sizing can be found on A List Apart.

+0

Nếu bạn muốn sử dụng kích thước tương đối nhưng nhưng nhất quán hơn, hãy thử sử dụng 'rem' thay vào đó, trong đó đề cập đến kích thước phông chữ mặc định trên các yếu tố html'': https://www.sitepoint.com/understanding-and-using-rem-units-in-css/ – Avishai

2

Em được định nghĩa là chiều cao của chữ cái viết hoa "M" trong phông chữ và kích thước hiện tại.

https://web.archive.org/web/20131127083352/http://www.guistuff.com/css/css_units.html

+0

-, liên kết dường như ngoại tuyến - đó là lý do tại sao bản chất của bài viết được liên kết phải được đưa vào câu trả lời. –

+0

@AndreasNiedermair: Cảm ơn bạn đã chỉ ra điều này! Tôi đã thay thế nó bằng một bản sao lưu trữ. Lưu ý rằng câu trả lời của tôi đã bao gồm bản chất của bài viết được liên kết liên quan đến câu hỏi ban đầu của người hỏi. – a3nm

3

Theo W3C một em:.

"tương đương với giá trị tính toán của 'font-size' tài sản của các yếu tố trên mà nó được sử dụng Trường hợp ngoại lệ là khi 'em 'xảy ra trong giá trị của thuộc tính' kích thước phông chữ ', trong trường hợp này nó đề cập đến kích thước phông chữ của phần tử gốc. "

Nói cách khác, ems không có kích thước tuyệt đối. Họ đưa vào giá trị kích thước của họ dựa trên nơi họ đang có. Đối với hầu hết các nhà thiết kế web, điều này có nghĩa là họ đang ở trong một trình duyệt Web, do đó, một phông chữ cao 1em có cùng kích thước với kích thước phông chữ mặc định cho trình duyệt đó.

Đối với hầu hết các trình duyệt, giá trị mặc định 1em = 16px