2011-10-26 44 views
9

Các văn bản khác nhau trên mạng cho rằng "pt" là đơn vị kích thước phông chữ mặc định khi không có đơn vị nào được cung cấp, tuy nhiên, thử nghiệm của riêng tôi có vẻ chứng minh khác đi. Tôi đã đọc nhiều tài liệu về W3C bao gồm kích thước phông chữ cho CSS 1-3 và dường như tôi không thể xác định được tham chiếu thực sự đến đơn vị mặc định trong bất kỳ thông số kỹ thuật nào.Đơn vị mặc định cho kích thước phông chữ?

Tôi đã thử nghiệm điều này trong cả Chrome và IE9 và nhận được kết quả chính xác giống nhau: yếu tố thiếu đơn vị nhỏ nhất, phần tử px ở giữa và phần tử pt là lớn nhất. Tôi đã cố gắng để phù hợp với kích thước bằng cách sử dụng nhiều đơn vị khác được xác định bởi W3C (chẳng hạn như "mm", "cũ", "pc", v.v.), nhưng none của các phần tử thử nghiệm khớp với kích thước của phần tử được nhắm mục tiêu (một đơn vị thiếu).

Mọi thông tin chi tiết sẽ được đánh giá cao.

<div style="font-size: 20;">20 size</div> 
<div style="font-size: 20px;">20px size</div> 
<div style="font-size: 20pt;">20pt size</div> 

Trả lời

7

mỗi sự "CSS Fonts Module Level 3" các font-size bất động sản có thể có giá trị là:

Value: < tuyệt đối kích thước > | < tương đối kích thước > | < chiều dài > | < tỷ lệ >

<absolute-size>, <relative-size>, và <percentage> được định nghĩa trong spec cùng, và tất cả đều hoặc từ khóa (e.x. small, larger, vv) hoặc có đơn vị phần trăm.

<length> được hơn generic được định nghĩa trong "CSS Values and Units Module Level 3":

Tóc Dài tham khảo khoảng cách đo và được biểu thị bằng < dài > trong định nghĩa tài sản. Độ dài là dimension. Tuy nhiên, đối với độ dài bằng không, số nhận dạng đơn vị là tùy chọn (tức là có thể được biểu diễn bằng cú pháp như số < > 0).

Điều này có nghĩa là số không đơn vị cho font-size không hợp lệ, với ngoại lệ rõ ràng là 0.


Với điều đó đã nói, kích thước nào là <div style="font-size: 20;">20 size</div> được hiển thị?

Kết xuất font-size của phần tử sẽ tùy thuộc vào nhiều thứ. Tuy nhiên, nếu chúng tôi có thể giả thiết rằng

  • người dùng đã không được tùy chỉnh mặc định của họ font-size
  • trình duyệt đang sử dụng kiểu mặc định
  • không có yếu tố cha mẹ mà nếu không sẽ thay đổi font-size (ví dụ: <font>, <sub>, <h1> ...có nó sẽ đánh dấu hợp lệ phải có những yếu tố như cha mẹ, nhưng nó vẫn sẽ thay đổi font-size)

Sau đó, mặc định font-size ở mọi trình duyệt hiện đại mà tôi biết hiện đang 16px.

+2

Bạn có tham chiếu cho nó bị bỏ qua không? Không phải là tôi nghi ngờ bạn, tôi chỉ tò mò làm thế nào/tại sao tôi dường như đã bỏ lỡ điều này trong spec (nếu đó là ngay cả khi nó được). – ken

+0

Tôi tin rằng bạn là chính xác, tôi chỉ cần thử nghiệm và nó là chính xác 16px (mà tôi nhớ nhìn thấy được liệt kê ở đâu đó như kích thước văn bản mặc định cho một số trình duyệt). – ken

+0

Tôi sẽ bắt đầu bằng cách liên kết với [CSS spec] (http://www.w3.org/TR/CSS2/) và tôi sẽ cập nhật nếu tôi tìm thấy các phần phụ có liên quan về việc xử lý các quy tắc css không hợp lệ. – zzzzBov

Các vấn đề liên quan