2011-10-10 46 views
18

Trong một thời gian dài tôi đã sử dụngfont-size: 62,5% so với font-size: 10px

body {font-size:62.5%;} 

trong các văn bản CSS vì nó là nghĩa vụ phải làm 1em bằng 10px. Tuy nhiên, gần đây tôi nhận thấy rằng đây không phải là trường hợp của tôi trong Internet Explorer. Vì vậy, thay vào đó tôi đã thử mã:

html {font-size:100%} 
body {font-size:10px} 

Bây giờ điều này hoạt động như một sự quyến rũ đối với tôi. Câu hỏi của tôi là:

Hạn chế của giải pháp này vì tôi không thể tìm thấy bất kỳ ai khác sử dụng giải pháp này?

Để làm rõ: Sau này tôi chỉ định tất cả các cỡ chữ, chiều rộng, chiều cao và vv trong em. Nó chỉ trong cơ thể tôi sử dụng 10px thay vì 62.5%.

+0

Có lẽ chủ đề này có thể cung cấp cho bạn hơn thông tin chi tiết về vấn đề: [why-em-instead-of-px] [1] [1]: http://stackoverflow.com/questions/609517/why-em-instead-of-px –

+1

Tôi thích phông chữ pixel kích thước quá ... Tôi cảm thấy như tôi có kiểm soát thiết kế tốt hơn. Nhược điểm được sử dụng để được rằng nó đã không quy mô tốt khi mọi người tự tăng kích thước văn bản của họ ... mọi thứ sẽ phá vỡ/tràn. Sử dụng '%' hoặc 'em' sẽ bù đắp tốt hơn cho các vấn đề về khoảng cách này. Tuy nhiên, những ngày này, các trình duyệt mới hơn đang di chuyển nhiều hơn về phía một "phóng to" thực sự vào/ra mà làm cho các vấn đề kích thước văn bản tăng/giảm cũ moot. – Sparky

+0

Vâng, tôi thực sự muốn đi với em vì lý do truy cập. Cảm ơn các liên kết, nhưng tôi vẫn không hiểu sự khác biệt. Trong cả hai trường hợp, 1em sẽ là 10px trong Firefox, nhưng đối với tôi 1em sẽ lớn hơn một chút trong Internet Explorer. – RichardL

Trả lời

9

Bạn sẽ nhận được đối số cho cả hai mặt của vấn đề này. Tôi đoán đa số sẽ tranh luận về%. Nhưng bạn đã yêu cầu những hạn chế hoặc cạm bẫy

Hạn chế chính mà bạn sẽ gặp phải là khi bạn chạy trên trình duyệt hoặc thiết bị đã tôn trọng cài đặt pixel thay vì phần trăm bất cứ giá trị mặc định. hoặc quá nhỏ để đọc. Nếu trình duyệt đó không cung cấp cho người dùng cơ hội chia tỷ lệ phông chữ hoặc phóng to trên trang, thì bạn có thể gặp sự cố tiềm ẩn.

Tất cả những gì đã nói, hầu như mọi trình duyệt trong những ngày này đều có cài đặt mặc định là 16px. Tôi không thể nói với lý do tại sao IE trong trường hợp của bạn là kích thước khác nhau. Nếu bạn đang đi cho một thiết kế pixel có kích thước hoàn hảo, sau đó sử dụng px, nếu không tôi muốn đề nghị ở lại với%.

+0

Cảm ơn câu trả lời này. Đó là những gì tôi đang tìm kiếm, mặc dù nó vẫn là một vấn đề đối với tôi. Có lẽ tôi sẽ kiểm tra trang web trên một CPU khác với IE để xem liệu tôi có gặp vấn đề tương tự hay không. Nếu nó có, thì cái gì khác trong mã của tôi phải gây ra điều này. – RichardL

+0

nếu đó là câu trả lời bạn đang tìm kiếm đánh dấu là anwswer chính xác để anh ấy nhận điểm của mình =) –

0

Bạn chỉ có thể sử dụng:

html {font-size:10px} 

Vì vậy, biết bạn có thể làm việc chỉ với rem hoặc em mà không tính toán phức tạp: 1 rem = 10px 2 rem = 20px

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