บทความนี้แสดงรายการสไตล์ CSS ที่แนะนำสำหรับการขึ้นบรรทัดใหม่ที่เข้ากันได้กับ IE และ FF และให้รายละเอียดความแตกต่างระหว่างการตัดคำและการแบ่งคำ
รูปแบบที่แนะนำ CSS ตัวแบ่งบรรทัดเข้ากันได้กับ IE และ FF
วิธีที่ดีที่สุดคือ
การตัดคำ: แบ่งคำ; ล้น: ซ่อน;
แทน
การตัดคำ: แบ่งคำ;
ไม่ใช่ทั้งสองอย่าง
การตัดคำ: แบ่งคำ; ล้น: อัตโนมัติ;
IE ไม่มีปัญหา แต่ภายใต้ FF สตริงภาษาอังกฤษแบบยาวจะถูกบล็อกเกินกว่าเนื้อหา
ความแตกต่างระหว่างการตัดคำและการแบ่งคำ
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
การตัดคำ: ค่าเริ่มต้นปกติ เนื้อหาเกินขอบเขตของคอนเทนเนอร์ เนื้อหาแบบแบ่งคำจะตัดไปที่บรรทัดถัดไป และตัวแบ่งคำจะเกิดขึ้นเมื่อจำเป็น แบ่งคำ: ค่าเริ่มต้นปกติ อนุญาตให้แบ่งบรรทัดภายในคำได้ ดูเหมือนว่าจะใช้ได้กับข้อความภาษาเอเชียเท่านั้น break-all ทำงานเหมือนปกติสำหรับข้อความภาษาเอเชีย แต่อนุญาตให้บรรทัดตัดข้อความที่ไม่ใช่ภาษาเอเชียโดยพลการ ค่านี้เหมาะกับข้อความภาษาเอเชียที่มีข้อความที่ตัดตอนมาบางส่วนจากข้อความที่ไม่ใช่ภาษาเอเชีย Keep-all ไม่อนุญาตให้ใช้การแบ่งคำสำหรับภาษาจีน ญี่ปุ่น และเกาหลี ในลักษณะเดียวกับภาษาปกติสำหรับภาษาที่ไม่ใช่ภาษาเอเชียทั้งหมด |
สรุปมีดังนี้:
การตัดคำควบคุมการตัดบรรทัด
เมื่อใช้คำแบ่ง จะบังคับให้แบ่งบรรทัด ไม่มีปัญหากับภาษาจีน และก็ไม่มีปัญหากับประโยคภาษาอังกฤษ แต่สำหรับภาษาอังกฤษแบบยาวๆ มันใช้งานไม่ได้
การแบ่งคำควบคุมว่าจะแบ่งคำหรือไม่
ปกติเป็นสถานการณ์เริ่มต้น และคำภาษาอังกฤษจะไม่แยก
การแบ่งทั้งหมดเป็นคำแบ่ง เมื่อคำถึงขอบเขต ตัวอักษรถัดไปจะไปที่บรรทัดถัดไปโดยอัตโนมัติ แก้ปัญหาสตริงภาษาอังกฤษยาวๆ เป็นหลัก
Keep-all หมายถึงคำที่ต่อเนื่องกันในภาษาจีน ญี่ปุ่น และเกาหลี กล่าวคือ หากคุณใช้เวลานี้โดยไม่มีการตัดคำ คนจีนจะไม่ตัดคำ (ประโยคภาษาอังกฤษเป็นเรื่องปกติ)
คือภายใต้:
การใช้ word-wrap:break-word; ทั้งหมดทำงานได้ดี
ff ถัดไป:
ถ้าไม่ใช้สองตัวนี้ก็จะไม่มีปัญหากับภาษาจีนครับ ก็จะไม่มีปัญหากับประโยคภาษาอังกฤษเช่นกัน อย่างไรก็ตาม สายอักขระภาษาอังกฤษที่ยาวอาจทำให้เกิดปัญหาได้
เพื่อแก้สตริงยาวของภาษาอังกฤษ word-wrap:break-word;word-break:break-all; อย่างไรก็ตาม วิธีการนี้จะทำให้คำในประโยคภาษาอังกฤษธรรมดาถูกตัดการเชื่อมต่อ (เช่นเดียวกันกับกรณี)
ปัญหาหลักในปัจจุบันมีอยู่ในสตริงยาวของคำภาษาอังกฤษและภาษาอังกฤษที่ถูกตัดการเชื่อมต่อ ในความเป็นจริง สายยาวในภาษาอังกฤษเป็นเพียงคำที่ค่อนข้างยาว
นั่นคือคำภาษาอังกฤษควรถูกตัดการเชื่อมต่อหรือไม่? ปัญหาชัดเจนและไม่ควรตัดการเชื่อมต่ออย่างชัดเจน
สำหรับสตริงที่ยาวในภาษาอังกฤษ เป็นอันตราย ดังนั้นจึงไม่จำเป็นต้องกังวลเกี่ยวกับเรื่องนี้ อย่างไรก็ตาม เรายังต้องคิดถึงวิธีป้องกันไม่ให้ขยายคอนเทนเนอร์ด้วย
ใช้: overflow:auto; ข้างใต้ เช่น สตริงที่ยาวจะตัดโดยอัตโนมัติ ff จะมีการครอบคลุมสตริงที่ยาว
โดยสรุป วิธีที่ดีที่สุดคือ word-wrap:break-word;overflow:hidden; แทนที่จะเป็น word-wrap:break-word;word-break:break-all;
word-wrap:break-word;overflow:auto; ไม่มีปัญหาภายใต้ IE ภายใต้ ff สตริงที่ยาวจะถูกบดบังบางส่วน
นอกจากนี้ รหัสทดสอบจะเป็นดังนี้:
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
1.htm=============================================== = ==================== <สไตล์> .c1{ ความกว้าง:300px; เส้นขอบ:1px สีแดงทึบ} .c2{ width:300px;word-wrap:break-word; border:1px ทึบสีเหลือง} .c3{ width:300px;word-wrap:break-word;word-break:break-all; เส้นขอบ: 1px สีเขียวทึบ} .c4{ width:300px;word-wrap:break-word;word-break:keep-all; border:1px solid blue} .c5{ width:300px;word-break:break-all; border:1px solid black} .c6{ width:300px;word-break:keep-all; border:1px solid red} .c7{ width:300px;word-wrap:break-word;overflow:auto; border:1px สีเหลืองทึบ} </สไตล์> .c1{ ความกว้าง:300px; เส้นขอบ:1px สีแดงทึบ} <คลาส div="c1"> safjaskflasjfklsajfklasjflksajflksjflkasjfksafj </div> <คลาส div=c1> นี่คือภาษาอังกฤษทั้งหมด นี่คือภาษาอังกฤษทั้งหมด </div> <คลาส div=c1> ทั้งหมดเป็นภาษาจีน ทั้งหมดเป็นภาษาจีน ทั้งหมดเป็นภาษาจีน </div> <คลาส div=c1> การจัดเรียงแบบผสมผสานระหว่างภาษาจีนและภาษาอังกฤษ ภาษาจีนและภาษาอังกฤษ การจัดเรียงแบบผสมระหว่างภาษาจีนและภาษาอังกฤษ จีนและอังกฤษ </div> <br> .c2{ width:300px;word-wrap:break-word; border:1px ทึบสีเหลือง} <คลาส div="c2"> safjaskflasjfklsajfklasjflksajflksjflkasjfksafj </div> <คลาส div=c2> นี่คือภาษาอังกฤษทั้งหมด นี่คือภาษาอังกฤษทั้งหมด </div> <คลาส div=c2> ทั้งหมดเป็นภาษาจีน ทั้งหมดเป็นภาษาจีน ทั้งหมดเป็นภาษาจีน </div> <คลาส div=c2> การจัดเรียงแบบผสมผสานระหว่างภาษาจีนและภาษาอังกฤษ ภาษาจีนและภาษาอังกฤษ การจัดเรียงแบบผสมระหว่างภาษาจีนและภาษาอังกฤษ จีนและอังกฤษ </div> <br> .c3{ width:300px;word-wrap:break-word;word-break:break-all; เส้นขอบ: 1px สีเขียวทึบ} <คลาส div="c3"> safjaskflasjfklsajfklasjflksajflksjflkasjfksafj </div> <คลาส div=c3> นี่คือภาษาอังกฤษทั้งหมด นี่คือภาษาอังกฤษทั้งหมด </div> <คลาส div=c3> ทั้งหมดเป็นภาษาจีน ทั้งหมดเป็นภาษาจีน ทั้งหมดเป็นภาษาจีน </div> <คลาส div=c3> การจัดเรียงแบบผสมผสานระหว่างภาษาจีนและภาษาอังกฤษ ภาษาจีนและภาษาอังกฤษ การจัดเรียงแบบผสมระหว่างภาษาจีนและภาษาอังกฤษ จีนและอังกฤษ </div> <br> .c4{ width:300px;word-wrap:break-word;word-break:keep-all; border:1px solid blue} <คลาส div="c4"> safjaskflasjfklsajfklasjflksajflksjflkasjfksafj </div> <คลาส div=c4> นี่คือภาษาอังกฤษทั้งหมด นี่คือภาษาอังกฤษทั้งหมด </div> <คลาส div=c4> ทั้งหมดเป็นภาษาจีน ทั้งหมดเป็นภาษาจีน ทั้งหมดเป็นภาษาจีน </div> <คลาส div=c4> การจัดเรียงแบบผสมผสานระหว่างภาษาจีนและภาษาอังกฤษ ภาษาจีนและภาษาอังกฤษ การจัดเรียงแบบผสมระหว่างภาษาจีนและภาษาอังกฤษ จีนและอังกฤษ </div> <br> .c5{ width:300px;word-break:break-all; border:1px solid black} <ระดับ div="c5"> safjaskflasjfklsajfklasjflksajflksjflkasjfksafj </div> <คลาส div=c5> นี่คือภาษาอังกฤษทั้งหมด นี่คือภาษาอังกฤษทั้งหมด </div> <คลาส div=c5> ทั้งหมดเป็นภาษาจีน ทั้งหมดเป็นภาษาจีน ทั้งหมดเป็นภาษาจีน </div> <คลาส div=c5> การจัดเรียงแบบผสมผสานระหว่างภาษาจีนและภาษาอังกฤษ ภาษาจีนและภาษาอังกฤษ การจัดเรียงแบบผสมระหว่างภาษาจีนและภาษาอังกฤษ จีนและอังกฤษ </div> <br> .c6{ width:300px;word-break:keep-all; border:1px solid red} <คลาส div="c6"> safjaskflasjfklsajfklasjflksajflksjflkasjfksafj </div> <คลาส div=c6> นี่คือภาษาอังกฤษทั้งหมด นี่คือภาษาอังกฤษทั้งหมด </div> <คลาส div=c6> ทั้งหมดเป็นภาษาจีน ทั้งหมดเป็นภาษาจีน ทั้งหมดเป็นภาษาจีน </div> <คลาส div=c6> การจัดเรียงแบบผสมผสานระหว่างภาษาจีนและภาษาอังกฤษ ภาษาจีนและภาษาอังกฤษ การจัดเรียงแบบผสมระหว่างภาษาจีนและภาษาอังกฤษ จีนและอังกฤษ </div> <br> .c7{ width:300px;word-wrap:break-word;overflow:auto; border:1px ทึบสีเหลือง} <คลาส div="c7"> safjaskflasjfklsajfklasjflksajflksjflkasjfksafj </div> <คลาส div=c7> นี่คือภาษาอังกฤษทั้งหมด นี่คือภาษาอังกฤษทั้งหมด </div> <คลาส div=c7> ทั้งหมดเป็นภาษาจีน ทั้งหมดเป็นภาษาจีน ทั้งหมดเป็นภาษาจีน </div> <คลาส div=c7> การจัดเรียงแบบผสมผสานระหว่างภาษาจีนและภาษาอังกฤษ ภาษาจีนและภาษาอังกฤษ การจัดเรียงแบบผสมระหว่างภาษาจีนและภาษาอังกฤษ จีนและอังกฤษ </div> |