ฉันรู้ว่า Internet Explorer มีรูปแบบการตัดคำ แต่ฉันต้องการทราบว่ามีวิธีการข้ามเบราว์เซอร์ในการทำข้อความใน div หรือไม่
เฉพาะ CSS แต่ตัวอย่างโค้ด JavaScript ก็ใช้ได้เช่นกัน
แก้ไข: ใช่หมายถึงสายยาวไชโยคน!
ฉันรู้ว่า Internet Explorer มีรูปแบบการตัดคำ แต่ฉันต้องการทราบว่ามีวิธีการข้ามเบราว์เซอร์ในการทำข้อความใน div หรือไม่
เฉพาะ CSS แต่ตัวอย่างโค้ด JavaScript ก็ใช้ได้เช่นกัน
แก้ไข: ใช่หมายถึงสายยาวไชโยคน!
คำตอบ:
การอ่านความคิดเห็นดั้งเดิมรูเทอร์ฟอร์ดกำลังมองหาวิธีข้ามเบราว์เซอร์เพื่อตัดข้อความที่ไม่ขาดการเชื่อมต่อ
/* Source: http://snipplr.com/view/10979/css-cross-browser-word-wrap */
.wordwrap {
white-space: pre-wrap; /* CSS3 */
white-space: -moz-pre-wrap; /* Firefox */
white-space: -pre-wrap; /* Opera <7 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* IE */
}
ฉันใช้คลาสนี้มาสักพักแล้วและใช้งานได้อย่างมีเสน่ห์ (หมายเหตุ: ฉันทดสอบใน FireFox และ IE เท่านั้น)
word-wrap: break-word
เป็นสิ่งที่ใช้งานได้จริง
Word-wrap: break-word
แม้ว่าที่สร้างขึ้นโดย Microsoft ตอนนี้เป็นส่วนหนึ่งของมาตรฐาน CSS 3 และเป็นเคล็ดลับอะไร :-)
คำตอบก่อนหน้าส่วนใหญ่ไม่ได้ผลสำหรับฉันใน Firefox 38.0.5 นี่มัน ...
<div style='padding: 3px; width: 130px; word-break: break-all; word-wrap: break-word;'>
// Content goes here
</div>
เอกสารอ้างอิง:
โซลูชันของ Aaron Bennet ทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน แต่ฉันต้องลบบรรทัดนี้ออกจากรหัสของเขา -> white-space: -pre-wrap;
เพราะมันทำให้เกิดข้อผิดพลาดดังนั้นรหัสการทำงานสุดท้ายจึงเป็นดังต่อไปนี้:
.wordwrap {
white-space: pre-wrap; /* CSS3 */
white-space: -moz-pre-wrap; /* Firefox */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* IE */
}
ขอบคุณมาก
ในขณะที่ david กล่าวถึง DIV จะตัดคำตามค่าเริ่มต้น
หากคุณอ้างถึงสตริงข้อความที่ยาวมาก ๆ โดยไม่มีช่องว่างสิ่งที่ฉันทำคือการประมวลผลฝั่งเซิร์ฟเวอร์สตริงและแทรกช่วงว่าง:
thisIsAreallyLongStringThatIWantTo<span></span>BreakToFitInsideAGivenSpace
มันไม่ถูกต้องเนื่องจากมีปัญหาเกี่ยวกับการปรับขนาดแบบอักษรและอื่น ๆ ตัวเลือกการขยายทำงานถ้าภาชนะที่มีขนาดตัวแปร ถ้าเป็นคอนเทนเนอร์ความกว้างคงที่คุณสามารถไปข้างหน้าและแทรกตัวแบ่งบรรทัด
คุณสามารถลองระบุความกว้างสำหรับ div ไม่ว่าจะเป็นพิกเซลเปอร์เซ็นต์หรือ EMS และ ณ จุดนั้น div จะยังคงความกว้างนั้นและข้อความจะถูกตัดโดยอัตโนมัติจากนั้นภายใน div