วิธีป้องกันการแบ่งบรรทัดในรายการโดยใช้ CSS


513

ฉันกำลังพยายามใส่ลิงค์ชื่อส่งประวัติย่อในเมนูโดยใช้liแท็ก เนื่องจากช่องว่างระหว่างคำสองคำนั้นล้อมรอบสองบรรทัด วิธีการป้องกันการห่อนี้ด้วย CSS?

คำตอบ:


969

ใช้white-space: nowrap;[1] [2]หรือให้ลิงก์นั้นมีพื้นที่มากขึ้นโดยตั้งค่าliความกว้างเป็นค่าที่มากขึ้น


[1] § 3. White Space and Wrapping: คุณสมบัติ white-space - W3 CSS Text Module Level 3
[2] white-space - CSS: Cascading Style Sheets | MDN


41
คุณควรอ้างอิง W3C แทนที่จะเป็นเว็บไซต์ w3schools ที่หวั่นและบ่อยครั้ง w3.org/TR/css3-text/#white-space0
เซบาสเตียนมาร์ติน

53
หรือเพียงแค่อ้างอิง Mozilla ผู้พัฒนาเครือข่ายdeveloper.mozilla.org/en-US/docs/CSS/CSS_Reference
คริส Esplin

4
ผมแบ่งบรรทัดป้องกันได้ในรายการ li display: inline;ใช้ บางทีนี่อาจช่วยผู้อื่นที่มีปัญหาคล้ายกัน

สิ่งสำคัญคือต้องระวังด้วยจอแสดงผล: อินไลน์เนื่องจากอาจมีผลข้างเคียง พื้นที่สีขาว: nowrap; มีเพียงผลเดียว
Crispen Smith

ในกรณีนี้ข้อความล้นเกิดขึ้น วิธีการป้องกันที่?

147

คุณสามารถเพิ่มส่วนย่อยของรหัสนี้เพื่อเพิ่ม "... " ที่ดีในตอนท้ายของบรรทัดหากเนื้อหามีขนาดใหญ่พอที่จะใส่ในบรรทัดเดียว:

li {
  overflow: hidden; 
  text-overflow: ellipsis;
  white-space: nowrap;
}

ฉันกำลังมองหาวิธีการแก้ปัญหาข้อความหนีบ แต่ฉันจะติดกับวิธีการแก้ปัญหานี้
JorgeGarza

33

หากคุณต้องการได้รับการคัดเลือกอย่างเหมาะสม (เช่น: ไปยังลิงก์เฉพาะนั้น) คุณสามารถใช้พื้นที่ที่ไม่แตกได้แทนที่จะเป็นพื้นที่ปกติ:

<li>submit&nbsp;resume</li>

https://en.wikipedia.org/wiki/Non-breaking_space#Encodings

แก้ไข: ฉันเข้าใจว่านี่คือ HTML ไม่ใช่ CSS ตามที่ร้องขอโดย OP แต่บางคนอาจพบว่ามีประโยชน์ ...


14

จอแสดงผล: บล็อกแบบอินไลน์; จะป้องกันการแตกระหว่างคำในรายการ

 li {
    display: inline-block;
 }

1
ถ้าผมคลิกผ่านไป jsfiddle และปรับความกว้างของการส่งออกที่รายการแต่ละแบ่งระหว่างคำว่า "รายการ" และจำนวนซึ่งเป็นสิ่งที่สหกรณ์ไม่ต้องการ ...
GentlePurpleRain

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