Một số kích thước phông chữ được hiển thị lớn hơn trên Safari (iPhone)


110

Có CSS ​​hoặc lý do nào khác khiến Safari / iPhone bỏ qua một số cài đặt kích thước phông chữ không? Trên trang web cụ thể của tôi, Safari trên iPhone hiển thị một số văn bản font-size: 13px lớn hơn font-size: 15px. Nó có thể không hỗ trợ kích thước phông chữ trên một số phần tử?

Câu trả lời:


248

Phản hồi của Joe có một số phương pháp hay nhất trong đó, nhưng tôi nghĩ vấn đề bạn đang mô tả xoay quanh việc Mobile Safari tự động điều chỉnh tỷ lệ văn bản nếu nó cho rằng văn bản sẽ hiển thị quá nhỏ. Bạn có thể giải quyết vấn đề này với thuộc tính CSS -webkit-text-size-adjust. Đây là một ví dụ về cách áp dụng điều này cho cơ thể của bạn, chỉ dành cho iPhone:

@media screen and (max-device-width: 480px){
  body{
    -webkit-text-size-adjust: none;
  }
}

2
Chỉ cần gặp phải vấn đề này. Hack màn hình phương tiện nhỏ này hoạt động hoàn hảo. Tôi sẽ bắt đầu kết hợp nó vào tệp khởi động CSS của mình.
Throttlehead

1
Chà, bệnh hoạn! Đã khiến tôi phát điên, tôi thậm chí đã thử thay đổi tên lớp và đặt nội tuyến css bằng jQuery trước khi tôi tìm thấy điều này. Cứu sinh!
Christoffer Bubach

1
Nó đã giúp rất nhiều. Chúc mừng :)
Dead Man

2
Đảm bảo sử dụng truy vấn phương tiện. Có vẻ như điều này có thể làm cho một số văn bản khó đọc: Hãy cẩn thận với -webkit-text-size-
Adjust

9
Câu trả lời nên được cập nhật thành -webkit-text-size-adjust: 100%- điều này tránh cập nhật tự động, nhưng cho phép thu phóng do người dùng khởi tạo. (nguồn)
Shawn Erquhart


11

Ngoài ra, hãy đảm bảo rằng bạn đang đặt cài đặt thu phóng ban đầu thành 1 trong thẻ meta cửa sổ xem của mình:

<meta name="viewport" content="width=device-width; initial-scale=1.0;" />

7

Tôi không sử dụng các định nghĩa pixel nữa vì chúng thực sự khó hiểu và không hoàn toàn giống nhau trên các dịch vụ trực quan.

Gặp gỡ các đơn vị

  1. “Ems” (em): “Em” là một đơn vị có thể mở rộng được sử dụng trong phương tiện tài liệu web. Ví dụ: một em bằng với kích thước phông chữ hiện tại, nếu kích thước phông chữ của tài liệu là 12pt, thì 1em bằng 12pt. Ems có khả năng mở rộng về bản chất, vì vậy 2em sẽ bằng 24pt, .5em sẽ bằng 6pt, v.v. Ems ngày càng trở nên phổ biến trong các tài liệu web do khả năng mở rộng và tính chất thân thiện với thiết bị di động của chúng.
  2. Điểm ảnh (px): Điểm ảnh là các đơn vị có kích thước cố định được sử dụng trong phương tiện màn hình (tức là có thể đọc trên màn hình máy tính). Một pixel bằng một chấm trên màn hình máy tính (độ phân giải nhỏ nhất của độ phân giải màn hình của bạn). Nhiều nhà thiết kế web sử dụng các đơn vị pixel trong tài liệu web để tạo ra một bản trình bày pixel hoàn hảo cho trang web của họ khi nó được hiển thị trong trình duyệt. Một vấn đề với đơn vị pixel là nó không tăng tỷ lệ lên đối với người đọc khiếm thị hoặc hướng xuống để vừa với thiết bị di động.
  3. Điểm (pt): Điểm thường được sử dụng trong phương tiện in ấn (bất cứ thứ gì được in trên giấy, v.v.). Một điểm bằng 1/72 inch. Điểm giống như pixel, ở chỗ chúng là các đơn vị có kích thước cố định và không thể chia tỷ lệ kích thước.
  4. Phần trăm (%): Đơn vị phần trăm giống như đơn vị “em”, hãy tiết kiệm cho một vài khác biệt cơ bản. Đầu tiên và quan trọng nhất, kích thước phông chữ hiện tại bằng 100% (tức là 12pt = 100%). Trong khi sử dụng đơn vị phần trăm, văn bản của bạn vẫn có thể mở rộng hoàn toàn cho các thiết bị di động và cho khả năng truy cập.

4
Câu trả lời là sử dụng 1 đơn vị Được xác định trước cho văn bản (tức là 12pt) và sau đó cho tất cả các định nghĩa css tiếp theo sử dụng font-size: 90%; hoặc cỡ chữ: 110%; v.v ... Điều này dễ truy cập hơn cho tất cả các thiết bị được hỗ trợ của bạn.

1
Bạn quên mất điều quan trọng nhất: REM (tham chiếu EM). Bạn có thể sử dụng nó trên toàn bộ tài liệu và nó vẫn giữ nguyên (nó không xếp tầng).
Andrew Swift,

3
Câu trả lời này không liên quan và không trả lời câu hỏi theo bất kỳ cách nào. Câu hỏi là về các văn bản có cùng kích thước hiển thị khác nhau, không phải về đơn vị sẽ sử dụng. Vấn đề thực sự vẫn ở đó bất cứ đơn vị nào được sử dụng.
Rauli Rajande

0

Tôi gặp vấn đề tương tự, hóa ra trong CSS gốc có dòng này:

-webkit-text-size-Adjust: 120%;

Tôi đã phải thay đổi nó thành 100%, và mọi thứ đều suôn sẻ. Không cần thay đổi tất cả px thành em hoặc %%.


Dù sao thì nhà thiết kế cũng nên sử dụng em cho các cỡ chữ.
Nick Turner

2
... ngoại trừ trong css thẻ nội dung có kích thước px là tốt nhất.
Matt Parkins

0

Ngoài ra, hãy kiểm tra xem bạn có đặt "chiều rộng / chiều cao" cho các phần tử mà bạn đang thao tác hay không, Safari ưu tiên kích thước hơn kích thước phông chữ trong svg's, Chrome và FF thì ít nhất hiện nay.

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.