จะปิดการตัดคำใน HTML ได้อย่างไร


517

ฉันรู้สึกโง่ที่ไม่สามารถคิดสิ่งนี้ แต่ฉันจะปิด wordwrap ได้อย่างไร word-wrapคุณสมบัติcss สามารถบังคับด้วยbreak-wordได้ แต่ไม่สามารถบังคับให้ปิดได้ (มีเพียงnormalค่าเดียวที่เหลืออยู่)

ฉันจะบังคับให้คำวิธีห่อปิด ?

คำตอบ:


852

คุณต้องใช้white-spaceแอตทริบิวต์CSS

โดยเฉพาะwhite-space: nowrapและwhite-space: preเป็นค่าที่ใช้กันมากที่สุด คนแรกดูเหมือนจะเป็นสิ่งที่คุณต้องการ


25

เพิ่มค่าเฉพาะของ webkit ที่หายไปจากด้านบน

white-space: -moz-pre-wrap; /* Firefox */
white-space: -o-pre-wrap; /* Opera */
white-space: pre-wrap; /* Chrome */
word-wrap: break-word; /* IE */

3

ฉันสงสัยว่าทำไมคุณถึงค้นหาวิธีแก้ปัญหา "white-space" กับ "nowrap" หรือ "pre" มันไม่ได้ทำพฤติกรรมที่ถูกต้อง: คุณบังคับข้อความของคุณในบรรทัดเดียว! ข้อความควรแบ่งบรรทัด แต่ไม่แบ่งคำเป็นค่าเริ่มต้น ปัญหานี้เกิดจากแอตทริบิวต์ css: word-wrap, overflow-wrap, word-break และยัติภังค์ ดังนั้นคุณสามารถมี:

word-break: break-all;
word-wrap: break-word;
overflow-wrap: break-word;
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;

ดังนั้นทางออกคือลบออกหรือแทนที่พวกเขาด้วย "unset" หรือ "Normal":

word-break: unset;
word-wrap: unset;
overflow-wrap: unset;
-webkit-hyphens: unset;
-moz-hyphens: unset;
-ms-hyphens: unset;
hyphens: unset;

อัปเดต: ฉันให้การพิสูจน์ด้วย JSfiddle: https://jsfiddle.net/azozp8rr/


1
ฉันเข้าใจว่าทำไมคุณต้องการที่จะทำลายคำโดยทั่วไป แต่การสันนิษฐานว่าไม่มีเหตุผลที่ถูกต้องในการเปลี่ยนคำไม่เหมาะสมสำหรับฉัน ฉันลองทดสอบโซลูชัน "unset" ของคุณอย่างรวดเร็วและยังมีการตัดคำ หากคุณคิดว่ามันควรใช้งานได้โปรดให้ตัวอย่าง jsfiddle
Alexander Bird

ฉันไม่รู้ว่าทำไมคำตอบของฉันหายไป อีกครั้งคุณสามารถบังคับ nowrap คนมักจะทำเพื่อปุ่ม แต่ฉันคิดว่ามันเป็นการออกแบบที่ไม่ดีด้วยเหตุผลที่ตอบสนองเพราะข้อความสามารถออกไปข้างนอกภาชนะ อย่างไรก็ตามคำถามกำลังถามเกี่ยวกับ word-wrap: break-word บังคับและคุณจะถามว่าจะบังคับอย่างไร ดังนั้นฉันให้รหัสที่จะทำ ช่องว่าง: nowrap เป็นอีกสิ่งหนึ่งและมันไม่ได้เป็นการลบคำที่แตกหัก ฉันยังให้การเปรียบเทียบของรหัสกับ JSfiddle: https://jsfiddle.net/azozp8rr/
zod

2

สิ่งนี้ได้ผลสำหรับฉันที่จะหยุดการทำงานที่โง่เขลาจากสิ่งที่เกิดขึ้นใน Chrome

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