Di bawah ini kita akan mempelajari cara membuat 3 Column Layout Grid dengan CSS.
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> * { box-sizing: border-box; } /* Buat tiga kolom yang sama yang mengapung di samping satu sama lain */ .column { float: left; width: 33.33%; padding: 10px; height: 300px; /* hanya untuk contoh*/ } /* Hapus floats setelah columns */ .row:after { content: ""; display: table; clear: both; } </style> </head> <body> <h2>Three Equal Columns</h2> <div class="row"> <div class="column" style="background-color:#aaa;"> <h2>Kolom 1</h2> <p>contoh teks..</p> </div> <div class="column" style="background-color:#bbb;"> <h2>Kolom 1</h2> <p>contoh teks..</p> </div> <div class="column" style="background-color:#ccc;"> <h2>Kolom 1</h2> <p>contoh teks..</p> </div> </div> </body> </html>
Cara Membuat 3 Column Layout Grid
Langkah 1) Tambahkan HTML:
Contoh
Example <div class="row"> <div class="column"></div> <div class="column"></div> <div class="column"></div> </div>
Langkah 2) Tambahkan CSS:
Dalam contoh ini, kita akan membuat tiga kolom yang sama:
Contoh
.column {
float: left;
width: 33.33%;
}
/* Hapus floats setelah columns */
.row:after {
content: "";
display: table;
clear: both;
}<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
* {
box-sizing: border-box;
}
/* Buat tiga kolom yang sama yang mengapung di samping satu sama lain */
.column {
float: left;
width: 33.33%;
padding: 10px;
height: 300px; /* Hanya untuk contoh */
}
/* Hapus floats setelah columns */
.row:after {
content: "";
display: table;
clear: both;
}
</style>
</head>
<body>
<h2>Three Equal Columns</h2>
<div class="row">
<div class="column" style="background-color:#aaa;">
<h2>Kolom 1</h2>
<p>contoh teks..</p>
</div>
<div class="column" style="background-color:#bbb;">
<h2>Kolom 1</h2>
<p>contoh teks..</p>
</div>
<div class="column" style="background-color:#ccc;">
<h2>Kolom 1</h2>
<p>contoh teks..</p>
</div>
</div>
</body>
</html>
Dalam contoh ini, kita akan membuat tiga kolom yang tidak sama:
Contoh
.column {
float: left;
}
.left, .right {
width: 25%;
}
.middle {
width: 50%;
}<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
* {
box-sizing: border-box;
}
/* Buat tiga kolom tidak sama yang mengapung di samping satu sama lain */
.column {
float: left;
padding: 10px;
height: 300px; /* hanya untuk contoh */
}
.left, .right {
width: 25%;
}
.middle {
width: 50%;
}
/* Hapus floats setelah columns */
.row:after {
content: "";
display: table;
clear: both;
}
</style>
</head>
<body>
<h2>Three Unequal Columns</h2>
<div class="row">
<div class="column" style="background-color:#aaa;">
<h2>Kolom 1</h2>
<p>contoh teks..</p>
</div>
<div class="column" style="background-color:#bbb;">
<h2>Kolom 1</h2>
<p>contoh teks..</p>
</div>
<div class="column" style="background-color:#ccc;">
<h2>Kolom 1</h2>
<p>contoh teks..</p>
</div>
</div>
</body>
</html>
Dalam contoh ini, kita akan membuat tata letak tiga kolom responsif:
Contoh
/* Responsive layout - ketika layar kurang dari 600px lebarnya, buat tiga kolom bertumpuk satu sama lain, bukan di samping satu sama lain */ @media screen and (max-width: 600px) { .column { width: 100%; } }
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
* {
box-sizing: border-box;
}
/* Buat tiga kolom yang sama yang mengapung di samping satu sama lain */
.column {
float: left;
width: 33.33%;
padding: 10px;
height: 300px; /* Hanya untuk contoh */
}
/* Hapus floats setelah columns */
.row:after {
content: "";
display: table;
clear: both;
}
/* Responsive layout - membuat tiga kolom bertumpuk satu sama lain, bukan di samping satu sama lain */
@media screen and (max-width: 600px) {
.column {
width: 100%;
}
}
</style>
</head>
<body>
<h2>Responsive Three Column Layout</h2>
<p>Ubah ukuran jendela browser untuk melihat efek responsif (kolom akan menumpuk satu sama lain alih-alih mengambang berdampingan, saat layar kurang dari 600 piksel lebar).</p>
<div class="row">
<div class="column" style="background-color:#aaa;">
<h2>Kolom 1</h2>
<p>contoh teks..</p>
</div>
<div class="column" style="background-color:#bbb;">
<h2>Kolom 1</h2>
<p>contoh teks..</p>
</div>
<div class="column" style="background-color:#ccc;">
<h2>Kolom 1</h2>
<p>contoh teks..</p>
</div>
</div>
</body>
</html>