Cascading Style Sheets: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Katyusha 97 (bicara | kontrib)
Perbaikan
Tag: Suntingan perangkat seluler Suntingan peramban seluler
Membalikkan revisi 26561507 oleh Lazawardi sidik (bicara) kalau mau menambah referensi jangan menggunakan subjudul ketiga karena sudah ada subjudulnya. Sebaiknya juga jangan menggunakan subjudul 4 karena terkesan tidak rapi
Tag: Pembatalan Suntingan perangkat seluler Suntingan peramban seluler Suntingan seluler lanjutan
 
(16 revisi perantara oleh 3 pengguna tidak ditampilkan)
Baris 21:
| url = {{URL|https://www.w3.org/TR/CSS/#css}}
}}
'''Cascading Style Sheet''' (disingkat '''CSS''') merupakanadalah aturanbahasa untuklembar mengaturgaya beberapayang komponendigunakan dalamsebagai sebuahpenentu web[[presentasi]] sehinggadan akangaya lebihdokumen terstrukturyang ditulis dalam [[bahasa markup]] seperti [[HTML]] dan seragam[[XML]]. CSS bukantermasuk merupakanke dalam teknologi dasar [[bahasaWaring pemrogramanWera Wanua|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 dapat digunakan bersama-sama dalam beberapa berkas (''[[file]]'').<ref name="Slamet">Slamet Riyanto, ''Membuat Web Portal Multi Bahasa Jomla 1.5X + CD'', halaman 236. Elex Media Komputindo.</ref> Pada umumnya CSS dipakai untuk memformat tampilan halaman web yang dibuat dengan [[bahasa]] [[HTML]] dan [[XHTML]].<ref name="Slamet"/>
 
CSSSama dapathalnya mengendalikan''styles'' [[ukuran]]dalam [[gambaraplikasi]], [[warna]]pengolahan bagiankata tubuh pada teks, warnaseperti [[tabelMicrosoft Word]], ukuranyang border,dapat warnamengatur border,beberapa warna [[hyperlink]]''style'', warnamisalnya ''[[mouse]] overheading'', spasi antar paragraf''subbab'', spasi antar teks''bodytext'', margin kiri''footer'', kanan, atas, bawah''images'', dan parameter''style'' lainnya.<ref name="Slamet"/>untuk CSSdigunakan adalahsecara bahasabersamaan dalam beberapa berkas (''[[Stylesheet|style sheetfile]] yang digunakan untuk mengatur tampilan dokumen'').<ref name="dominikusSlamet">Dominikus Juju &Slamet Matamaya StudioRiyanto, ''SeriMembuat PenuntunWeb PraktisPortal Multi Bahasa Jomla 1.5X Join+ MultiplyCD'', halaman 95236. Elex Media Komputindo.</ref> DenganPada adanyaumumnya CSS memungkinkan kitadigunakan untuk menampilkanmemformat tampilan halaman web yang samadibuat dengan format[[bahasa]] yang[[HTML]] berbedadan [[XHTML]].<ref name="dominikusSlamet"/>
 
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.<ref name="Slamet"/> CSS adalah bahasa [[Stylesheet|style sheet]] yang digunakan untuk mengatur tampilan dokumen.<ref name="dominikus">Dominikus Juju & Matamaya Studio, ''Seri Penuntun Praktis Join Multiply'', halaman 95. Elex Media Komputindo.</ref>
 
== Sejarah ==
Baris 40 ⟶ 42:
Saat masuk pada bagian CSS, sering dijumpai kode sebagai berikut:
<syntaxhighlight lang="css">
h1body {
color: #0789deblack;
}
</syntaxhighlight>
Bagian pertama sebelum tanda kurung kurawal '{}' dinamakandisebut ''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, sedangkan ''<code>color''</code> adalah ''property''properti, dan #0789de<code>black</code> adalah ''value.''nilai<ref>Untung Julianto, ''Modifikator Blogger + CD'', halaman 22. Elex Media Komputindo.</ref>.
 
Selain itu, ada tiga metode penulisan atribut pada CSS, yaitu:<ref name="css_html"/>
 
=== Inline Style Sheet ===
CSS didefinisikan langsung pada tag HTML yang bersangkutan. CaraIni penulisannya cukupditulis dengan menambahkan atribut '''style="..."''' dalam tag HTML tersebut.<ref name="css_html">Untung Rahardja, Augury El Rayeb, & Asep Saefullah (2009). ''Siapa saja bisa membuat website dengan CSS dan HTML'', halaman 37-41. Andi Yogyakarta.</ref> StyleGaya hanya akan berlaku pada tag yang bersangkutan, dan tidak akan memengaruhi tag HTML yang lain.<ref name="css_html" />
 
Contoh:
Contoh penulisan CSS dengan metode '''Inline Style Sheet'''
<syntaxhighlight lang="html4strict" line="1">
<html>
 
<head>
<title>Contoh Bentuk Inline </title>
</head>
 
Baris 73 ⟶ 75:
</syntaxhighlight>
 
=== EmbeddedInternal Style SheetCSS ===
CSS didefinisikan terlebih dahulu dalam tag '''<style> ... </style>''' di atasdalam tag '''<bodyhead>'''.<ref name="css_html" /><ref>{{Cite Pada pendefinisian ini disebutkan atribut-atributweb|title=How CSS yang akanis digunakanstructured untuk tag-tag HTML,Learn yangweb selanjutnyadevelopment dapat{{!}} digunakan oleh tag HTML yang bersangkutanMDN|url=https://developer.<ref namemozilla.org/en-US/docs/Learn/CSS/First_steps/How_CSS_is_structured|language="css_html" en-US|access-date=2024-09-23}}</ref>
. Pada pendefinisian ini disebutkan atribut-atribut CSS yang akan digunakan untuk tag-tag HTML, yang selanjutnya dapat digunakan oleh tag HTML yang bersangkutan.
 
Contoh:
Contoh penggunaan CSS dengan metode '''Embedded Style Sheet''' adalah sebagai berikut :<ref name="css_html" />
<syntaxhighlight lang="html5" line="1">
<html>
Baris 82 ⟶ 85:
<head>
<title>Contoh Bentuk Embedded</title>
</headstyle>
body {
<style>
background: #0000FF;
body {
background color: #0000FFFFFF00;
color margin-left: #FFFF000.5in;
margin-left: 0.5in; }
}
 
h1 {
font-size: 18pt;
color: #FF0000;
}
 
p {
font-size: 12pt;
font-family: arialArial;
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 identasiindntasi 0.5 inchinci
</p>
<p id="cth3">Yang perlu diperhatikan juga bahwa body disini telah diformat dengan margin kiri 0.5 inch dan warna
Baris 112 ⟶ 115:
</html>
</syntaxhighlight>
 
=== External CSS ===
CSS didefinisikan dengan disimpan di berkas yang berbeda. Ini dapat mempermudah dalam perawatan dan dapat digunakan di semua berkas HTML sehingga memudahkan seorang pengembang web untuk mengembangkan situs web miliknya. Untuk menautkan berkas CSS ke suatu berkas HTML kita hanya perlu menggunakan kode

<syntaxhighlight lang="html"><link href="lokasiberkas.css" rel="stylesheet"></syntaxhighlight>
 
=== Shorthand CSS ===
Ada beberapaBeberapa properti CSS yang dapat disingkat, biasanyadengan dipanggilmetode dengan Shorthand''shorthand'' CSS. TeknikIni shorthanddilakukan adalahdengan cara mempersingkat penulisan kode CSS yang memungkinkan untuk menetapkan nilai beberapa ''property'' secara bersamaan. Teknik ini dapat menghemat karakter, menghematsehingga energi,kode danyang tentu saja menghemat waktu. Kode jadi terlihatditulis lebih rapi, efisien, dan sering kali lebih mudah dibacaringkas.
 
Dalam CSS, adalah wajar jika satu propertyproperti memiliki banyak elemen.; Misalnyamisalnya dalam kodeproperti margin yang memiliki 4 ''property''properti untuk setiap sisi elemen., yaitu:
 
# margin-top
Baris 124 ⟶ 131:
# margin-left
 
Untuk saatSaat ini metode penulisan shorthand CSS tersedia untuk beberapa propertyproperti berikut:
Jika menggunakan teknik shorthand CSS, maka penulisan semua property bisa disatukan demi terciptanya kode yang lebih ringkas. Urutan penulisan syntax pada teknik shorthandharus benar agar sesuai dengan style yang diinginkan.
 
Untuk saat ini metode penulisan shorthand CSS tersedia untuk beberapa property berikut:
 
# Margin
Baris 298 ⟶ 303:
}
</syntaxhighlight>
 
=== Descendant Selector ===
''Descendant selector'' merupakan cara penulisan CSS dengan memanggil semua elemen yang merupakan turunan dari elemen tertentu. <ref>{{Cite web|title=Descendant Combinator - CSS: Cascading Style Sheets {{!}} MDN|url=https://developer.mozilla.org/en-US/docs/Web/CSS/Descendant_combinator|website=developer.mozilla.org|language=en-US|access-date=2024-09-03}}</ref><syntaxhighlight lang="css" line="1">
/* Memanggil elemen <p> di dalam elemen <div> */
div p {
font-size: 12px;
}
</syntaxhighlight>
 
=== Child Selector ===
''Child selector'' merupakan cara penulisan CSS dengan memilih semua elemen yang merupakan anak langsung dari elemen tertentu. <ref>{{Cite web|title=Child Combinator - CSS: Cascading Style Sheets {{!}} MDN|url=https://developer.mozilla.org/en-US/docs/Web/CSS/Child_combinator|website=developer.mozilla.org|language=en-US|access-date=2024-09-03}}</ref>
 
Contoh:
<syntaxhighlight lang="html" line="1">
<!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>
</syntaxhighlight>
 
Ini akan menghasilkan teks yang berada langsung di elemen <code><nowiki><div></nowiki></code> akan dirender dengan font berukuran 12 px, sedangkan teks yang tidak berada di dalam elemen <code><nowiki><div></nowiki></code> atau berada di elemen lain tetapi merupakan turunan dari elemen <code><nowiki><div></nowiki></code>, tetap memiliki ukuran font yang normal.
 
== Dukungan dari peramban web ==
Masing-masing peramban web menggunakan [[mesin tata letak]] yang berbeda. Contohnya [[Firefox]] menggunakan [[Gecko]] sebagai mesin tata letaknya dan Chromium menggunakan [[Blink (mesin browser)|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 <code>cross-fade()</code> telah didukung oleh Chrome dan Safari namun sampai tahun 2021 masih belum didukung oleh Firefox.<ref>{{Cite web|title=Can I use... Support tables for HTML5, CSS3, etc|url=https://caniuse.com/?search=cross%20fade|website=caniuse.com|access-date=2021-02-24}}</ref>
 
Beberapa pengembang web biasanya memeriksa terlebih dahulu dukungan untuk suatu fitur CSS, terutama untuk fitur CSS baru. Beberapa situs web berikut dapat membantu seperti [https://caniuse.com CanIUse] dan [https://developer.mozilla.org Mozilla Developer Network]. CSS 3 memiliki fitur kueri, yang memberikan arahan <code>@supports</code> yang akan memungkinkan pengembang menargetkan peramban web dengan dukungan untuk fungsionalitas tertentu langsung di dalam CSS mereka.<ref>{{Cite web|title=Using Feature Queries in CSS – Mozilla Hacks - the Web developer blog|url=https://hacks.mozilla.org/2016/08/using-feature-queries-in-css|website=Mozilla Hacks – the Web developer blog|language=en-US|access-date=2021-02-24}}</ref> CSS yang tidak didukung oleh suatu peramban web kadang-kadang bisa ditambal menggunakan [[polyfill]], yang merupakan potongan kode [[JavaScript]] yang dirancang untuk memberikan dukungan untuk peramban web terhadap suatu fitur yang sebelumnya tidak didukung. Solusi ini dapat menambah kerumitan pada proyek pengembangan, dan akibatnya, perusahaan sering kali menentukan daftar versi peramban web yang akan dan tidak akan mereka dukung.
 
== Penggunaan CSS dalam perangkat lunak lain ==
CSS 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.<ref>{{Cite web|title=February 2011 – GTK Development Blog|url=https://blog.gtk.org/2011/02/|language=en-US|access-date=2021-02-25}}</ref>
 
[[Qt]] merupakan toolkit widget dan biasa dipakai untuk membuat aplikasi lintas platform. Qt juga menggunakan CSS untuk mengkonfigurasi tema.
 
== Fakta-FaktaContoh menggunakan CSSberkas ==
 
Fakta Menggunakan CSS di antaranya:<ref>Pupung Budi Purnama, ''Kiat Praktis Menjadi Desainer Web Profesional'', halaman 8. Elex Media Komputindo.</ref>
* Lebih fleksibel dalam penempatan posisi layout. Dalam layouting CSS, kita mengenal Z-Index untuk menempatkan objek dalam posisi yang sama.
* Menjaga HTML dalam penggunaan [[tag]] yang minimal, hal ini berpengaruh terhadap ukuran berkas dan kecepatan pengunduhan.
* Dapat menampilkan konten utama terlebih dahulu, sementara gambar dapat ditampilkan sesudahnya.
 
== Contoh Berkas CSS ==
 
<syntaxhighlight lang="css">
/* Kode berikut didedikasikan ke ruang publik (public domain)
Silahkan untuk menggunakan, mensalinmenyalin, dan mendistribusikan kode berikut */
 
body {
Baris 330 ⟶ 367:
color: red;
}
</syntaxhighlight>

Kode diatas akan mengganti warna halaman menjadi kuning dan membuat warna paragraf menjadi berwarna merah.
 
== CSS Preprocessor ==
{{Main|CSS Preprocessor}}''CSS preprocessor'' (pra pengolahan) adalah bahasa script atau program yang memungkinkan pengguna menulis kode CSS sesuai dengan [[sintaksis]] (''syntax) prepocessor'' itu sendiri.<ref name=":0">{{Cite web|title=CSS preprocessor - MDN Web Docs Glossary: Definitions of Web-related terms {{!}} MDN|url=https://developer.mozilla.org/en-US/docs/Glossary/CSS_preprocessor|website=developer.mozilla.org|language=en-US|access-date=2022-09-28}}</ref>
 
Ada banyak jenis CSS ''prepocessorpreprocessor'' yang dapat digunakan, namun sebagain besar CSS ''prepocessorpreprocessor'' memiliki beberapa fitur yangtyang tidak ada didalam ''vanilla'' CSS (CSS polos atau 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,<ref>{{Cite web|date=2020-01-17|title=CSS Preprocessors Explained|url=https://www.freecodecamp.org/news/css-preprocessors/|website=freeCodeCamp.org|language=en|access-date=2022-09-28}}</ref>
 
Berikut adalah beberapa CSS ''preprocessor'' [[popularpopuler]] dan sering digunakan, di antaranya yaitu :<ref name=":0" />
 
* [[Sass]]
* [[Less|LESS]]
* Stylus
* [[PostCSS]]
 
=== Variabel ===