Cascading Style Sheets
Cascading Style Sheet (disingkat CSS) adalah bahasa lembar gaya yang digunakan sebagai penentu presentasi dan gaya dokumen yang ditulis dalam bahasa markup seperti HTML dan XML. CSS termasuk ke dalam teknologi dasar World Wide Web, bersama dengan HTML dan JavaScript. Nama cascading berasal dari skema prioritas yang ditetapkan untuk menentukan deklarasi mana yang berlaku jika lebih dari satu deklarasi properti cocok dengan elemen tertentu. Skema prioritas cascading ini dapat diprediksi. Sama halnya styles dalam aplikasi pengolahan kata seperti Microsoft Word yang dapat mengatur beberapa style, misalnya heading, subbab, bodytext, footer, images, dan style lainnya untuk digunakan secara bersamaan dalam beberapa berkas (file).[1] Pada umumnya CSS digunakan untuk memformat tampilan halaman web yang dibuat dengan bahasa HTML dan XHTML.[1] CSS dapat mengendalikan ukuran gambar, warna bagian tubuh pada teks, warna tabel, ukuran border, warna border, warna hyperlink, warna mouse over, spasi antar paragraf, spasi antar teks, margin kiri, kanan, atas, bawah, dan parameter lainnya.[1] CSS adalah bahasa style sheet yang digunakan untuk mengatur tampilan dokumen.[2] Sejarah
Nama CSS didapat dari fakta bahwa setiap deklarasi style yang berbeda dapat diletakkan secara berurutan, yang kemudian membentuk hubungan ayah-anak (parent-child) pada setiap style.[3] CSS sendiri merupakan sebuah teknologi internet yang direkomendasikan oleh World Wide Web Consortium atau W3C pada tahun 1996.[2] Setelah CSS distandarisasikan, Internet Explorer dan Netscape melepas browser terbaru mereka yang telah sesuai atau paling tidak hampir mendekati dengan standar CSS.[3] Untuk saat ini terdapat tiga versi CSS, yaitu CSS1, CSS2, dan CSS3. CSS1 dikembangkan berpusat pada pemformatan dokumen HTML, CSS2 dikembangkan untuk memenuhi kebutuhan terhadap format dokumen agar bisa ditampilkan di printer, sedangkan CSS3 adalah versi terbaru dari CSS yang mampu melakukan banyak hal dalam desain website. CSS3 mendukung penentuan posisi konten, downloadable, huruf font, tampilan pada tabel /table layout dan media tipe untuk printer. Kehadiran versi CSS yang ketiga diharapkan lebih baik dari versi pertama dan kedua. CSS3 juga dapat melakukan animasi pada halaman website, di antaranya animasi warna hingga animasi 3D. Dengan CSS3 desainer lebih dimudahkan dalam hal kompatibilitas websitenya pada smartphone dengan dukungan fitur baru yakni media query. Selain itu, banyak fitur baru pada CSS3 seperti: multiple background, border-radius, drop-shadow, border-image, CSS Math, dan CSS Object Model.[4] PenulisanSaat masuk pada bagian CSS, sering dijumpai kode sebagai berikut: body {
color: black;
}
Bagian pertama sebelum tanda kurung kurawal '{}' disebut selector, sedangkan yang diapit oleh kurung kurawal disebut declaration yang terdiri dari dua unsur, yaitu property dan value. Selector dalam pernyataan di atas adalah h1, Selain itu, ada tiga metode penulisan atribut pada CSS, yaitu:[6] Inline Style SheetCSS didefinisikan langsung pada tag HTML yang bersangkutan. Ini ditulis dengan menambahkan atribut style="..." dalam tag HTML tersebut.[6] Gaya hanya akan berlaku pada tag yang bersangkutan, dan tidak akan memengaruhi tag HTML yang lain.[6] Contoh: <html>
<head>
<title>Contoh Bentuk Inline</title>
</head>
<body>
<p id="cth1">
Ini adalah contoh tag P tanpa diformat menggunakan CSS </p>
<p id="cth2" style="font-size:20pt">
Tag P ini diformat dengan besar font 20 point </p>
<p id="cth3" style="font-size:14pt; color:red">
Tag P ini diformat dengan besar font 14 point, dan menggunakan warna merah </p>
</body>
</html>
Internal CSSCSS didefinisikan terlebih dahulu dalam tag <style> ... </style> di dalam tag <head>[6][7] . Pada pendefinisian ini disebutkan atribut-atribut CSS yang akan digunakan untuk tag-tag HTML, yang selanjutnya dapat digunakan oleh tag HTML yang bersangkutan. Contoh: <html>
<head>
<title>Contoh Bentuk Embedded</title>
<style>
body {
background: #0000FF;
color: #FFFF00;
margin-left: 0.5in;
}
h1 {
font-size: 18pt;
color: #FF0000;
}
p {
font-size: 12pt;
font-family: Arial;
text-indent: 0.5in;
}
</style>
</head>
<body>
<h1 id="cth1">Judul ini berukuran 18 dengan warna merah!</h1>
<p id="cth2">Tag p ini di format dengan besar font 12 point dengan tipe font Arial dan mempunyai indntasi 0.5 inci
</p>
<p id="cth3">Yang perlu diperhatikan juga bahwa body disini telah diformat dengan margin kiri 0.5 inch dan warna
background biru</p>
</body>
</html>
External CSSCSS didefinisikan dengan disimpan di berkas yang berbeda. Ini dapat digunakan di semua berkas HTML sehingga memudahkan seorang pengembang web untuk mengembangkan situs web miliknya. <link href="lokasiberkas.css" rel="stylesheet">
Shorthand CSSBeberapa properti CSS dapat disingkat dengan metode shorthand CSS. Ini dilakukan dengan cara mempersingkat penulisan kode CSS yang memungkinkan untuk menetapkan nilai beberapa property secara bersamaan, sehingga kode yang ditulis lebih ringkas. Dalam CSS, wajar jika satu properti memiliki banyak elemen; misalnya dalam properti margin yang memiliki 4 properti untuk setiap sisi elemen, yaitu:
Saat ini metode penulisan shorthand CSS tersedia untuk beberapa properti berikut:
Marginmargin: 3px 5px 7px 10px;
Artinya: margin-top: 3px;
margin-right: 5px;
margin-bottom: 7px;
margin-left: 10px;
Paddingpadding: 3px 5px 7px 10px;
Artinya: padding-top: 3px;
padding-right: 5px;
padding-bottom: 7px;
padding-left: 10px;
Fontfont: italic bold 14px/30px Arial;
Artinya: font-style: italic;
font-weight: bold;
font-size: 14px;
line-height: 30px;
font-family: Arial;
Backgroundbackground: #cc0000 url('igniel.jpg') no-repeat top center;
Artinya: background-color: #cc0000;
background-image: url('igniel.jpg');
background-repeat: no-repeat;
background-position: top center;
Borderborder: 3px solid #0000cc;
Artinya: border-width: 5px;
border-style: solid;
border-color: #0000cc;
Listlist-style: disc inside url('dot.gif');
Artinya: list-style-type: disc;
list-style-position: inside;
list-style-image: url('dot.gif');
Penulisan komentar pada CSSh1 {
/* ini adalah komentar untuk satu baris */
color: red;
}
p {
/*
ini juga adalah komentar untuk dua baris atau lebih.
seluruh teks yang berada pada pembuka dan penutup sebuah komentar
akan diabaikan oleh browser sebagai compiler.
*/
color: red;
}
CSS SelectorUniversal SelectorUniversal selector digunakan untuk diterapkan pada seluruh elemen.[8] /* diterapkan pada seluruh elemen */
* {
color: green;
}
Type SelectorType selector merupakan cara penulisan CSS dengan nama elemen sebagai target untuk diterapkannya rule. Ketika menggunakan selector ini, maka rule akan diterapkan pada seluruh elemen target yang ada pada dokumen HTML.[9] /* akan diterapkan pada seluruh elemen <a>*/
a {
color: blue;
}
ID SelectorID selector menetapkan target elemen berdasarkan nilai dari atribut id yang diterapkan pada elemennya. Agar elemen dapat terpilih, maka atribut id pada elemen harus sama persis dengan yang ada di selector.[10] Contohnya adalah sebagai berikut: <!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<style>
#contoh {
border: black 1px solid;
border-radius: 16px;
}
</style>
</head>
<body>
<!-- Elemen dengan id="contoh" -->
<p id="contoh">ini adalah contoh kalimat.</p>
</body>
</html>
Class SelectorClass selector menetapkan target elemen berdasarkan nilai atribut class yang diterapkan pada elemennya. Mirip seperti ID Selector, untuk menerapkan class selector maka atribut class pada elemen harus sesuai dengan yang ada di selector.[11] Contohnya adalah sebagai berikut: <!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<style>
.contoh {
border: black 1px solid;
border-radius: 16px;
}
</style>
</head>
<body>
<!-- Elemen dengan class="contoh" -->
<p class="contoh">ini adalah contoh kalimat.</p>
</body>
</html>
Grouping Selector pada CSSGrouping selector pada CSS merupakan cara penulisan CSS yang mana ketika selector CSS memiliki property yang sama dapat dikelompokkan dengan selector lainnya. Contohnya adalah sebagai berikut: h1 {
color: red;
}
h2{
color: red;
}
p{
color: red;
}
/* ini adalah class selector */
.text{
color: red;
}
Kode CSS di atas akan lebih baik dikelompokkan seperti di bawah ini, dengan tujuan untuk meminimalisasi penulisan kode yang sama berulang.[12] h1, h2, p, .text {
color: red;
}
Descendant SelectorDescendant selector merupakan cara penulisan CSS dengan memanggil semua elemen yang merupakan turunan dari elemen tertentu. [13] /* Memanggil elemen <p> di dalam elemen <div> */
div p {
font-size: 12px;
}
Child SelectorChild selector merupakan cara penulisan CSS dengan memilih semua elemen yang merupakan anak langsung dari elemen tertentu. [14] Contoh: <!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<style>
div > p {
font-size: 12px;
}
</style>
</head>
<body>
<div>
<p> Teks 1 di dalam div. </p>
<p> Teks 2 di dalam div.</p>
<section>
<p> Teks 3 di section tetapi merupakan turunan dari div </p>
</section>
<p> Teks 4 di dalam div </p>
</div>
<p>Teks 5 tidak di dalam div.</p>
</body>
</html>
Ini akan menghasilkan teks yang berada langsung di elemen Dukungan dari peramban webMasing-masing peramban web menggunakan mesin tata letak yang berbeda. Contohnya Firefox menggunakan Gecko sebagai mesin tata letaknya dan Chromium menggunakan Blink sebagai mesin tata letaknya. Dukungan untuk fitur CSS dari setiap mesin tata letak terkadang sering tidak konsisten. Beberapa teknik pun bermunculan untuk menggunakan suatu fitur CSS ke peramban web yang tidak mendukung fitur tersebut (biasa disebut CSS hack). Adopsi fitur CSS baru dapat terhambat oleh kurangnya dukungan dari peramban-peramban web besar. Contohnya fitur Beberapa pengembang web biasanya memeriksa terlebih dahulu dukungan untuk suatu fitur CSS, terutama untuk fitur CSS baru. Beberapa situs web berikut dapat membantu seperti CanIUse dan Mozilla Developer Network. CSS 3 memiliki fitur kueri, yang memberikan arahan Penggunaan CSS dalam perangkat lunak lainCSS dahulunya dibuat hanya untuk mempercantik halaman web. Namun, seiring perkembangan waktu CSS mulai diadopsi oleh perangkat lunak lain. GTK adalah peralatan gawit lintas platform yang menggunakan CSS untuk memberi gaya pada setiap widget. GTK sering digunakan untuk membuat program Linux. GTK memperkenalkan API Tema baru dengan menggunakan CSS pada pembaharuan besar GTK versi 3.[17] Qt merupakan toolkit widget dan biasa dipakai untuk membuat aplikasi lintas platform. Qt juga menggunakan CSS untuk mengkonfigurasi tema. Contoh berkas/* Kode berikut didedikasikan ke ruang publik (public domain)
Silahkan untuk menggunakan, menyalin, dan mendistribusikan kode berikut */
body {
background-color: yellow;
}
p {
color: red;
}
Kode diatas akan mengganti warna halaman menjadi kuning dan membuat warna paragraf menjadi berwarna merah. CSS PreprocessorCSS preprocessor (pra pengolahan) adalah bahasa script atau program yang memungkinkan pengguna menulis kode CSS sesuai dengan sintaksis (syntax) prepocessor itu sendiri.[18] Ada banyak jenis CSS preprocessor yang dapat digunakan, namun sebagain besar CSS preprocessor memiliki beberapa fitur yang tidak ada dalam vanilla CSS (CSS murni). Beberapa fitur tersebut di antaranya yaitu penulisan variabel, nesting, mixins, extends, color operations, if/else statement, loops, dan lain sebagainya. Fitur-fitur tersebut membuat penulisan kode CSS menjadi lebih mudah dibaca dan lebih mudah dirawat,[19] Berikut adalah beberapa CSS preprocessor populer dan sering digunakan, yaitu :[18] VariabelSalah satu fitur yang dimiliki CSS preprocessor dan sering digunakan yaitu penulisan variabel. Dengan menuliskan variabel, kode yang dituliskan dapat digunakan digunakan kembali (reusable). Sehingga proses pengembangan suatu web dapat lebih cepat dan mudah. Berikut adalah contoh penulisan variabel dalam CSS preprocessor:[20][21] Sass/SCSS// Penulisan SCSS preprocessor
$base-color: #c6538c;
$border-dark: rgba($base-color, 0.88);
.box {
border: 1px solid $border-dark;
}
Less CSS// Penulisan Less preprocessor
@width: 10px;
@height: @width + 10px;
#header {
width: @width;
height: @height;
}
Stylus// Penulisan STYLUS preprocessor
font-size = 1em
div
font-size font-size
NestingDengan menggunakan fitur nesting, pengguna dapat menuliskan selector di dalam selector (bersarang). Contoh penulisannya adalah sebagai berikut:[22][23] Sass/SCSS// Penulisan SCSS preprocessor
nav {
ul {
margin: 0;
padding: 0;
list-style: none;
}
li {
display: inline-block;
}
a {
display: block;
padding: 6px 12px;
text-decoration: none;
}
}
Less CSS// Penulisan Less preprocessor
nav {
ul {
margin: 0;
padding: 0;
list-style: none;
}
li {
display: inline-block;
}
a {
display: block;
padding: 6px 12px;
text-decoration: none;
}
}
Stylusnav
ul
margin: 0;
padding: 0;
list-style: none;
li
display: inline-block;
a
display: block;
padding: 6px 12px;
text-decoration: none;
CSS/* Apabila ditulis dengan kode vanilla CSS atau CSS polos, maka hasilnya adalah sebagai berikut */
nav ul {
margin: 0;
padding: 0;
list-style: none;
}
nav li {
display: inline-block;
}
nav a {
display: block;
padding: 6px 12px;
text-decoration: none;
}
Lihat pulaReferensi
Pranala luarWikibooks memiliki buku di:
|