คุณสมบัติ columns เป็น shorthand property สำหรับกำหนด columnWidth และ columnCount พร้อมกันในคำสั่งเดียว
ไวยากรณ์ (Syntax)
object.style.columns = "auto|column-width column-count|initial|inherit"
ค่าที่รองรับ
| ค่า | คำอธิบาย |
|---|---|
| auto | column-width = auto, column-count = auto (ค่าเริ่มต้น) |
| column-width | ระบุความกว้างคอลัมน์ขั้นต่ำ (length: px, em, rem) |
| column-count | ระบุจำนวนคอลัมน์สูงสุด (integer) |
| initial | ตั้งค่ากลับเป็นค่าเริ่มต้น |
| inherit | สืบทอดจากพาเรนต์ |
ตัวอย่างการใช้งาน
<!DOCTYPE html>
<html>
<head>
<style>
#DIV1 {
columns: 5rem auto; /* ความกว้างขั้นต่ำ 5rem, จำนวนคอลัมน์ auto */
}
img {
border: 1px solid brown;
margin: 5px 0;
max-width: 100%;
}
</style>
<script>
function changeColumns() {
document.getElementById("DIV1").style.columns = "10px 3";
document.getElementById("Sample").innerHTML = "คอลัมน์ถูกปรับเปลี่ยน: ความกว้าง 10px, จำนวน 3 คอลัมน์";
}
</script>
</head>
<body>
<div id="DIV1">
<img src="https://www.tutorialspoint.com/images/xamarian.png"><br/>
<img src="https://www.tutorialspoint.com/images/pl-sql.png"><br/>
<img src="https://www.tutorialspoint.com/images/asp-net.png"><br/>
<img src="https://www.tutorialspoint.com/images/powerbi.png"><br/>
<img src="https://www.tutorialspoint.com/images/Tableau.png"><br/>
<img src="https://www.tutorialspoint.com/images/Big-Data-Analytics.png"><br/>
<img src="https://www.tutorialspoint.com/images/home_time_series.png"><br/>
<img src="https://www.tutorialspoint.com/images/microsoftproject.png"><br/>
</div>
<p>คลิกปุ่มเพื่อเปลี่ยนคุณสมบัติ columns ของ div ด้านบน</p>
<button onclick="changeColumns()">เปลี่ยน Columns</button>
<p id="Sample"></p>
</body>
</html>
ผลลัพธ์
ก่อน: คอลัมน์กว้างขั้นต่ำ 5rem (80px), จำนวน auto
หลัง: คอลัมน์กว้าง 10px, จำนวน 3 คอลัมน์
วิธีการทำงานของ Columns Shorthand
| การระบุ | column-width | column-count | พฤติกรรม |
|---|---|---|---|
| columns: auto | auto | auto | 1 คอลัมน์ (ปกติ) |
| columns: 200px | 200px | auto | สร้างคอลัมน์กว้าง ≥200px ให้มากที่สุด |
| columns: 3 | auto | 3 | แบ่ง 3 คอลัมน์เท่ากัน |
| columns: 200px 3 | 200px | 3 | สูงสุด 3 คอลัมน์ แต่ละคอลัมน์กว้าง ≥200px |
Responsive Columns Pattern (แนะนำ)
.responsive-columns {
columns: 250px auto;
column-gap: 2rem;
column-rule: 1px solid #eee;
}
/* หรือใช้ Media Queries ควบคุม column-count */
@media (max-width: 600px) {
.responsive-columns { columns: 1; }
}
@media (min-width: 601px) and (max-width: 1000px) {
.responsive-columns { columns: 2; }
}
@media (min-width: 1001px) {
.responsive-columns { columns: 3; }
}
คุณสมบัติ Multi-column ที่เกี่ยวข้อง
| คุณสมบัติ | คำอธิบาย |
|---|---|
| columnCount | จำนวนคอลัมน์ (Longhand) |
| columnWidth | ความกว้างคอลัมน์ (Longhand) |
| columnGap | ระยะห่างคอลัมน์ |
| columnRule | เส้นกั้นคอลัมน์ |
| columnSpan | องค์ประกอบข้ามคอลัมน์ |
| columnFill | auto | balance (การกระจายเนื้อหา) |
การรองรับเบราว์เซอร์
รองรับ Chrome 50+, Firefox 52+, Safari 10+, Edge 12+ (ไม่รองรับ IE)