Designing Table using CSS
M2-R5.1 ┬╖ Chapter 4: CSS ┬╖ 2 min read
ЁЯУЭ Designing Tables Through CSS
HTML рдореЗрдВ <table> рдХрд╛ рдЙрдкрдпреЛрдЧ data рдХреЛ rows рдФрд░ columns рдХреЗ form рдореЗрдВ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ HTML table рдмрдирд╛рдиреЗ рд╕реЗ table рдмрд╣реБрдд simple рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддреА рд╣реИред CSS рдХреА рдорджрдж рд╕реЗ рд╣рдо table рдХреЛ:
- Attractive рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
- Readable рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
- Borders add рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- Alternate rows рдореЗрдВ different colors рджреЗ рд╕рдХрддреЗ рд╣реИрдВред
- Mouse hover рдХрд░рдиреЗ рдкрд░ row рдХреЛ highlight рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕реА process рдХреЛ Designing/Styling Tables through CSS рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
ЁЯФ╣ 1. Adding Border to Table
Table рдореЗрдВ border рд▓рдЧрд╛рдиреЗ рд╕реЗ рдЙрд╕рдХреА rows рдФрд░ cells clearly рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВред
рдЗрд╕рдХреЗ рд▓рд┐рдП border property рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
Syntax:
table, th, tr, td { border: 1px solid black;}
border: 1px solid black;}рдпрд╣рд╛рдБ:
tableтЖТ рдкреВрд░реА tablethтЖТ Table HeadertrтЖТ Table RowtdтЖТ Table Data/Cell1pxтЖТ Border рдХреА thicknesssolidтЖТ Border рдХрд╛ styleblackтЖТ Border рдХрд╛ color
рдЗрд╕рд╕реЗ table рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ parts рдкрд░ border рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред
ЁЯФ╣ 2. border-collapse Property
рдЬрдм рд╣рдо table рдФрд░ рдЙрд╕рдХреЗ cells рджреЛрдиреЛрдВ рдкрд░ border рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рддреЛ cells рдХреЗ рдмреАрдЪ double borders рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред
Example:
тФМтФАтФАтФАтФАтФАтФАтФмтФАтФАтФАтФАтФАтФАтФРтФВ Name тФВ Age тФВтФЬтФАтФАтФАтФАтФАтФАтФ╝тФАтФАтФАтФАтФАтФАтФдтФВ Ram тФВ 20 тФВтФФтФАтФАтФАтФАтФАтФАтФ┤тФАтФАтФАтФАтФАтФАтФШ
рдЗрди borders рдХреЛ рдПрдХ single border рдореЗрдВ merge рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП border-collapse property рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
Syntax:
table { border-collapse: collapse;}
border-collapse: collapse;}рдЗрд╕рдХреЗ рдореБрдЦреНрдп values:
collapse
Adjacent borders рдХреЛ combine рдХрд░рдХреЗ single border рдмрдирд╛ рджреЗрддрд╛ рд╣реИред
table {border-collapse: collapse;}
рдпрд╣ table рдХреЛ рдЬреНрдпрд╛рджрд╛ clean рдФрд░ professional appearance рджреЗрддрд╛ рд╣реИред
separate
рдпрд╣ default value рд╣реИред
рдЗрд╕рдореЗрдВ cells рдХреЗ borders рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ spacing/double-border рдЬреИрд╕рд╛ effect рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддрд╛ рд╣реИред
table {border-collapse: separate;}
рдпрд╛рдж рд░рдЦреЗрдВ:
collapse тЖТ Single/merged border
separate тЖТ Separate borders
ЁЯФ╣ 3. Making a Striped Table
рдПрдХ striped table рдореЗрдВ alternate rows рдХреЗ background colors рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрддреЗ рд╣реИрдВред
рдЗрд╕рд╕реЗ рдЬреНрдпрд╛рджрд╛ rows рд╡рд╛рд▓реА table рдХреЛ рдкрдврд╝рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ row рдХреЛ рджреВрд╕рд░реА row рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рд▓рд┐рдП :nth-child() pseudo-class рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
Example:
tr:nth-child(even) { background-color: lightgray;}
background-color: lightgray;}рдпрд╣рд╛рдБ:
trтЖТ рд╕рднреА table rows рдХреЛ target рдХрд░рддрд╛ рд╣реИред:nth-child(even)тЖТ Even-numbered rows рдХреЛ target рдХрд░рддрд╛ рд╣реИредbackground-colorтЖТ Row рдХрд╛ background color change рдХрд░рддрд╛ рд╣реИред
рдЗрд╕рд╕реЗ:
Row 1 тЖТ NormalRow 2 тЖТ GrayRow 3 тЖТ NormalRow 4 тЖТ GrayRow 5 тЖТ NormalRow 6 тЖТ Gray
Odd Rows
рдЕрдЧрд░ odd-numbered rows рдХреЛ target рдХрд░рдирд╛ рд╣реЛ:
tr:nth-child(odd) {background-color: lightgray;}
рдпрд╛рдж рд░рдЦреЗрдВ:
even тЖТ 2, 4, 6, 8...
odd тЖТ 1, 3, 5, 7...
ЁЯФ╣ 4. Making a Hoverable Table
Table рдХреЛ interactive рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо :hover selector рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЬрдм user mouse рдХреЛ рдХрд┐рд╕реА row рдХреЗ рдКрдкрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрд╕ row рдХрд╛ background color change рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
Syntax:
tr:hover { background-color: #ddd;}
background-color: #ddd;}рдпрд╣рд╛рдБ :hover рддрдм apply рд╣реЛрддрд╛ рд╣реИ рдЬрдм mouse pointer element рдХреЗ рдКрдкрд░ рд╣реЛрддрд╛ рд╣реИред
Example:
Before Hover:
Name Age----------------Rahul 20Aman 22Riya 21
After Hover on Aman:
Name Age----------------Rahul 20Aman 22 тЖР HighlightedRiya 21
Name Age----------------Rahul 20Aman 22Riya 21
After Hover on Aman:
Name Age----------------Rahul 20Aman 22 тЖР HighlightedRiya 21рдЗрд╕рд╕реЗ table рдЬреНрдпрд╛рджрд╛ interactive рдФрд░ user-friendly рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред
тнР Question: Make a Good Looking Table Using Above Properties
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП example рдореЗрдВ рд╣рдордиреЗ рдКрдкрд░ рд╕реАрдЦреА рдЧрдИ рд╕рднреА properties рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ:
<!DOCTYPE html><html><head><style>table {width: 70%;border-collapse: collapse;margin: 20px auto;font-family: Arial, sans-serif;}th, td {border: 1px solid black;padding: 12px;text-align: center;}th {background-color: #333;color: white;}tr:nth-child(even) {background-color: #f2f2f2;}tr:hover {background-color: #ddd;}</style></head><body><table><tr><th>Name</th><th>Age</th><th>Course</th></tr><tr><td>Rahul</td><td>20</td><td>BCA</td></tr><tr><td>Aman</td><td>21</td><td>B.Tech</td></tr><tr><td>Riya</td><td>20</td><td>BCA</td></tr><tr><td>Priya</td><td>22</td><td>MCA</td></tr></table></body></html>
ЁЯФН Code рдХреА Important Properties
width: 70%;
Table рдХреА width screen/container рдХреА рд▓рдЧрднрдЧ 70% рд╣реЛрдЧреАред
border-collapse: collapse;
Cells рдХреЗ adjacent borders рдХреЛ single border рдореЗрдВ combine рдХрд░реЗрдЧрд╛ред
border: 1px solid black;
Table cells рдореЗрдВ 1px рдХрд╛ black solid border рд▓рдЧрд╛рдПрдЧрд╛ред
padding: 12px;
Cell рдХреЗ рдЕрдВрджрд░ content рдФрд░ border рдХреЗ рдмреАрдЪ 12px рдХреА space рджреЗрдЧрд╛ред
text-align: center;
Cell рдХреЗ рдЕрдВрджрд░ text рдХреЛ center рдореЗрдВ рд░рдЦреЗрдЧрд╛ред
tr:nth-child(even)
Even rows рдХреЛ рдЕрд▓рдЧ background color рджреЗрдЧрд╛, рдЬрд┐рд╕рд╕реЗ striped effect рдмрдиреЗрдЧрд╛ред
tr:hover
Mouse рдХреЛ рдХрд┐рд╕реА row рдкрд░ рд▓реЗ рдЬрд╛рдиреЗ рдкрд░ рдЙрд╕рдХрд╛ background color change рдХрд░реЗрдЧрд╛ред
th
Table header рдХреЛ рдЕрд▓рдЧ color рдФрд░ white text рджреЗрдХрд░ рдЬреНрдпрд╛рджрд╛ prominent рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
ЁЯза Quick Revision
| Property/Selector | рдХрд╛рдо |
|---|---|
border | Table/cells рдкрд░ border рд▓рдЧрд╛рддрд╛ рд╣реИ |
border-collapse | Borders рдХреЛ merge рдпрд╛ separate рдХрд░рддрд╛ рд╣реИ |
:nth-child(even) | Even rows рдХреЛ select рдХрд░рддрд╛ рд╣реИ |
:nth-child(odd) | Odd rows рдХреЛ select рдХрд░рддрд╛ рд╣реИ |
:hover | Mouse hover рд╣реЛрдиреЗ рдкрд░ style change рдХрд░рддрд╛ рд╣реИ |
padding | Cell рдХреЗ рдЕрдВрджрд░ space рджреЗрддрд╛ рд╣реИ |
text-align | Text рдХреА alignment set рдХрд░рддрд╛ рд╣реИ |
рд╕рдмрд╕реЗ important рдпрд╛рдж рд░рдЦреЗрдВ:
Border тЖТ Structure рджрд┐рдЦрд╛рддрд╛ рд╣реИ
Border-collapse тЖТ Double border рдХреЛ single рдХрд░рддрд╛ рд╣реИ
nth-child тЖТ Alternate rows рдХреЛ style рдХрд░рддрд╛ рд╣реИ
hover тЖТ Mouse рдЖрдиреЗ рдкрд░ row highlight рдХрд░рддрд╛ рд╣реИ