หากคุณต้องการให้ตารางจัดเลย์เอาต์อัตโนมัติ
โดยไม่ใช้max-width
หรือเปอร์เซ็นต์ความกว้างคอลัมน์หรือtable-layout: fixed
อื่น ๆ
https://jsfiddle.net/tturadqq/
มันทำงานอย่างไร:
ขั้นตอนที่ 1: เพียงให้ตารางเลย์เอาต์อัตโนมัติทำสิ่งนั้น
เมื่อมีหนึ่งหรือหลายคอลัมน์ที่มีข้อความจำนวนมากมันจะย่อขนาดคอลัมน์อื่นให้มากที่สุดเท่าที่จะเป็นไปได้จากนั้นจึงตัดข้อความของคอลัมน์ที่มีความยาว:
ขั้นตอนที่ 2: ล้อมเนื้อหาเซลล์ใน div จากนั้นตั้งค่า div ให้เป็น max-height: 1.1em
(0.1em พิเศษสำหรับตัวละครที่ทำให้ต่ำกว่าฐานข้อความเช่นหางของ 'g' และ 'y')
ขั้นตอนที่ 3: ตั้งค่าtitle
บน divs
นี่เป็นสิ่งที่ดีสำหรับการเข้าถึงและเป็นสิ่งจำเป็นสำหรับเคล็ดลับเล็ก ๆ น้อย ๆ ที่เราจะใช้ในช่วงเวลาหนึ่ง
ขั้นตอนที่ 4: เพิ่ม CSS ::after
บน div
นี่เป็นบิตที่ยุ่งยาก เราตั้ง CSS เมื่อคุณ::after
มีcontent: attr(title)
ตำแหน่งแล้วที่ด้านบนของ div text-overflow: ellipsis
และการตั้งค่า ฉันวาดสีแดงที่นี่เพื่อให้ชัดเจน
(โปรดสังเกตว่าคอลัมน์ที่มีความยาวในตอนนี้มีจุดไข่ปลาหาง)
ขั้นตอนที่ 5: ตั้งค่าสีของข้อความ div เป็น transparent
และเราทำเสร็จแล้ว!
overflow
ดี ลองวาง div ในเซลล์และจัดแต่งทรงผมที่ div