คอร์ส IT พื้นฐาน CSS 029_รายการและตาราง
รายการ
ใน CSS สามารถปรับแต่งสไตล์ของรายการผ่านคุณสมบัติต่างๆ เช่น list-style-type list-style-image list-style-position
ประเภทรายการ
กำหนดประเภทของรายการ รวมถึงรายการไม่เรียงลำดับ รายการเรียงลำดับ และรายการนิยาม none ไม่แสดง, disc จุดกลม, circle วงกลม, square สี่เหลี่ยม, decimal ตัวเลข, lower-alpha ตัวอักษรพิมพ์เล็ก, upper-alpha ตัวอักษรพิมพ์ใหญ่, decimal-leading-zero ตัวเลขนำหน้าด้วย 0, lower-roman ตัวเลขโรมันพิมพ์เล็ก, upper-roman ตัวเลขโรมันพิมพ์ใหญ่ เป็นต้น
ตัวอย่าง:
.ul-none{ list-style-type: none;}.ul-disc{ list-style-type: disc;}.ul-circle{ list-style-type: circle;}.ul-square{ list-style-type: square;}.ul-decimal{ list-style-type: decimal;}.ul-lower-alpha{ list-style-type: lower-alpha;}.ul-upper-alpha{ list-style-type: upper-alpha;}.ul-decimal-leading-zero{ list-style-type: decimal-leading-zero;}.ul-lower-roman{ list-style-type: lower-roman;}.ul-upper-roman{ list-style-type: upper-roman;} <ul class="ul-none"> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> </ul> <ul class="ul-disc"> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> </ul> <ul class="ul-circle"> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> </ul> <ul class="ul-square"> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> </ul> <ul class="ul-decimal"> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> </ul> <ul class="ul-lower-alpha"> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> </ul> <ul class="ul-upper-roman"> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> </ul> <ul class="ul-decimal-leading-zero"> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> </ul> <ul class="ul-lower-roman"> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> </ul> <ul class="ul-upper-roman"> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> <li>สาธิตประเภทรายการ</li> </ul>ผลลัพธ์:

เครื่องหมายรายการ
ตั้งค่าตำแหน่งเครื่องหมายของรายการ (ภายในหรือภายนอก) inside ภายใน, outside ภายนอก
ตัวอย่าง:
.ul-inside{ list-style-position: inside;}.ul-outside{ list-style-position: outside;}li{ background-color: aquamarine;} <ul class="ul-inside"> <li>สาธิตเครื่องหมายรายการ</li> <li>สาธิตเครื่องหมายรายการ</li> <li>สาธิตเครื่องหมายรายการ</li> </ul> <ul class="ul-outside"> <li>สาธิตเครื่องหมายรายการ</li> <li>สาธิตเครื่องหมายรายการ</li> <li>สาธิตเครื่องหมายรายการ</li> </ul>ผลลัพธ์:

รูปภาพรายการ
ตั้งค่ารูปภาพเครื่องหมายของรายการ สามารถตั้งค่าเป็นที่อยู่ URL ของรูปภาพได้
ตัวอย่าง:
.ul-image1{ list-style-image: url("li1.png");}.ul-image2{ list-style-image: url("li2.png");}.ul-image3{ list-style-image: url("li3.png");} <ul class="ul-image1"> <li>สาธิตเครื่องหมายรายการ</li> <li>สาธิตเครื่องหมายรายการ</li> <li>สาธิตเครื่องหมายรายการ</li> </ul> <ul class="ul-image2"> <li>สาธิตเครื่องหมายรายการ</li> <li>สาธิตเครื่องหมายรายการ</li> <li>สาธิตเครื่องหมายรายการ</li> </ul> <ul class="ul-image3"> <li>สาธิตเครื่องหมายรายการ</li> <li>สาธิตเครื่องหมายรายการ</li> <li>สาธิตเครื่องหมายรายการ</li> </ul>ผลลัพธ์:
ขนาดที่ตั้งค่าผ่าน ul อาจทำให้รูปภาพถูกยืดหรือบีบอัด ดังนั้นควรใช้เครื่องมือแก้ไขเพื่อตั้งค่าขนาดต้นฉบับของรูปภาพ หากต้องการปรับขนาดการแสดงผลของรูปภาพในรายการโดยไม่เปลี่ยนแปลงรูปภาพเอง สามารถใช้ background-image (รูปภาพพื้นหลัง) ของ li เพื่อควบคุมรูปภาพรายการได้อย่างยืดหยุ่น
ตัวอย่าง:
li{ list-style-type: none; background-image: url("li1.png"); background-size: 10px 10px; background-repeat: no-repeat; background-position: 2px center; padding-left: 20px;} <ul> <li>สาธิตเครื่องหมายรายการ</li> <li>สาธิตเครื่องหมายรายการ</li> <li>สาธิตเครื่องหมายรายการ</li> </ul>ผลลัพธ์:
รูปแบบย่อ: คุณสมบัติ list-style ใช้สำหรับตั้งค่าคุณสมบัติสไตล์สามรายการของเครื่องหมายรายการพร้อมกัน ได้แก่ list-style-type, list-style-position และ list-style-image สามารถละเว้นค่าได้ แต่ลำดับต้องไม่เปลี่ยน
ตัวอย่าง:
ul{ list-style: square inside url('li1.png');}ตาราง
ใน CSS สามารถควบคุมลักษณะและเลย์เอาต์ของตารางผ่านคุณสมบัติต่างๆ เช่น border
border
กำหนดเส้นขอบของตาราง สามารถตั้งค่าความกว้าง สี และสไตล์ของเส้นขอบได้
ตัวอย่าง:
table { border: 1px solid red;}<table> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr></table>ผลลัพธ์:

