1. Pengantar CSS
CSS (Cascading Style Sheets) adalah bahasa yang digunakan untuk mengatur tampilan dan layout halaman web. Dengan CSS, Anda dapat mengubah warna, ukuran, posisi, dan gaya elemen HTML agar website terlihat menarik dan mudah digunakan.
CSS bekerja dengan cara menghubungkan aturan gaya (style rules) ke elemen HTML. Aturan ini terdiri dari selektor dan deklarasi yang menentukan properti dan nilainya.
2. Struktur Dasar CSS
Struktur dasar aturan CSS terdiri dari:
-
Selektor:
Elemen HTML yang ingin diatur.
-
Properti:
Aspek tampilan yang ingin diubah (misal: warna, ukuran).
-
Nilai:
Nilai dari properti tersebut (misal: merah, 16px).
h1 {
color: blue;
font-size: 24px;
}
Contoh di atas mengatur semua elemen
h1
agar berwarna biru dan ukuran font 24 piksel.
3. Selektor CSS
Selektor menentukan elemen HTML mana yang akan diberi gaya. Berikut beberapa jenis selektor yang sering digunakan:
-
Selektor Tag:
Memilih elemen berdasarkan nama tag, misal
p
,
h1
.
-
Selektor Kelas:
Memilih elemen berdasarkan atribut
class
, misal
.btn
.
-
Selektor ID:
Memilih elemen berdasarkan atribut
id
, misal
#header
.
-
Selektor Gabungan:
Menggabungkan selektor, misal
div p
memilih semua
p
dalam
div
.
/* Selektor tag */
p {
color: gray;
}
/* Selektor kelas */
.btn {
background-color: green;
color: white;
}
/* Selektor ID */
#header {
font-weight: bold;
}
4. Properti CSS Penting
Berikut beberapa properti CSS yang paling sering digunakan dan penting untuk dikuasai:
-
color:
Mengatur warna teks.
-
background-color:
Mengatur warna latar belakang.
-
font-size:
Mengatur ukuran font.
-
margin:
Mengatur jarak luar elemen.
-
padding:
Mengatur jarak dalam elemen.
-
border:
Mengatur garis tepi elemen.
-
width & height:
Mengatur lebar dan tinggi elemen.
-
display:
Mengatur cara elemen ditampilkan (block, inline, flex, dll).
.box {
color: white;
background-color: #4f46e5; /* Indigo-600 */
font-size: 18px;
margin: 20px;
padding: 15px;
border: 2px solid #312e81; /* Indigo-900 */
width: 200px;
height: 100px;
display: flex;
align-items: center;
justify-content: center;
}
5. Layout dengan CSS
CSS memungkinkan Anda mengatur layout halaman web dengan berbagai teknik, antara lain:
-
Box Model:
Konsep dasar yang menjelaskan margin, border, padding, dan content.
-
Flexbox:
Mengatur layout satu dimensi (baris atau kolom) dengan mudah.
-
Grid:
Mengatur layout dua dimensi (baris dan kolom) secara kompleks.
-
Positioning:
Mengatur posisi elemen dengan
static
,
relative
,
absolute
, dan
fixed
.
.container {
display: flex;
gap: 20px;
}
.item {
flex: 1;
background-color: #a5b4fc; /* Indigo-300 */
padding: 20px;
border-radius: 8px;
}
6. Membuat Desain Responsif
Desain responsif membuat website dapat menyesuaikan tampilannya di berbagai ukuran layar, seperti desktop, tablet, dan smartphone. Cara utama membuat desain responsif adalah dengan menggunakan media queries.
@media (max-width: 768px) {
.container {
flex-direction: column;
}
}
Contoh di atas mengubah layout flexbox menjadi kolom ketika lebar layar kurang dari 768 piksel.
7. Step by Step: Membuat Halaman Web Sederhana
Mari kita buat halaman web sederhana dengan HTML dan CSS yang rapi dan responsif.
Langkah 1: Struktur HTML Dasar
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Halaman Sederhana</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<header>
<h1>Selamat Datang di Website Saya</h1>
</header>
<main>
<p>Ini adalah paragraf pertama.</p>
</main>
<footer>
<p>Hak Cipta © 2024</p>
</footer>
</body>
</html>
Langkah 2: Tambahkan CSS Dasar
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0 20px;
background-color: #f9fafb;
color: #1f2937;
}
header {
background-color: #4f46e5;
color: white;
padding: 20px 0;
text-align: center;
}
main {
margin: 20px 0;
}
footer {
text-align: center;
font-size: 14px;
color: #6b7280;
padding: 10px 0;
border-top: 1px solid #d1d5db;
}
Langkah 3: Membuat Layout Responsif dengan Flexbox
main {
display: flex;
gap: 20px;
flex-wrap: wrap;
}
main p {
background-color: #e0e7ff;
padding: 15px;
border-radius: 8px;
flex: 1 1 300px;
}
Langkah 4: Media Query untuk Mobile
@media (max-width: 600px) {
main {
flex-direction: column;
}
}
8. Source Code Lengkap
Berikut source code lengkap HTML dan CSS untuk halaman web sederhana yang sudah kita buat:
index.html
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Halaman Sederhana</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<header>
<h1>Selamat Datang di Website Saya</h1>
</header>
<main>
<p>Ini adalah paragraf pertama.</p>
<p>Ini paragraf kedua dengan konten tambahan.</p>
<p>Paragraf ketiga untuk menunjukkan layout flexbox.</p>
</main>
<footer>
<p>Hak Cipta © 2024</p>
</footer>
</body>
</html>
styles.css
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0 20px;
background-color: #f9fafb;
color: #1f2937;
}
header {
background-color: #4f46e5;
color: white;
padding: 20px 0;
text-align: center;
}
main {
margin: 20px 0;
display: flex;
gap: 20px;
flex-wrap: wrap;
}
main p {
background-color: #e0e7ff;
padding: 15px;
border-radius: 8px;
flex: 1 1 300px;
}
footer {
text-align: center;
font-size: 14px;
color: #6b7280;
padding: 10px 0;
border-top: 1px solid #d1d5db;
}
@media (max-width: 600px) {
main {
flex-direction: column;
}
}