ขนาดตัวอักษรบางตัวแสดงผลใหญ่ขึ้นใน Safari (iPhone)


110

มี CSS หรือเหตุผลอื่น ๆ ที่ Safari / iPhone ละเว้นการตั้งค่าขนาดตัวอักษรหรือไม่? ในเว็บไซต์เฉพาะของฉัน Safari บน iPhone แสดงผลขนาดตัวอักษร: ข้อความ 13px ใหญ่กว่าขนาดตัวอักษร: ข้อความ 15px อาจไม่รองรับขนาดตัวอักษรในบางองค์ประกอบหรือไม่?

คำตอบ:


248

คำตอบของ Joe มีแนวทางปฏิบัติที่ดีอยู่บ้าง แต่ฉันคิดว่าปัญหาที่คุณกำลังอธิบายเกี่ยวกับข้อเท็จจริงที่ว่า Mobile Safari จะปรับขนาดข้อความโดยอัตโนมัติหากคิดว่าข้อความจะแสดงผลเล็กเกินไป -webkit-text-size-adjustคุณจะได้รับรอบนี้มีคุณสมบัติแบบ CSS นี่คือตัวอย่างวิธีใช้กับร่างกายของคุณสำหรับ iPhone เท่านั้น:

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

2
เพิ่งพบปัญหานี้ แฮ็คหน้าจอสื่อเล็ก ๆ นี้ทำงานได้อย่างไม่มีที่ติ ฉันจะเริ่มรวมเข้ากับไฟล์เริ่มต้น CSS ของฉัน
Throttlehead

1
ว้าวป่วย! ทำให้ฉันคลั่งไคล้ฉันได้ลองเปลี่ยนชื่อคลาสและตั้งค่า css แบบอินไลน์ด้วย jQuery ก่อนที่ฉันจะพบสิ่งนี้ ช่วยชีวิต!
Christoffer Bubach

1
มันช่วยได้มาก ไชโย :)
Dead Man

2
อย่าลืมใช้คิวรีสื่อ ดูเหมือนว่าสิ่งนี้จะทำให้บางข้อความอ่านยาก: ระวัง -webkit-text-size-
adjustment

9
คำตอบควรได้รับการอัปเดตเป็น-webkit-text-size-adjust: 100%- สิ่งนี้จะหลีกเลี่ยงการอัปเดตอัตโนมัติ แต่อนุญาตให้ผู้ใช้เริ่มการซูม (ที่มา)
Shawn Erquhart


11

ตรวจสอบให้แน่ใจว่าคุณตั้งค่าการซูมเริ่มต้นเป็น 1 ในเมตาแท็กวิวพอร์ตของคุณ:

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

7

ฉันไม่ได้ใช้คำจำกัดความของพิกเซลอีกต่อไปเพราะมันสับสนจริงๆและไม่เหมือนกันทุกประการในบริการภาพ

พบกับหน่วย

  1. “ Ems” (em):“ em” เป็นหน่วยที่ปรับขนาดได้ซึ่งใช้ในสื่อเอกสารบนเว็บ em เท่ากับขนาดฟอนต์ปัจจุบันเช่นถ้าขนาดฟอนต์ของเอกสารคือ 12pt 1em จะเท่ากับ 12pt Ems สามารถปรับขนาดได้ตามธรรมชาติดังนั้น 2em จะเท่ากับ 24pt, .5em จะเท่ากับ 6pt เป็นต้น Ems กำลังได้รับความนิยมมากขึ้นในเอกสารเว็บเนื่องจากความสามารถในการปรับขนาดและลักษณะที่เป็นมิตรกับอุปกรณ์เคลื่อนที่
  2. พิกเซล (px): พิกเซลเป็นหน่วยขนาดคงที่ที่ใช้ในสื่อบนหน้าจอ (เช่นอ่านบนหน้าจอคอมพิวเตอร์) หนึ่งพิกเซลเท่ากับหนึ่งจุดบนหน้าจอคอมพิวเตอร์ (ส่วนที่เล็กที่สุดของความละเอียดหน้าจอของคุณ) นักออกแบบเว็บไซต์หลายคนใช้หน่วยพิกเซลในเอกสารเว็บเพื่อสร้างการแสดงผลไซต์ของตนที่สมบูรณ์แบบตามพิกเซลตามที่แสดงในเบราว์เซอร์ ปัญหาอย่างหนึ่งของหน่วยพิกเซลคือไม่ได้ปรับขนาดขึ้นสำหรับผู้อ่านที่มีความบกพร่องทางสายตาหรือลดลงเพื่อให้พอดีกับอุปกรณ์เคลื่อนที่
  3. คะแนน (pt): คะแนนมักใช้ในสื่อสิ่งพิมพ์ (สิ่งที่จะพิมพ์ลงบนกระดาษ ฯลฯ ) จุดหนึ่งเท่ากับ 1/72 ของนิ้ว จุดต่างๆก็เหมือนกับพิกเซลเนื่องจากเป็นหน่วยขนาดคงที่และไม่สามารถปรับขนาดได้
  4. เปอร์เซ็นต์ (%): หน่วยเปอร์เซ็นต์นั้นเหมือนกับหน่วย "em" ประหยัดสำหรับความแตกต่างพื้นฐานบางประการ ก่อนอื่นขนาดฟอนต์ปัจจุบันเท่ากับ 100% (เช่น 12pt = 100%) ในขณะที่ใช้หน่วยเปอร์เซ็นต์ข้อความของคุณยังคงปรับขนาดได้อย่างสมบูรณ์สำหรับอุปกรณ์เคลื่อนที่และสำหรับการเข้าถึง

4
คำตอบคือการใช้ 1 หน่วยที่กำหนดไว้ล่วงหน้าสำหรับข้อความ (เช่น 12pt) จากนั้นสำหรับการกำหนด css ที่ตามมาทั้งหมดให้ใช้ font-size: 90%; หรือขนาดตัวอักษร: 110%; ฯลฯ เป็นต้นซึ่งสามารถเข้าถึงได้ง่ายขึ้นสำหรับอุปกรณ์ที่รองรับทั้งหมดของคุณ

1
คุณลืมสิ่งที่สำคัญที่สุด: REM (อ้างอิง EM) คุณสามารถใช้ได้กับทั้งเอกสารและยังคงเหมือนเดิม (ไม่ใช่การเรียงซ้อนกัน)
Andrew Swift

3
คำตอบนี้ไม่เกี่ยวข้องและไม่ได้ตอบคำถาม แต่อย่างใด คำถามเกี่ยวกับข้อความขนาดเดียวกันที่แสดงผลต่างกันไม่เกี่ยวกับหน่วยที่จะใช้ ปัญหาอยู่ที่นั่นไม่ว่าจะใช้หน่วยใด
Rauli Rajande

0

ฉันมีปัญหาเดียวกันปรากฎใน CSS ดั้งเดิมมีบรรทัดนี้:

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

ฉันต้องเปลี่ยนเป็น 100% และทุกอย่างก็ราบรื่น ไม่จำเป็นต้องเปลี่ยน px ทั้งหมดเป็น em หรือ %%


นักออกแบบควรใช้ em สำหรับขนาดฟอนต์อย่างไรก็ตาม
Nick Turner

2
... ยกเว้นใน body tag css ที่ขนาด px ดีที่สุด
Matt Parkins

0

ตรวจสอบด้วยว่าคุณไม่ได้ตั้งค่า "ความกว้าง / ความสูง" ให้กับองค์ประกอบที่คุณกำลังจัดการอยู่หรือไม่ Safari ให้การปรับขนาดความสำคัญเหนือขนาดตัวอักษรใน svg, Chrome และ FF ดูเหมือนว่าอย่างน้อยที่สุด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.