Phông chữ hiển thị khác nhau trong Firefox so với Chrome


14

Có vẻ như thanh menu của tôi được hiển thị với một phông chữ khác trong Firefox so với Chrome. Xem như sau:

căng phông khác nhau

Đây là CSS được áp dụng cho thành phần này:

font-variant: small-caps;
font-size:13px;
letter-spacing: 0px;
font-family: Arial;
font-stretch: normal;
text-decoration: none;

Theo như tôi có thể nói mọi thứ liên quan đến phông chữ đó hoàn toàn giống nhau, nhưng chúng vẫn hiển thị khác nhau (xem pic). Tại sao?


1
Bạn đã thực hiện thiết lập lại CSS trước chưa?
kei

@kei: Đặt lại dường như không có hiệu lực
Goro

Hấp dẫn. Tôi đang nhận được kết quả giống như hình ảnh của bạn: jsfiddle.net/YGwcn Nó dường như đi xuống cách mỗi trình duyệt diễn giải phong cách.
kei

Câu trả lời:


14

Chrome sử dụng công cụ kết xuất WebKit. Firefox sử dụng công cụ Gecko. Cả hai cách hiểu và kiểu hiển thị hơi khác nhau, cũng như các công cụ đồ họa DirectX và Vega được sử dụng trong IE9 + và Opera.

Bạn không thể buộc các trình duyệt hiển thị văn bản giống hệt nhau, nhưng bạn có thể thực hiện một số điều để đảm bảo rằng điều hướng của bạn chiếm cùng chiều rộng trên các trình duyệt:

  1. Sử dụng hình ảnh hoặc SVG thay vì loại cho các thành phần thanh điều hướng của bạn. Điều này có thể hữu ích nếu khu vực điều hướng của bạn không có khả năng thay đổi thường xuyên. ví dụ: www.apple.com

  2. Sửa chiều rộng của mỗi thành phần điều hướng bằng CSS. Kích thước văn bản sẽ vẫn khác nhau giữa các trình duyệt, nhưng nếu bạn cung cấp cho mỗi <li>phần tử trong vùng điều hướng của bạn một chiều rộng pixel cố định, hộp giới hạn của mỗi liên kết sẽ rất giống nhau trên các trình duyệt và tổng chiều rộng của vùng điều hướng sẽ giống nhau.


5
Bạn phải cẩn thận thay đổi với những thứ như "Sử dụng hình ảnh thay vì nhập cho các thành phần thanh điều hướng của bạn". Các hình ảnh sẽ trông khủng khiếp trên các máy mới hơn có màn hình độ phân giải cao (ví dụ: màn hình "Retina" của Apple, một số điện thoại thông minh khác) trừ khi bạn cũng cung cấp bản sao có độ phân giải kép.
Olly Hodgson

@OllyHodgson Chắc chắn rồi. PNG hoặc SVG kích thước gấp đôi (đó là những gì Apple sử dụng cho điều hướng của họ) sẽ tốt nhất cho màn hình độ phân giải cao.
Nick

@Nick - Có, SVG sẽ là giải pháp tốt nhất.
m93a

Không phải trong trường hợp này nó sẽ không. Firefox không hỗ trợ letter-spacingcác yếu tố SVG.
Yay295

@ Yay295 Bạn có thể phác thảo phông chữ trong SVG.
Nick

5

Sự khác biệt trong kết xuất phông chữ giữa các trình duyệt khác nhau (và trên các hệ điều hành khác nhau) là một thực tế của cuộc sống. Bạn chỉ cần đảm bảo rằng nếu phông chữ hiển thị ở các độ rộng khác nhau, thiết kế của bạn vẫn có thể đối phó.


2

Trong trường hợp bất cứ ai đi qua điều này, đối với tôi vấn đề là letter-spacing. Chrome và Firefox xử lý tài sản khác nhau.

Vấn đề của tôi letter-spacinglà ảnh hưởng đến vị trí của các yếu tố khác; cụ thể một số hình ảnh trong menu nav. Bằng cách loại bỏ tài sản, vấn đề của tôi đã được giải quyết ngay lập tức.

Tôi cũng đã đọc được rằng việc sử dụng .pointcác giá trị cụ thể có thể có các hiệu ứng thay đổi giữa 2 trình duyệt, điều này đúng trong trường hợp của tôi.



0

Tôi đã thấy rằng webkit sẽ hỗ trợ px cho kích thước phông chữ, nhưng đối với những thứ như khoảng cách chữ cái họ sẽ bỏ qua tất cả cùng nhau nếu bạn không sử dụng chúng.


0

Sau khi kiểm tra 6 trình duyệt / 4 công cụ kết xuất trên hai HĐH. Tôi đã tìm thấy hầu hết đều giống nhau ngay cả với khoảng cách dòng. Tôi sẽ xem xét sự khác biệt với windows và Linux trong một phút.

Tôi nghĩ rằng phông chữ Palatino có sẵn ở khắp mọi nơi nhưng chrome lại rơi vào thời gian roman nhỏ hơn một chút, các phông chữ mặc định có cùng kết quả (chrome khác nhau) khiến tôi hiểu lầm một chút.

Dù sao, nếu bạn chỉ định thời gian roman hoặc sử dụng @fontface để cung cấp tệp phông chữ! bạn có thể làm cho thanh điều hướng của bạn nhấp nháy ;-)


0

Tôi đã có một vấn đề tương tự và tìm thấy một giải pháp:

Sử dụng:

font-family: 'Donegal One', serif;
font-variant: small-caps;
text-rendering: optimizeLegibility;

Trong Firefox, nó trông rất tuyệt. Trong Chrome, khoảng cách chữ là lạ. Loại bỏ các optimizelegibilityphong cách đã lừa. Cả hai trình duyệt hiển thị giống hệt bây giờ.

Tôi quyết định loại bỏ kiểu cho webkit và để nó ở vị trí cho các trình duyệt khác. Có vẻ tốt bây giờ.


0

Tôi gặp vấn đề tương tự với Open-Sans, điều này đã giúp tôi:

-webkit-font-smoothing: subpixel-antialiased;
font-smoothing: subpixel-antialiased;
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.