th td
ใน CSS th และ td สามารถควบคุมสไตล์ของส่วนหัวตาราง แถวตาราง และเซลล์ข้อมูลตารางได้
ตัวอย่าง:
table { border: 1px solid red;}th { background-color: #d6d7d8; /* ตั้งค่าสีพื้นหลังส่วนหัว */ color: #333; /* ตั้งค่าสีข้อความส่วนหัว */ font-weight: bold; /* ตั้งค่าข้อความส่วนหัวเป็นตัวหนา */ padding: 10px; /* ตั้งค่า padding ส่วนหัว */ text-align: center; /* ตั้งค่าข้อความจัดกลาง */}td { border: 1px solid green; /* ตั้งค่าเส้นขอบล่างระหว่างแถว */ padding: 8px; /* ตั้งค่า padding ของเซลล์ */ text-align: center; /* ตั้งค่าข้อความจัดกลาง */} <table> <tr> <th>สาธิตตาราง 1</th> <th>สาธิตตาราง 2</th> <th>สาธิตตาราง 3</th> <th>สาธิตตาราง 4</th> </tr> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> </table>ผลลัพธ์:

border-collapse
คุณสมบัติที่ใช้ควบคุมวิธีการรวมเส้นขอบที่อยู่ติดกันของตาราง
- separate: ไม่รวมเส้นขอบ เส้นขอบของตารางจะคงอยู่แยกกัน
- collapse: รวมเส้นขอบ เส้นขอบของตารางจะรวมเข้าด้วยกัน
ตัวอย่าง:
.table1 { border: 2px solid red; border-collapse: separate;}.table2 { border: 2px solid red; border-collapse: collapse;} <table class="table1"> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> </table> <table class="table2"> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> </table>ผลลัพธ์:

border-spacing
กำหนดระยะห่างระหว่างเส้นขอบของตาราง สามารถตั้งค่าระยะห่างระหว่างเส้นขอบได้
ตัวอย่าง:
table { border: 1px solid red; border-spacing: 10px;} <table> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> </table>ผลลัพธ์:

table-layout
กำหนดวิธีการจัดเลย์เอาต์ของตาราง
- auto: เลย์เอาต์อัตโนมัติ ความกว้างและความสูงของตารางถูกกำหนดโดยเนื้อหา
- fixed: เลย์เอาต์คงที่ ความกว้างและความสูงของตารางถูกกำหนดโดยค่าที่ระบุ
ตัวอย่าง:
.table1 { border: 1px solid red; table-layout: auto; width: 100%;}.table2 { border: 1px solid red; table-layout: fixed; width: 100%;}th, td { border: 1px solid red;} <table class="table1"> <tr> <td>สาธิตตาราง 1สาธิตตาราง 1สาธิตตาราง 1สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> </table> <br> <table class="table2"> <tr> <td>สาธิตตาราง 1สาธิตตาราง 1สาธิตตาราง 1สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> </table>ผลลัพธ์:

caption-side
กำหนดตำแหน่งของส่วนหัว สามารถตั้งค่าได้ดังนี้
top: ส่วนหัวอยู่ด้านบนของตารางbottom: ส่วนหัวอยู่ด้านล่างของตาราง
ตัวอย่าง:
.table1 { border: 1px solid red; caption-side: top;}.table2 { border: 1px solid red; caption-side: bottom;} <table class="table1"> <caption>สาธิตส่วนหัว ABC123</caption> <tr> <td>สาธิตตาราง 1สาธิตตาราง 1สาธิตตาราง 1สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> </table> <br> <table class="table2"> <caption>สาธิตส่วนหัว ABC123</caption> <tr> <td>สาธิตตาราง 1สาธิตตาราง 1สาธิตตาราง 1สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> <tr> <td>สาธิตตาราง 1</td> <td>สาธิตตาราง 2</td> <td>สาธิตตาราง 3</td> <td>สาธิตตาราง 4</td> </tr> </table>ผลลัพธ์:
