Some teks for title
Some teks for its subheader
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
<i class="visual-aside" be-icon="!"></i>
<i class="visual-aside" be-icon="burger-menu"></i>
<i class="visual-aside" be-icon="caret"></i>
<i class="visual-aside" be-icon="chevron"></i>
<i class="visual-aside" be-icon="external-link"></i>
<i class="visual-aside" be-icon="i"></i>
<i class="visual-aside" be-icon="left-check"></i>
<i class="visual-aside" be-icon="loading"></i>
<i class="visual-aside" be-icon="stop"></i>
<i class="visual-aside" be-icon="x"></i>
<div class="visual-aside" be-icon="rectangle"> </div>
<div class="visual-aside" be-icon="circle"> </div>
<div class="visual-aside" be-icon="triangle"> </div>
visual-aside, visual-indicator dan btn--icon memiliki tingkatan yang sama sebagai penampung icon, sebaiknya hindari menggabung kelas-kelas ini, atau salah satu dibuat menjadi sub elemen lainnya.
visual-aside dan visual-indicator sebagai komponen berbeda bisa digunakan bersamaan dalam satu induk komponen, tidak dengan btn--icon hanya dapat berdiri sendiri.
btn--icon digunakan untuk tombol aksi yang hanya menampilkan ikon tanpa teks, visual-aside digunakan untuk memberikan visual informasi tambahan seperti pada pesan pemberitahun dengan ikon huruf "i" atau toa, dan penggunaan visual-indicator mempertegas informasi terkait keadaan tertentu, semisal pada komponen [switchable] menampilkan ikon centang saat terpilih.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 5 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | |
| Accent Color | Test | Test | Test | Test | Test | Test | Test | Test | Test | Test |
|---|---|---|---|---|---|---|---|---|---|---|
| Low | Test | Test | Test | Test | Test | Test | Test | Test | Test | Test |
| Normal | Test | Test | Test | Test | Test | Test | Test | Test | Test | Test |
| Important | Test | Test | Test | Test | Test | Test | Test | Test | Test | Test |
| Critical | Test | Test | Test | Test | Test | Test | Test | Test | Test | Test |
| Info | Test | Test | Test | Test | Test | Test | Test | Test | Test | Test |
| Success | Test | Test | Test | Test | Test | Test | Test | Test | Test | Test |
| Caution | Test | Test | Test | Test | Test | Test | Test | Test | Test | Test |
| Warning | Test | Test | Test | Test | Test | Test | Test | Test | Test | Test |
| Error | Test | Test | Test | Test | Test | Test | Test | Test | Test | Test |
| Danger | Test | Test | Test | Test | Test | Test | Test | Test | Test | Test |
<span>Base state <span class="visual-indicator" be-icon="external-link"/></span>
<span class="txt-low-50" href="#asd">low</span>
<span class="txt-normal-50" href="#asd">
normal
</span>
<a class="txt-info-50" href="#asd">
info<span class="visual-indicator" be-icon="external-link"/>
</a>
<button class="txt-critical-50">
critical
</button>
<button class="txt-caution-50">
caution
</button>
<button class="txt-white bg-low-60">
Text White with low background-color
</button>
Bangun di desktop mentarget perangkat lebih kecil
Sewaktu mendesain dan menulis pustaka Bakung CSS, ada beberapa hal yang menjadi pondasi atau target yang ingin dicapai.
<buton class="btn primary bordered"></button>
Ada hal-hal yang terlupakan dan tidak semua target yang di inginkan tercapai, tetapi saat ini jika dilihat apa yang bisa lakukan oleh Bakung CSS, yang terpikirkan adalah "tidak mengecewakan".
Kedepannya akan menambah fitur atau membuang hal-hal yang tidak diperlukan, satu hal yang tetap dilakukan saat ini adalah membuat Bakung CSS terus berkembang.
Bakung CSS adalah pustaka framework CSS menyediakan komponen UI dan kelas-kelas utilitas dasar, murni hanya CSS tanpa javascript, keputusan ini dilakukan karena komponen HTML beserta CSS sudah memberikan nilai lebih pada interaksi antarmuka pengguna.
Agar Bakung CSS dapat memberikan tampilan yang seharusnya, diperlukan beberapa hal seperti fonts google dan @bakung-ui/minimax.css yang berfungsi sebagai pondasi dasar tampilan. Lihat cara penyusunan template html yang dianjurkan.
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="view port" content="width=device-width, initial-scale=1">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Lato:wght@100;300;400&family=Montserrat:wght@100..900&family=Sometype+Mono:wght@400..700&display=swap" rel="stylesheet">
<!--
Kamu tidak perlu @bakung-ui/minimax.css karena sudah termasuk dalam @bakung-ui/bakung.css.
terkecuali saat pengembangan yang masih menggunakan @bakung-ui/css/_variables.css
dan @bakung-ui/css/_bakung.css
-->
<link rel="stylesheet" href="./minimax.css" />
<link rel="stylesheet" href="./bakung.css" />
<title>Hello, world!</title>
</head>
<body>
<h1>Hello, world!</h1>
</body>
</html>
Bakung CSS bisa langsung digunakan untuk produksi, tetapi jika ingin terlihat berbeda, setidaknya lakukan penyesuaian terhadap warna-warna, khususnya warna semantik, selebihnya seperti font-font, bentuk, ukuran, spasi bisa kamu abaikan.
Penulisan kelas berdasar konvesi BEM (Block, ELement, Modifier), untuk menggunakan Bakung CSS tidak harus mempelajari BEM jadi bukan masalah kalau baru mengetahui ini, BEM tidak begitu sulit dipelajari, tetapi jika ingin mengetahui lebih lanjut bisa menuju ke getbem.com .
Satuan ukuran menggunakan REM dan EM, khususnya REM lebih sering digunakan dari ukuran font, komponen, hingga ikon bawaan. Dengan penggunan satuan ukuran ini membuat tampilan antar muka pengguna lebih dinamis.
<button class="btn">
ggjjGHGHGjjgg <i be-icon="left-check"></i>
</button>
<button class="btn" style="font-size: 2rem;">
ggjjGHGHGjjgg <i be-icon="left-check"></i>
</button>
Ada 3 breakpoint:
Pada framework CSS lain penerapan breakpoint menggunakan aturan dimulai dari, contoh col-12 col-sm-5 akan menerapkan aturan lebar elemen adalah 12 kolom, tetapi jika lebar view port (peramban) sama dengan atau lebih besar 768px maka akan membuat elemen selebar 5 kolom. Bakung CSS memberlakukan breakpoint menggunakan aturan tertentu diterapkan sampai batas ukuran tertentu, contoh col-12 col-sm-5 membuat elemen selebar 5 kolom jika lebar view port (peramban) tidak lebih dari 768px, jika lebih dari 768px maka akan dibuat lebar elemen sebesar 12 kolom.
Dari semua breakpoint tadi, tidak semua komponen memilikinya, walaupun ada, tetapi dipisah berdasar kebutuhan berdasar lebar kontainer penampung atau lebar view port (peramban).
Komponen/elemen dengan kelas pengubah berdasar lebar view port (peramban) diawali dengan huruf v, contoh navbar dengan navbar--vsm-compact, jika berdasar lebar kontainer penampung, maka nama kelas menjadi navbar--sm-compact, tanpa huruf v. Pembedaan 2 jenis penerapan aturan ini untuk memaksimalkan interaksi pengguna dengan komponen, karena setiap komponen memiliki fungsi, kemampuan dan tampilan yang berbeda dengan lainnya, besar layar perangkat akses dan alat pendukungnya, komputer memiliki mouse, perangkat mobile dengan ukuran layar 768px keatas biasa memiliki pensil stylus, tapi tidak dengan ukuran layar 768px kebawah yang hanya mengandalkan jari, ini semua mempengaruhi cara interaksi pengguna dengan komponen.
Komponen navbar biasa ditampilkan secara membentang, interaksinya menggunakan mouse melayang pada elemen untuk melihat sub-elemen didalamnya, begitu seterusnya untuk sub-elemen didalamnya. Perubahan tampilan komponen ini bisa dikaitkan pada lebar kontainer penampungnya, tetapi view port (peramban) dengan ukuran 1280px bahkan memiliki elemen dengan ukuran 640px kebawah, walaupun ada elemen dengan ukuran dinamis yang bisa saja lebih lebar, tetapi hal ini tidak dilakukan karena tidak memaksimalkan kemampuan komponen navbar, oleh karenanya lebih tepat jika perubahannya dikaitkan pada ukuran view port (peramban), jadi navbar--vsm-compact saat memiliki ukuran view port (peramban) dibawah 768px, maka akan ditampilkan memadat tegak lurus.
Komponen accordion dengan kelas pengubah accordion--sm-vertical, dikarenakan perubahan besar ukuran perangkat dan alat pendukungnya tidak mempengaruhi interaksi pengguna, sehingga perubahannya dikaitkan berdasar ukuran kontainer sudah tepat.
Bakung CSS menyediakan warna-warna yang bisa kamu gunakan pada elemen dan komponen lain, lebih tepatnya warna-warna yang bisa digunakan pada keadaan tertentu.
Warna-warna terkait prioritas:
Warna-warna terkait status kondisi:
<button class="btn">
Base state
</button>
<button class="btn btn--normal">
Saving <span class="visual-indicator" be-icon="loading"></span>
</button>
<button class="btn btn--accent">
Accent button
</button>
<button class="btn btn--accent" disabled>
<span class="visual-aside"><span be-icon="rectangle"></span></span> Disabled accent button
</button>
<button class="btn btn--accent btn--bordered">
Bordered accent
</button>
<button class="btn btn--ghost">
Ghost
</button>
<span>
Button for icon only:
<button class="btn btn--icon"><i be-icon="x"></i></button>
</span>
<a class="btn" href="#asd">
Link as button
</a>
<a class="btn btn--normal btn--bordered" href="#asd">
Colored link button
</a>
btn--ghost dengan kelas yang mengubah tema warna karena tidak akan memberi efek apapun.
visual-aside dan atau visual-indicator untuk informasi visual tambahan. Sebagai contoh, jika kamu menambah elemen dengan attribute [be-icon="loading"], cursor yang berada diatasnya akan otomatis menjadi cursor loading.
Mengubah tampilan:
--btn-size nilai bakunya adalah 1, ganti nilai ini untuk mendapatkan ukuran berbeda, alternatif lainnya dengan mengubah nilai properti font-size.
[disabled] menampilkan kondisi tidak bisa digunakan.
Mengubah tema warna:
btn--accent
btn--low
btn--normal
btn--important
btn--critical
btn--info
btn--success
btn--caution
btn--warning
btn--error
btn--danger
Fungsi tertentu:
btn--icon menghilangkan ciri khas tampilan tombol, digunakan saat hanya menampilkan ikon.
btn--ghost memiliki tampilan transparant warna latar belakang abu-abu dan tanpa border.
btn--bordered penggunanya digabung dengan kelas pengubah tema warna untuk menghasilkan tampilan tertentu.
<span class="avatar" data-avatar-name="John">
<img class="avatar__img" src="./assets/potrait.png"/>
<span class="avatar__indicator"></span>
</span>
<span class="avatar avatar--circle" style="font-size:2rem" data-avatar-name="John">
<img class="avatar__img" src="./assets/potrait.png"/>
<span class="avatar__indicator"></span>
</span>
<span class="avatar">
<span class="avatar__figure">
<i be-icon="rectangle"></i>
</span>
<span class="avatar__indicator">
</span>
</span>
<span class="avatar" style="--avatar-size: 2;" data-avatar-name="John">
<!-- alternative: class="avatar__indicator bg-success" -->
<span class="avatar__indicator" style="background-color: var(--color-success-50);">
</span>
</span>
Komponen avatar digunakan untuk menampilkan foto atau nama pengguna.
Mengubah tampilan:
--avatar-size nilai bakunya adalah 1, ganti nilai ini untuk mendapatkan ukuran berbeda, alternatif lainnya dengan mengubah nilai properti font-size.
Fungsi tertentu:
avatar--circle membuat bentuk avatar menjadi lingkaran
avatar__figure digunakan sebagai pengganti kelas avatar__img jika sub elemennya berupa ikon.
<span class="badge">Base state</span>
<span class="badge badge--accent">Accent</span>
<span class="badge badge--caution">
<span class="visual-aside"><span be-icon="triangle"></span></span> Caution
</span>
<a class="badge badge--low" href="#asd">A Link <span class="visual-indicator" be-icon="external-link"></span></a>
Komponen badge didesain untuk menampilkan data tanpa menerima aksi dan bereaksi, pengecualian khusus jika ingin digunakan menampilkan alamat tautan.
visual-aside, dan atau visual-indicator dengan icon tertentu untuk mempertegas informasi ditampilkan.
Mengubah tampilan:
--badge-size nilai bakunya adalah 1, ganti nilai ini untuk mendapatkan ukuran berbeda, alternatif lainnya dengan mengubah nilai properti font-size.
Mengubah tema warna:
badge--accent
badge--low
badge--normal
badge--important
badge--critical
badge--success
badge--info
badge--caution
badge--warning
badge--error
badge--danger
<span class="badge badge--chip">Base stat</span>
<span class="badge badge--chip badge--important">Important</span>
<span class="badge badge--chip badge--normal"><span class="visual-aside"><span be-icon="circle"></span></span> Icon element</span>
<a class="badge badge--chip badge--info" href="#asd">Go to site<span
class="visual-indicator" be-icon="external-link"></span></a>
<span class="badge badge--chip badge--caution">
<span class="visual-aside"><span be-icon="rectangle"></span></span>
With action button
<button class="btn btn--icon"><span be-icon="x"></span></button>
</span>
Kelas badge--chip, variasi turunan dari komponen badge, didesain untuk dapat menerima aksi dan memberikan reaksi.
badge dapat kembali diterapkan disini. Jika ingin memberikan tombol aksi, sebaiknya gunakan sub elemen dengan kelas btn btn--icon.
<fieldset>
<fieldset be-removeable>
Basic state
<label class="btn btn--icon">
<i be-icon="x"></i>
<input type="checkbox" class="invisible" data-state-handler checked>
</label>
</fieldset>
<fieldset class="badge badge--chip" be-removeable>
Badge 1
<label class="btn btn--icon">
<i be-icon="x"></i>
<input type="checkbox" class="invisible" data-state-handler checked>
</label>
</fieldset>
<fieldset class="badge badge--chip badge--important" be-removeable>
Badge 2
<label class="btn btn--icon">
<i be-icon="x"></i>
<input type="checkbox" class="invisible" data-state-handler checked>
</label>
</fieldset>
<fieldset class="badge badge--chip" be-removeable>
Badge-chip 1
<label class="btn btn--icon">
<i be-icon="x"></i>
<input type="checkbox" class="invisible" data-state-handler checked>
</label>
</fieldset>
<fieldset class="badge badge--chip" be-removeable>
Badge-chip 2
<label class="btn btn--icon">
<i be-icon="x"></i>
<input type="checkbox" class="invisible" data-state-handler checked>
</label>
</fieldset>
</fieldset>
[be-removeable] hanya memiliki satu fungsi yakni membuat dari terpilih menjadi tak terpilih dan dihilangkan dari tampilan.
[be-removeable] dapat digabung dengan kelas badge dan kelas bantuan lainnya, dan dianjurkan untuk mengelompokkan sejumlah kontrol kedalam elemen penampung <fieldset>.
<fieldset>
<label be-switchable><span class="active-visible visual-indicator" be-icon="left-check"></span><input type="checkbox" class="invisible" data-state-handler>Base state</label>
<label class="badge badge--chip badge--info" be-switchable><span class="active-visible visual-indicator" be-icon="left-check"></span><input type="checkbox" class="invisible" data-state-handler>Choose me</label>
<label class="badge badge--chip badge--warning" be-switchable><span class="active-visible visual-indicator" be-icon="left-check"></span><input type="checkbox" class="invisible" data-state-handler>Choose me</label>
|
<label class="badge badge--chip badge--important" be-switchable><input type="radio" name="switchable-1" class="invisible" data-state-handler><span class="active-visible visual-indicator" be-icon="left-check"></span> Opt 1 </label>
<label class="badge badge--chip" be-switchable><input class="invisible" type="radio" name="switchable-1" class="invisible" data-state-handler checked><span class="active-visible visual-indicator" be-icon="left-check"></span> Opt 2 </label>
</fieldset>
Komponen [be-switchable] merupakan alternative untuk <input [type="checkbox"]> dan <input [type="radio"]>. Jika digunakan untuk melakukan aksi memilih atau tidak (tidak memiliki nilai) maka kontrol yang digunakan ialah <input [type="checkbox"]>, tetapi jika harus memilih diantara satu pilihan maka gunakan <input [type="radio"]>.
badge disini, sebaiknya diberi sub elemen dengan kelas visual-indicator sebagai pembeda keadaan sudah dipilih .
Fungsi tertentu:
active-invisible membuat sub-elemen tidak terlihat saat aktif.
active-visible membuat sub-elemen terlihat saat aktif.
<section class="toggle">
<fieldset class="toggle__control">
<label>
<input type="checkbox" class="invisible" data-toggle-handler-off-on value="flight-mode">
</label>
</fieldset>
Flight mode
</section>
|
<section class="toggle toggle--vertical">
<fieldset class="toggle__control">
<label>
<input type="radio" class="invisible" data-toggle-handler-off name="toggle-boolean" value="false" checked>
</label>
<label>
<input type="radio" class="invisible" data-toggle-handler-on name="toggle-boolean" value="true">
</label>
</fieldset>
<span class="active-invisible">False</span>
<span class="active-visible">True</span>
</section>
|
Dominant hand:
<section class="toggle toggle--mutual">
Left
<fieldset class="toggle__control">
<label>
<input type="radio" class="invisible" data-toggle-handler-off name="toggle-hand" value="left" checked>
</label>
<label>
<input type="radio" class="invisible" data-toggle-handler-on name="toggle-hand" value="right">
</label>
</fieldset>
Right
</section>
Komponen toggle merupakan alternative untuk <input [type="checkbox"]> dan <input [type="radio"]>.
Jika diperlukan 2 nilai berbeda, nilai awal (off) vs nilai lainnya (on), gunakan elemen <input [type="radio"]>. Jika ingin elemen tertentu muncul berdasar kondisi on-off, tambahkan sub elemen baru didalam komponen toggle, dan beri kelas active-invisible atau active-visible.
Mengubah tampilan:
--toggle-size nilai bakunya adalah 1, ganti nilai ini untuk mendapatkan ukuran berbeda, alternatif lainnya dengan mengubah nilai properti font-size.
Fungsi tertentu:
toggle--vertical memberikan tata letak tegak.
toggle--mutual digunakan ketika pilihan yang ada sama nilainya, dan biasanya saat menggunakan elemen <input [type="radio"]>, agar tidak memberikan efek tampilan off-on.
Suis praecipites, imagine quae erat: sanctius iuga ventos locum quin aurea fulgura sic.
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo orbem mentes carentem haec animus coegit longo totidemque piscibus inmensa ille quam phoebe sinistra secant innabilis vix terram timebat terris ignea circumdare.
<div class="group">
<p>
Suis praecipites, imagine quae erat: sanctius iuga ventos locum quin aurea fulgura sic.
</p>
<hr class="divider divider--vertical" be-divider-caption="or" />
<p>
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo orbem mentes carentem haec animus coegit longo totidemque piscibus inmensa ille quam phoebe sinistra secant innabilis vix terram timebat terris ignea circumdare.
</p>
</div>
Komponen divider adalah garis yang digunkan untuk memisahkan 2 bagian.
Mengubah tampilan:
[be-divider-caption] nilainya digunakan untuk menampilkan kata pemisah yang berada ditengah garis.
Fungsi tertentu:
divider--vertical memberikan tata letak tegak, pastikan kontainer induk mengatur tampilan elemen anak secara baris (display: flex;), atau cukup menambahkan kelas bantuan group.
<button be-tooltip="Suis praecipites, imagine quae erat: sanctius iuga ventos locum quin aurea fulgura sic.">Dekati aku!</button>
<button class="tooltip--right tooltip--no-pointer tooltip--focus" be-tooltip="Say something!">Set me :focus</button>
Mengubah tampilan:
[be-tooltip] attribut untuk menampung teks yang akan ditampilkan oleh tooltip elemen.
tooltip--active membuat tooltip selalu terlihat.
Mengubah posisi tampil:
tooltip--right
tooltip--bottom
tooltip--left
Fungsi tertentu:
tooltip--no-pointer jika tidak ingin menampilkan sudut penunjuk.
tooltip--focus agar dapat menampilkan tooltip saat medapat :focus.
<div class="position-relative">
<input type="text" value="I am an input text, please hover over me! " size="22"/>
<div class="popper popper--hover">
<div class="popper__content">
Hi im the popper element!, and support html element. <br/>
<button>I'm button</button>
</div>
</div>
</div>
Komponen popper didesain dapat dipadu-padankan dengan elemen apapun yang dapat menerima interaksi pengguna. Selain bisa menampilkan teks juga bisa menampung elemen html atau komponen lainnya. Agar bisa berfungsi dengan seharusnya, komponen ini memiliki ketergantungan terhadap 2 elemen, elemen induk penampung dengan properti position: relative; (juga bisa ditambah nilai css display: inline*;), dan elemen pengaktif popper yang dapat menerima interaksi pengguna, biasanya berupa button.
Ada kalanya jika kelompok komponen popper (beserta induk penampung) akan dikelompokkan kembali menjadi sub elemen yang induk elemen penampung memiliki nilai properti display: *flex;, agar tetap berfungsi dengan seharusnya, maka induk langsung komponen popper diberi nilai properti display: inline-flex;, atau gunakan kelas yang telah tersedia popper-container.
<div style="display: flex;">
<button class="btn">Groupped with popper</button>
<div class="popper-container">
<button class="btn btn--normal">
Click me!
</button>
<div class="popper popper--focus popper--tr popper--list">
<div class="popper__content">
<button class="popper__item">Button</button>
<button class="popper__item btn btn--low">Button</button>
<a class="popper__item btn" href="#asd">
Link
</a>
<div class="popper__line"></div>
<div class="popper__item">
Plain text
</div>
</div>
</div>
</div>
</div>
navbar navbar--*compact, tetapi tidak dengan komponen navbar navbar--vertical karena terkendala terbatasnya kemampuan overflow:scroll dan sub elemen yang tidak bisa melayang diluar batas ukuran induk elemen.
Jika ingin menulis fungsi javascript, untuk mendapatkan efek tetap muncul walau sudah tidak mendapatkan fokus, tulis script untuk menambahkan attribute [data-popper-active] pada komponen popper, untuk kembali menutup, hilangkan attribute [data-popper-active].
Kelas aktivasi penampil popper:
popper--hover agar bisa diaktivasikan melalui interaksi :hover, saat mouse berada diatas elemen.
popper--focus aktif saat interaksi :focus, mouse klik atau elemen terkait mendapat fokus.
[data-popper-active] attribute ini membuat komponen popper terlihat walau tanpa ada interaksi dari pengguna, biasanya ini digunakan bersamaan dengan fungsi .
Mengubah posisi tampil:
popper--tl posisi tampil dari atas kiri.
popper--tr posisi tampil dari atas kanan.
popper--bl posisi tampil dari bawah kiri.
popper--bm posisi tampil dari bawah tengah.
popper--br posisi tampil dari bawah kanan.
popper--lt posisi tampil dari kiri atas.
popper--lm posisi tampil dari kiri tengah.
popper--lb posisi tampil dari kiri bawah.
popper--rt posisi tampil dari kanan atas.
popper--rm posisi tampil dari kanan tengah.
popper--rb posisi tampil dari kanan bawah.
Fungsi tertentu:
popper--pointer memberikan tampilan sudut penunjuk ke elemen pengaktif.
popper--list memberikan tampilan kolom (tegak) pada komponen popper. Saat penggunaan kelas ini, diharuskan untuk tidak langsung menaruh sub elemen kedalam popper, tetapi harus dibuat sub elemen kontainer dengan kelas popper__content untuk menaruh sub elemen yang akan ditampilkan.
popper-container diberikan ke induk penampung komponen popper, jika ditaruh kedalam elemen dengan nilai properti display: *flex;, ini memastikan komponen berfungsi seperti seharusnya.
popper__item diberikan ke elemen anak komponen popper, untuk menseragamkan tampilan jika komponen popper ditambah kelas popper--list.
popper__line digunakan pada elemen anak jika ada kelas popper--list, ini akan menampilkan garis lurus pemisah antar elemen.
Mengubah tampilan:
--popper-space nilai bakunya adalah 1, ganti nilai untuk mengubah spasi antara elemen pengaktif dan komponen popper.
<section class="steps">
<section class="step">
<div class="step__header">
<div class="step__trail">
<div class="step__indicator" be-tooltip="Jobs done!"></div>
</div>
</div>
<div class="step__body">
Step 1
<div>
Hover the step indicator!
</div>
</div>
</section>
<section class="step step--active">
<div class="step__header">
<div class="step__trail">
<div class="step__indicator"></div>
</div>
</div>
<div class="step__body">
Step 2
<div>
Description step 2.
</div>
</div>
</section>
<section class="step">
<div class="step__header">
<div class="step__trail">
<div class="step__indicator"></div>
</div>
</div>
<div class="step__body">
Step 3
<div>
Description step 3.
</div>
</div>
</section>
</section>
<section class="steps steps--vertical steps--done">
<section class="step">
<div class="step__header">
<div class="step__trail">
<div class="step__indicator"></div>
</div>
</div>
<div class="step__body">
Step 1
<div>
Description step 1.
</div>
</div>
</section>
<section class="step">
<div class="step__header">
<div class="step__trail">
<div class="step__indicator">
<div class="popper-container">
<span class="visual-indicator" be-icon="left-check"></span>
<div class="popper popper--hover popper--rm">
<div class="popper__content">
Hi there!
</div>
</div>
</div>
</div>
</div>
</div>
<div class="step__body">
Step 2
<div>
Hover on indicator please!
</div>
</div>
</section>
<section class="step">
<div class="step__header">
<div class="step__trail">
<div class="step__indicator"></div>
</div>
</div>
<div class="step__body">
Step 3
<div>
Description step 3.
</div>
</div>
</section>
</section>
Fungsi tertentu:
step--active tambahkan setelah kelas step untuk memberikan tampilan bahwa langkah ini masih dalam tahap penyelesaian.
steps--done memberikan tampilan bahwa semua langkah-langkah telah selesai dilakukan.
steps--vertical mengubah tataletak menjadi tegak.
<nav class="navbar">
<div class="navbar__brand">
<a href="#asd">Brand</a>
</div>
<ul class="nav">
<li class="nav__item">
<a href="#asd">menu item 1</a>
</li>
<li class="nav__item">
<a href="#asd">menu item 2</a>
<ul class="nav">
<li class="nav__item">
<a href="#asd">menu item 2-1</a>
</li>
<li class="nav__item">
<a href="#asd">menu item 2-2</a>
<ul class="nav">
<li class="nav__item">
<a href="#asd">menu item 2-2-1</a>
</li>
<li class="nav__item">
<a href="#asd">menu item 2-2-2</a>
<ul class="nav">
<li class="nav__item">
<a href="#asd">menu item 2-2-2-1</a>
</li>
</ul>
</li>
<li class="nav__item">
<a href="#asd">menu item 2-2-3</a>
</li>
</ul>
</li>
<li class="nav__item-line"></li>
<li class="nav__item">
<a href="#asd">menu item 2-4</a>
</li>
</ul>
</li>
<li class="nav__item">
<a href="#asd">menu item 3</a>
</li>
</ul>
</nav>
Tambahkan kelas navbar--vertical setelah kelas navbar untuk tata letak tegak.
Jika ingin menggunakan icon tertentu sebagai indikator, tambahkan kelas navbar--no-indicator, buat penampung elemen dengan kelas visual-indicator, kemudian letakan kedalam nav__item, atau nav__item > *.
<nav class="navbar navbar--vertical navbar--no-indicator">
<div class="navbar__brand">
<a href="#asd">Brand</a>
</div>
<ul class="nav">
<li class="nav__item">
<a href="#asd">menu item 1</a>
</li>
<li class="nav__item">
<a href="#asd">menu item 2</a>
<span class="visual-indicator" be-icon="chevron"></span>
<ul class="nav">
<li class="nav__item">
<a href="#asd">menu item 2-1</a>
</li>
</ul>
</li>
<li class="nav__item">
<a href="#asd">
menu item 3
<span class="visual-indicator" be-icon="chevron"></span>
</a>
<ul class="nav">
<li class="nav__item">
<a href="#asd">menu item 3-1</a>
</li>
</ul>
</li>
</ul>
</nav>
Dalam kondisi tertentu kamu tidak ingin menampilkan semua menu, tambahkan kelas navbar--compact, tetapi jika ingin tampilan ringkas ini hanya berlaku pada halaman dengan lebar tertentu, ganti kelas navbar--compact dengan navbar--vsm-compact untuk memberikan tampilan ringkas selama lebar halaman kurang dari 768px, contoh:
<nav class="navbar navbar--vsm-compact">
<div class="navbar__brand">
<a href="#asd">Brand</a>
</div>
<label for="navbar-toggle" class="navbar__toggle">
<input type="checkbox" id="navbar-toggle" class="invisible" data-toggle-navbar-handler name="toggle-checkbox-2">
<span class="visual-indicator active-invisible" be-icon="burger-menu">
</span>
<span class="visual-indicator active-visible" be-icon="x">
</span>
</label>
<ul class="nav">
<li class="nav__item">
<a href="#asd">menu item 1</a>
</li>
<li class="nav__item">
<a href="#asd">menu item 2</a>
<ul class="nav">
<li class="nav__item">
<a href="#asd">menu item 2-1</a>
</li>
</ul>
</li>
<li class="nav__item">
<a href="#asd">menu item 3</a>
</li>
</ul>
</nav>
navbar--*compact dan kelas navbar--vertical.
Mengubah tampilan:
navbar--compact meringkaskan tampilan.
navbar--vsm-compact meringkaskan tampilan untuk ukuran halaman hingga 768px.
navbar--vmd-compact meringkaskan tampilan untuk ukuran halaman hingga 1280px.
navbar--compact-expand jika ingin menampilkan navbar--*compact dalam posisi terbuka.
Fungsi tertentu:
navbar__toggle digunakan sebagai kelas penampung kontrol kendali buka-tutup navbar.
nav__item-line digunakan jika ingin menampilkan garis pemisah antar menu.
navbar--vertical mengubah tataletak menjadi tegak.
navbar--no-indicator menghilangkan indikator penanda ada submenu.
navbar--no-hover membuat submenu yang memiliki kelas navbar--*compact tidak akan terbuka walau mouse melayang diatasnya.
active-invisible membuat saat keadaan komponen tidak terbuka, membuat sub elemen terlihat, dan saat terbuka menjadi tidak terlihat.
active-visible membuat saat keadaan komponen tidak terbuka, membuat sub elemen tidak terlihat, dan saat terbuka menjadi terlihat.
<nav class="navbar navbar--breadcrumb">
<div class="navbar__brand">
<a href="#asd">Brand</a>
</div>
<ul class="nav">
<li class="nav__item">
<a href="#asd">menu item 1</a>
</li>
<li class="nav__item">
<a href="#asd">menu item 2</a>
<ul class="nav">
<li class="nav__item">
<a href="#asd">menu item 2-1</a>
</li>
<li class="nav__item-line"></li>
<li class="nav__item">
<a href="#asd">menu item 2-3</a>
</li>
</ul>
</li>
<li class="nav__item">
<a href="#asd">menu item 3</a>
</li>
</ul>
</nav>
Untuk ditampilkan sebagai komponen breadcrumb tambahkan kelas navbar--breadcrumb.
navbar, karena bisa saja menimbulkan kesalahan pada tampilan dan fungsi.
Mengubah tampilan:
[be-breadcrumb-divider] tambahkan attribute ini pada elemen kelas navbar--breadcrumb beri nilai dengan karakter tertentu, untuk mengganti karakter pemisah bawaan ( / ).
<button id="toggle-native-dialog">Tampil dialog</button>
<button id="modal-native-dialog">Modal dialog</button>
<dialog id="native-dialog" class="dialog">
<header class="dialog__header">
<h4>Dialog title</h4>
<button class="btn btn--icon" onclick="this.closest('dialog').close('close')" >
<i be-icon="x"></i>
<span class="invisible">Close</span>
</button>
</header>
<section class="dialog__aside">
<i class="visual-aside font-size-1.50" be-icon="rectangle"></i>
</section>
<section class="dialog__content">
Quia igneaQuia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo
</section>
<footer class="dialog__footer">
<form method="dialog">
<button value="cancel">Cancel</button>
<button type="submit" value="confirm">Confirm</button>
</form>
</footer>
</dialog>
<script>
(function() {
const btnToggleDialog = document.getElementById('toggle-native-dialog');
const btnModalDialog = document.getElementById('modal-native-dialog');
const nativeDialog = document.getElementById('native-dialog');
btnToggleDialog.addEventListener('click', function() {
nativeDialog.show();
});
// Update button opens a modal dialog
btnModalDialog.addEventListener('click', function() {
nativeDialog.showModal();
});
})();
</script>
Hanya komponen dialog yang ditampilkan secara modal memiliki backdrop elemen, jika ingin menghindari penggunaan javascript, tambahkan attribute [popover]
<button popovertarget="dialog-popover">Toggle dialog</button>
<dialog id="dialog-popover" class="dialog" role="dialog" popover="">
<header class="dialog__header">
<h4>Dialog title</h4>
<button class="btn btn--icon" popovertarget="dialog-popover" popovertargetaction="hide">
<span class="invisible">Close</span>
<i be-icon="x"></i>
</button>
</header>
<section class="dialog__aside">
<i class="visual-aside font-size-1.50" be-icon="circle"></i>
</section>
<section class="dialog__content">
Quia igneaQuia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
</section>
<footer class="dialog__footer group gap-.50">
<button value="cancel" popovertarget="dialog-popover" popovertargetaction="hide">Cancel</button>
<form method="dialog">
<button type="submit" value="confirm">Confirm</button>
</form>
</footer>
</dialog>
Mengubah tampilan:
dialog--md membuat dialog berukuran sedang.
dialog--lg membuat dialog berukuran besar.
group-vertical, border-bottom-width-1, border-color-info-70.
<section class="notice notice--info">
<div class="notice__aside">
<i be-icon="i"></i>
</div>
<div class="notice__content">
A simple, theme-based notice component.
</div>
</section>
<section class="notice notice--caution" style="--notice--borders-width: 2px;">
<div class="notice__aside">
<span class="stack">
<i class="stack-2x txt-caution-70" be-icon="triangle"></i>
<i class="stack-1x txt-caution-10" be-icon="!"></i>
</span>
</div>
<div class="notice__content">
A notice component with a bolder, more prominent icon style.
</div>
</section>
<section class="notice" style="--notice--borders-width: 1px 1px 1px 10px;">
<div class="notice__header">Sebuah judul</div>
<div class="notice__content flex-auto">
Another notice.
</div>
</section>
Gunakan komponen notice untuk menampilkan pesan yang elemennya bersifat statis (menetap) diantara elemen.
notice dapat diberi elemen tombol aksi-interaksi seperti tombol ( ) untuk menutup/dihilangkan dari monitor, sebaiknya dihindari.
Mengubah tema warna:
notice--accent
notice--low
notice--normal
notice--important
notice--critical
notice--success
notice--info
notice--caution
notice--warning
notice--error
notice--danger
<section id="notice-notify-1" class="notice notice--notify notice--info">
<div class="notice__aside">
<i class="visual-aside" be-icon="left-check"></i>
</div>
<div class="notice__content">
Suis praecipites, imagine quae erat: sanctius iuga ventos locum quin aurea fulgura sic. Suis praecipites, imagine quae erat: sanctius iuga ventos locum quin aurea fulgura sic.
</div>
<div class="notice__footer">
<button class="btn btn--icon" onclick="this.closest('.notice--notify').removeAttribute('data-notify-open')">
<i be-icon="x"></i>
<span class="invisible">Close</span>
</button>
</div>
</section>
<section id="notice-notify-2" class="notice notice--notify notice--success" style="margin-bottom: 5rem">
<div class="notice__aside">
<i class="visual-aside" be-icon="left-check"></i>
</div>
<div class="notice__content">
Suis praecipites, imagine quae erat: sanctius iuga ventos.
</div>
<div class="notice__footer">
<button class="btn btn--ghost" onclick="this.closest('.notice--notify').removeAttribute('data-notify-open')">
Upload
</button>
</div>
</section>
Tambahkan kelas notice--notify untuk menampilkan satu pesan khusus, yang posisinya melayang di atas halaman, agar bisa ditampilkan harus menulis code <javascript> yang fungsinya menambahkan attribute [data-notify-open] agar dapat terlihat di monitor.
container-xs untuk elemen penampung lebar maksimal 640px.
container-sm untuk elemen penampung lebar maksimal 768px.
container-md untuk elemen penampung lebar maksimal 1280px.
container-lg untuk elemen penampung lebar maksimal 1600px.
container tanpa batasan lebar, hanya memberi spasi kiri-kanan.
<div class="container-xs bg-info-5">
<code>container-xs</code> a container with a 640px width limit.
</div>
<div class="container-sm bg-important-5">
<code>container-sm</code> a container with a 768px width limit.
</div>
<div class="container-md bg-normal-5">
<code>container-md</code> a container with a 1280px width limit.
</div>
<div class="container-lg bg-success-5">
<code>container-lg</code> a container with a 1600px width limit.
</div>
<div class="container bg-low-5">
<code>container</code> if you want a full width layout,it just adds padding to the left and right.
</div>
container merupakan komponen elemen penampung, yang memiliki batasan lebar.
<div class="row">
<div class="col-1 bg-low-10">
1
</div>
<div class="col-1 bg-low-10">
2
</div>
<div class="col-1 bg-low-10">
3
</div>
<div class="col-1 bg-low-10">
4
</div>
<div class="col-1 bg-low-10">
5
</div>
<div class="col-1 bg-low-10">
6
</div>
<div class="col-1 bg-low-10">
7
</div>
<div class="col-1 bg-low-10">
8
</div>
<div class="col-1 bg-low-10">
9
</div>
<div class="col-1 bg-low-10">
10
</div>
<div class="col-1 bg-low-10">
11
</div>
<div class="col-1 bg-low-10">
12
</div>
<div class="col-1 bg-low-10">
13
</div>
</div>
Sistem kolom Bakung CSS terdiri dari 12 kolom untuk 1 baris, cara penggunaannya, col-{lebarDigunakan}, contoh, col-1, col-2 .. col-12, jika ingin penggunaan berdasar lebar kontainer penampung col-{lebarKontainer}-{lebarDigunakan} dimana {lebarKontainer} ialah xs, sm, md, lg, dan xl, contoh col-xs-4, col-md-12, dll.
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-6 col-md-3 col-3 bg-important-5">
col-xs-12 col-sm-6 col-md-3 col-3
</div>
<div class="col-xs-12 col-md-9 col-3 bg-critical-5">
col-xs-12 col-md-9 col-3
</div>
<div class="col-sm-8 col-md-7 col-3 bg-success-5">
col-sm-8 col-md-7 col-3
</div>
<div class="col-sm-4 col-md-5 col-3 bg-important-5">
col-sm-4 col-md-5 col-3
</div>
</div>
</div>
Pada contoh diatas, col-xs-12 col-sm-6 col-md-3 col-3, jika lebar row tidak lebih dari 640px, maka elemen akan menggunakan seluruh lebar induk (col-xs-12), tetapi jika lebar lebih dari 640px dan tidak lebih dari 768px, maka elemen hanya akan menggunakan setengah lebar (col-sm-6) induk penampung, begitu juga penerapan aturan berikutnya.
<div class="group">
<span class="group__label">I'm label</span>
<input class="group__input" type="text" placeholder="I'm input">
<button class="btn btn--normal group__action">Iam Button</button>
</div>
<fieldset class="group">
<span class="group__label">I'm label</span>
<input class="group__input" type="text" placeholder="I'm input">
<button class="btn btn--normal group__action">Iam Button</button>
</fieldset>
Memanfaatkan layout flex untuk mengelompokkan sejumlah elemen menjadi satu, beri kelas group pada elemen penampung seperti <div> atau <section>.
<div> atau <section>, tetapi jika ada kontrol input, disarankan menggunakan elemen <fieldset>.
Untuk ditampilkan secara tegak, tambah kelas group-vertical. Tambah kelas group--border untuk membuat garis batas pemisah antar elemen.
<div class="group-vertical group--border">
<span class="group__label">Choose</span>
<label class="group__label">
<input type="radio" name="samp1" checked> Option 1
</label>
<label class="group__label">
<input type="radio" name="samp1"> Option 2
</label>
</div>
<fieldset class="group-vertical group--border">
<span class="group__label">Choose</span>
<label class="group__label">
<input type="radio" name="samp2" checked> Option 1
</label>
<label class="group__label">
<input type="radio" name="samp2"> Option 2
</label>
</fieldset>
Agar sub elemen memiliki ukuran yang sama tambahkan kelas flex-sizes-even.
<div class="group group--border flex-sizes-even">
<span class="group__label">I'm span</span>
<label class="group__label" type="text" placeholder="Input">I'm label</label>
<div class="group__label">I'm div</div>
</div>
Untuk membuat ukuran group sesuai lebar anak elemen, tapi tetap memiliki fungsi flex, tambahkan kelas d-inline-flex.
<div class="group-vertical group--border d-inline-flex shadow">
<button class="btn btn--normal group__action">I am a button</button>
<button class="btn btn--important group__action">I am too</button>
<button class="btn btn--critical group__action">I am three</button>
</div>
Beri kelas gap-{value} class untuk pemisah antar sub elemen. Pada elemen group anak, kamu bisa memberi kelas borders-radius-{value}, jangan lupa tambahkan kelas group--border-radius agar elemen anak mengikut bentuk elemen induk.
<fieldset class="group flex-wrap gap-.50">
<div class="group group--border-radius group--border borders-radius-.50">
<button class="btn btn--low group__action">Button</button>
<span class="bg-low-30 paddings-.25">Am i ?</span>
</div>
<div class="group shadow borders-radius-.50 group--border-radius group--border">
<button class="btn btn--normal group__action">Groupped with popper</button>
<div class="popper-container">
<button class="btn btn--normal group__action">
<span class="visual-aside" be-icon="burger-menu"></span>
</button>
<div class="popper popper--focus popper--tr popper--list">
<div class="popper__content">
<button class="popper__item">Button</button>
<button class="popper__item btn btn--low">Button</button>
<a class="popper__item btn" href="#asd">
Link
</a>
<div class="popper__line"></div>
<div class="popper__item">
Plain text
</div>
</div>
</div>
</div>
</div>
<div class="group group--border">
<span class="group__label">I'm span</span>
<label class="group__label" type="text" placeholder="Input">I'm label</label>
<div class="group__label">I'm div</div>
</div>
<div class="group shadow borders-radius-.50 group--border-radius group--border flex-wrap">
<button class="group__action">I'm button</button>
<button class="group__action">I'm button</button>
<button class="group__action">I'm button</button>
</div>
</fieldset>
group__action pada elemen pengaktif, bukan pada elemen yang memiliki kelas popper-container.
Mengubah tampilan:
group mengelompokkan sub elemen secara mendatar.
group-vertical mengelompokkan sub elemen secara tegak.
group--border untuk membuat garis batas pemisah antar elemen.
group--border-radius membuat sub elemen pertama dan terakhir mengikut ukuran border-radius elemen penampung.
Fungsi tertentu:
group__label kelas ini diberikan ke sub elemen untuk menyeragamkan tampilannya, jika elemennya digunakan sebagai label.
group__input kelas ini diberikan ke sub elemen untuk menyeragamkan tampilannya, jika elemennya digunakan sebagai input.
group__action kelas ini diberikan ke sub elemen untuk menyeragamkan tampilannya, jika elemennya digunakan sebagai tombol aksi.
<fieldset class="form__group">
<label for="controlEmailAddress1" class="form__label">Email address</label>
<span class="form__description">
Use at least 8 characters, including at least one uppercase letter and one special character (~!@#$%^&*()_+=:|/?).
</span>
<input class="form__control" type="email" id="controlEmailAddress1">
</fieldset>
<fieldset class="form__group">
<label for="controlTextArea1" class="form__label">Text Area</label>
<div class="form__control">
<textarea id="controlTextArea1" rows="3"></textarea>
</div>
</fieldset>
<fieldset class="form__group">
<label for="group-2-1" class="form__label">Group Inputs</label>
<div class="form__control group">
<input id="group-2-1" class="group__input" type="text">
<input id="group-2-2" class="group__input" type="text">
<button class="btn btn--low group__action">Choose</button>
</div>
</fieldset>
<fieldset class="form__group">
<label for="example-input-file" class="form__label">Upload</label>
<div class="form__control group">
<input type="file" id="example-input-file" class="group__input">
</div>
</fieldset>
<fieldset class="form__group">
<label for="checkbox1" class="form__label">Group Inputs</label>
<div class="form__control group align-items-center">
<!-- no class -->
<input type="checkbox" id="checkbox1" class="">
<input type="range" id="example-input-range" min="1" max="4" value="3" class="group__input">
<select id="example-optgroup" class="group__input">
<optgroup label="Swedish Cars">
<option>Volvo</option>
<option>Saab</option>
</optgroup>
<optgroup label="German Cars">
<option>Mercedes</option>
<option>Audi</option>
</optgroup>
</select>
</div>
</fieldset>
form__control.
Fungsi tertentu:
form__group kelas ini diberikan induk elemen yang menampung sub elemen yang berada didalam form, ini digunakan untuk memberikan tampilan batasan jelas antar kelompok input.
form__label kelas ini diberikan ke elemen yang digunakan untuk penjelas nama jenis masukan yang digunakan pada kontrol, biasanya elemen label.
form__control kelas ini diberikan ke elemen kontrol yang menerima masukan dari pengguna.
form__description ini seperti form__label, tetapi digunakan khusus untuk memberikan penjelasan lebih detail terkait data yang harus dimasukkan.
<fieldset class="form__group row">
<div class="col">
<div class="form__control">
<input type="text" placeholder="First name" aria-label="First name">
</div>
</div>
<div class="col">
<div class="form__control">
<input type="text" placeholder="Last name" aria-label="Last name">
</div>
</div>
</fieldset>
<fieldset class="form__group row">
<div class="col-2 col-md-3">
<label for="name" class="form__label">Name</label>
</div>
<div class="col-10 col-md-9">
<div class="form__control">
<input id="name" type="text" placeholder="Name">
</div>
</div>
</fieldset>
<fieldset class="form__group row">
<label for="controlEmailAddress2" class="form__label col-2 col-sm-12">Email</label>
<div class="col-10 col-sm-12">
<div class="form__control">
<input type="email" id="controlEmailAddress2" placeholder="Email">
</div>
</div>
</fieldset>
<fieldset class="form__group row">
<label for="controlPassword2" class="form__label col-2 col-sm-12">Password</label>
<div class="col-10 col-sm-12">
<span class="form__description">
Use at least 8 characters, including at least one uppercase letter and one special character (~!@#$%^&*()_+=:|/?).
</span>
<div class="form__control">
<input type="password" id="controlPassword2" placeholder="Password">
</div>
</div>
</fieldset>
Untuk membentuk tataletak tertentu, gabungkan kelas row dan col* setelah kelas form__label dan form__control, atau dimasukan dahulu ke elemen penampung.
<label>, <input>, <button> menjadi satu, disarankan ditaruh kedalam elemen <fieldset>.
<form novalidate data-was-validated>
<fieldset class="form__group row">
<label for="usertype" class="form__label col-3 col-sm-12 txt-align-end txt-sm-align-start">User type</label>
<div class="col-7 col-sm-12">
<div class="form__control group">
<label class="group__label">
<input type="radio" name="usertype" checked> Customer
</label>
<label class="group__label">
<input type="radio" name="usertype"> Seller
</label>
</div>
</div>
</fieldset>
<fieldset class="form__group row">
<label for="username" class="form__label col-3 col-sm-12 txt-align-end txt-sm-align-start">User name</label>
<div class="col-7 col-sm-12">
<span class="form__description">
Use lower case without space.
</span>
<div class="form__control group">
<span class="group__label">@</span>
<input class="group__input" id="username" value="handsomeman" placeholder="Username">
</div>
<div class="invalid-feedback">
"handsomeman" username existed.
</div>
</div>
</fieldset>
<fieldset class="form__group row">
<label for="controlEmailAddress3" class="form__label col-3 col-sm-12 txt-align-end txt-sm-align-start">Email</label>
<div class="col-7 col-sm-12">
<div class="form__control">
<input id="controlEmailAddress3" class="group__input" type="email" placeholder="Email" value="handsomeman@">
</div>
<div class="invalid-feedback">
Invalid email format.
</div>
</div>
</fieldset>
<fieldset class="form__group row">
<label for="group-2-1" class="form__label col-3 col-sm-12 txt-align-end txt-sm-align-start">Group input</label>
<div class="col-7 col-sm-12">
<div class="form__control group data-is-valid">
<input id="group-2-1" class="group__input" type="text" placeholder="I'm input">
<input id="group-2-2" class="group__input" type="text" placeholder="I'm input">
<button class="btn btn--low group__action">Choose</button>
</div>
<div class="feedback">
Yea i know its empty, but this is a sample for valid input.
</div>
</div>
</fieldset>
<fieldset class="form__group row">
<div class="form__control borders-width-unset offset-3 offset-sm-0 col-9 col-sm-12 shadow-none">
<button class="btn btn--ghost">Cancel</button>
<button class="btn btn--accent">Submit</button>
</div>
</fieldset>
</form>
Pastikan ada attribut [novalidate] di elemen <form> untuk mencegah validasi bawaan peramban. Untuk menampilkan hasil validasi masukan, gunakan elemen baru, beri kelas valid-feedback atau invalid-feedback, efek validasi ini hanya terlihat jika elemen form memiliki atribute [data-was-validated], biasanya didapat setelah melalui proses valdasi data ke server atau hasil pemrosesan data menggunakan javascript.
Jika ingin menampilkan hasil validasi data per form__group, tambahkan attribut [data-is-valid] atau [data-is-invalid] pada form__control.
<form novalidate>
<fieldset class="form__group row">
<label for="username-1" class="form__label col-3 col-sm-12 txt-align-end txt-sm-align-start">User name</label>
<div class="col-9 col-sm-12">
<div class="form__control group data-is-invalid">
<span class="group__label">@</span>
<input id="username-1" class="group__input" value="handsomeman" placeholder="Username for your account">
</div>
<div class="valid-feedback">
Looks good.
</div>
<div class="feedback">
You're not handsome, dont use"handsomeman".
</div>
</div>
</fieldset>
</form>
feedback tidak terikat elemen dengan kelas invalid-feedback atau valid-feedback yang diperuntukan menampilkan pesan dengan satu kondisi khusus. Kamu juga bisa menggabung elemen-elemen ini jika ingin menampilkan gabungan kondisi berhasil dan gagal.
[data-is-valid] atau [data-is-invalid] bisa kamu tulis ulang menjadi attribut kelas, seperti contoh di halaman ini.
form__control--validation-icon, tetapi jika ingin hasil validasi hanya merubah warna border, tambahkan kelas form__control--validation-border.
View code
<form novalidate>
<fieldset class="form__group row">
<label for="username-2" class="form__label col-3 col-sm-12 txt-align-end txt-sm-align-start">User name</label>
<div class="col-9 col-sm-12">
<div class="form__control group data-is-invalid form__control--validation-icon">
<span class="group__label">@</span>
<input id="username-2" class="group__input" value="handsomeman" placeholder="Username for your account">
</div>
<div class="invalid-feedback">
You're not handsome, dont use"handsomeman".
</div>
</div>
</fieldset>
<fieldset class="form__group row">
<label for="username-3" class="form__label col-3 col-sm-12 txt-align-end txt-sm-align-start">User name</label>
<div class="col-9 col-sm-12">
<div class="form__control group data-is-invalid form__control--validation-border">
<span class="group__label">@</span>
<input id="username-3" class="group__input" value="handsomeman" placeholder="Username for your account">
</div>
<div class="invalid-feedback">
You're not handsome, dont use"handsomeman".
</div>
</div>
</fieldset>
</form>
Jika ingin langsung menampilkan hasil validasi masukan pengguna berdasar aturan yang telah ditetapkan di elemen terkait, pastikan tidak ada attribute [novalidate] pada elemen <form>.
<form>
<fieldset class="form__group row">
<label for="email-2" class="form__label col-3 col-sm-12 txt-align-end txt-sm-align-start">Email (required)</label>
<div class="col-9 col-sm-12">
<input id="email-2" class="form__control" type="email" placeholder="Fill your email here" required>
<div class="feedback">
feedback: You see this in any feedback condition.
<!-- You shall not see any colored text or border -->
</div>
<div class="valid-feedback">
valid-feedback: Yes.
</div>
<div class="invalid-feedback">
invalid-feedback: Yes.
</div>
</div>
</fieldset>
<fieldset class="form__group row">
<label for="email-3" class="form__label col-3 col-sm-12 txt-align-end txt-sm-align-start">Email (not required)</label>
<div class="col-9 col-sm-12">
<div class="form__control group">
<label class="group__label">@</label>
<input id="email-3" class="group__input" type="email" placeholder="Fill your email here">
</div>
<div class="feedback">
feedback: You see this in any feedback condition.
<!-- You shall not see any colored text or border -->
</div>
<div class="valid-feedback">
valid-feedback: Yes.
</div>
<div class="invalid-feedback">
invalid-feedback: Yes.
</div>
</div>
</fieldset>
<fieldset class="form__group row">
<label for="email-4" class="form__label col-3 col-sm-12 txt-align-end txt-sm-align-start">Email (required)</label>
<div class="col-9 col-sm-12">
<div class="form__description">You wont see any feedback, because attribute [novalidate]</div>
<div class="form__control" novalidate>
<input id="email-4" type="email" placeholder="Fill your email here" required>
</div>
<div class="feedback">
feedback: You see this in any feedback condition.
<!-- You shall not see any colored text or border -->
</div>
<div class="valid-feedback">
valid-feedback: Yes.
</div>
<div class="invalid-feedback">
invalid-feedback: Yes.
</div>
</div>
</fieldset>
</form>
Fungsi tertentu:
[novalidate] attribute untuk <form> fungsi bawaan peramban, ini mencegah validasi yang dilakukan oleh peramban, juga bisa ditambahkan pada elemen berkelas form__control untuk tidak menampilkan informasi valid atau tidaknya masukan.
valid-feedback kelas penampung untuk elemen yang menampilkan informasi validasi masukan pengguna sukses tanpa ada kesalahan.
invalid-feedback kelas penampung untuk elemen yang menampilkan informasi validasi masukan pengguna gagal karena ada kesalahan.
[data-was-validated] attribute untuk <form>, didapat setelah melalui proses valdasi data ke server atau didapat setelah pemrosesan data menggunakan javascript, attribut ini digunakan untuk menampilkan elemen validasi valid-feedback dan invalid-feedback.
[data-is-valid] atau kelas data-is-valid pada elemen berkelas form__control, menandakan validasi masukan pengguna sukses tanpa ada kesalahan.
[data-is-invalid] atau kelas data-is-invalid pada elemen berkelas form__control, menandakan validasi masukan pengguna gagal karena ada kesalahan.
feedback kelas ini diberikan ke elemen yang menampilkan hasil validasi per-form__control oleh attribute [data-is-valid] atau [data-is-invalid].
form__control--validation-icon kelas ini hanya menampilkan ikon hasil validasi.
form__control--validation-border kelas ini hanya merubah warna border untuk hasil validasinya.
<div class="panel">
<div class="panel__header">
Header
</div>
<div class="panel__body">
Body
</div>
</div>
Komponen penampung.
<div class="floater floater-bottom-right">
<div class="panel">
<div class="panel__header">
<!-- You can put tittle and clear and close button here -->
</div>
<div class="panel__body">
<!-- Put notice* in here -->
</div>
</div>
</div>
Komponen floater berfungsi untuk membuat elemen melayang, khususnya elemen penampung seperti <div> dan <section>, salah satu penggunaanya seperti pada komponen notice* jika ada lebih dari satu elemen tampil melayang dilayar pada satu posisi maka diperlukan elemen penampung.
Tidak seperti contoh sebelumnya membuat elemen langsung melayang, dalam kedaan tertentu ingin membuat elemen statik yang menetap diantara elemen kemudian melayang ditengah layar, untuk ini tambahkan attribute popover
Visible when floating (:popover-open())
<div style="border: 1px solid grey; width: 280px; height: 280px; anchor-name: var(--anchor-name, --anchor-name);">
<section id="floater-2" class="floater floater--fluid" popover="">
<img class="img--fluid" src="./assets/vasilis-karkalas-i8cDJOiIvTo-unsplash.webp" />
<span class="active-visible">Visible when floating (:popover-open())</span>
<button class="btn btn--icon tooltip--right tooltip--active margin-top-.50 margin-right-.50 position-absolute inset-top-left" popovertarget="floater-2" popovertargetaction="toggle" be-tooltip="Click me!">
<span class="invisible">Toggle floater</span>
<i be-icon="rectangle"></i>
</button>
</section>
</div>
popover, keadaan melayang atau tidak, dan terlihat atau tidak, pastikan bukan elemen atau komponen yang fungsinya hanya sekali tampil kemudian dihapus dari DOM.
Mengubah tampilan:
floater--md mengubah ukuran saat melayang menjadi sedang.
floater--lg mengubah ukuran saat melayang menjadi besar.
floater--fluid mengubah ukuran saat melayang mengikut ukuran besaran konten dan maksimal kurang dari besar halaman.
Mengubah posisi tampil:
floater-top
floater-top-left
floater-top-right
floater-bottom
floater-bottom-left
floater-bottom-right
Fungsi tertentu:
active-invisible membuat saat keadaan komponen floater tidak melayang, membuat sub elemen terlihat, dan saat melayang menjadi tidak terlihat.
active-visible membuat saat keadaan komponen floater tidak melayang, membuat sub elemen tidak terlihat, dan saat melayang menjadi terlihat.
Some teks for its subheader
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
<article class="card">
<section class="card__media">
<img src="./assets/imagination.jpg" />
</section>
<header class="card__header">
<h3>
Some teks for title
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h3>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
</article>
Tidak seperti panel yang mengelompokkan sejumlah data berbeda pada satu tampilan, card digunakan untuk menampilkan satu jenis data.
Komponan card memanfaatkan fungsi grid, secara baku terdiri dari 3 baris dan 1 kolom. Jika sub elemen langsung kurang dari 3 baris, manfaatkan kelas bantuan untuk mengisi sisa elemen, seperti grid-row-span-2 untuk membuat elemen card__body mengisi 2 elemen lainnya.
Some teks for sub title
Teks hourglass gibbersih
<article class="card">
<section class="card__body grid-row-span-2">
<h3>
Some teks for title inside card__body
<p class="subheader">
Some teks for sub title
</p>
</h3>
<p>
<!-- some teks -->
Teks hourglass gibbersih
</p>
<footer class="card__footer">
<a href="#asd" >Go To <i class="visual-indicator"></i></a>
</footer>
</section>
</article>
Kelebihan komponan card baru terlihat jika ada lebih dari 1 komponen yang ada dibawah satu induk elemen dengan kelas cards, ini akan membuat semua sub elemen, tata letak dan ukurannya menjadi teratur dan seragam satu sama lainnya.
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
Some teks for its subheader
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
Some teks for its subheader
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
<div class="cards cards--media-sticks-to-border">
<article class="card">
<section class="card__media">
<img src="./assets/alexis-presa-OCvXQfLHHx0-unsplash.webp" />
</section>
<header class="card__header">
<h4>
Some teks for title
<small class="subheader">
<!-- some teks -->
Some teks for its subheader
</small>
</h4>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
</article>
<article class="card">
<section class="card__media">
<img src="./assets/christian-lue-NozWWLzEb0E-unsplash.webp" />
</section>
<header class="card__header">
<h4>
Some teks for title for second card
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h4>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
</article>
<article class="card">
<section class="card__media">
<img src="./assets/jean-carlo-emer-PPk5cX78qys-unsplash.webp" />
</section>
<header class="card__header">
<h4>
Some teks for title
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h4>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
</article>
</div>
untuk menampilkan dengan media melingkup keseluruhan area tambahkan kelas cards--cover.
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
Some teks for its subheader
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
Some teks for its subheader
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
<div class="cards cards--cover">
<article class="card">
<div class="card__content">
<section class="card__media">
<img src="./assets/imagination.jpg" />
</section>
<header class="card__header">
<h4>
Some teks for title
<small class="subheader">
<!-- some teks -->
Some teks for its subheader
</small>
</h4>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
</div>
</article>
<article class="card">
<section class="card__media">
<img src="./assets/yilei-jerry-bao-_FzUZYliQ1M-unsplash.webp" />
</section>
<header class="card__header">
<h4>
Some teks for title for second card
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h4>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
</article>
<article class="card">
<section class="card__media">
<img src="./assets/christian-lue-NozWWLzEb0E-unsplash.webp" />
</section>
<header class="card__header">
<h4>
Some teks for title
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h4>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
</article>
</div>
untuk mendapatkan tata letak horizontal tambahkan kelas cards--horizontal.
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
Some teks for its subheader
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
Some teks for its subheader
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
<div class="cards cards--horizontal cards--media-sticks-to-border">
<article class="card">
<section class="card__media">
<img src="./assets/aByRQg2_700b.jpg" />
</section>
<header class="card__header">
<h4>
Some teks for title
<small class="subheader">
<!-- some teks -->
Some teks for its subheader
</small>
</h4>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
</article>
<article class="card">
<header class="card__header">
<h4>
Some teks for title for middle card
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h4>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
<section class="card__media">
<img src="./assets/alexis-presa-OCvXQfLHHx0-unsplash.webp" />
</section>
</article>
<article class="card">
<section class="card__media">
<img src="./assets/christian-lue-NozWWLzEb0E-unsplash.webp" />
</section>
<header class="card__header">
<h4>
Some teks for title
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h4>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
</article>
</div>
untuk menampilkan secara deret dengan layar gulung tambahkan kelas cards--scrollable.
Tinggi sub element card__media bisa mempengaruhi ketinggian seluruh element, untuk penyesuaian ketinggian, beri nilai tinggi (atau ketinggian maksimal) pada .card grid row value, atau di elemen ini.
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
Some teks for its subheader
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
Some teks for its subheader
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
Some teks for its subheader
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
Some teks for its subheader
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
Some teks for its subheader
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
Some teks for its subheader
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
Some teks for its subheader
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.
<div class="cards cards--horizontal cards--media-sticks-to-border cards--scrollable cards--horizontal-nav">
<article class="card">
<section class="card__media">
<img src="./assets/aByRQg2_700b.jpg" />
</section>
<header class="card__header">
<h5>
Some teks for title
<small class="subheader">
<!-- some teks -->
Some teks for its subheader
</small>
</h5>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
</article>
<article class="card">
<article class="card__content">
<header class="card__header">
<h5>
Has card__content as 1st elemen and act as container
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h5>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
</article>
<section class="card__media">
<img src="./assets/alexis-presa-OCvXQfLHHx0-unsplash.webp" />
</section>
</article>
<article class="card">
<section class="card__media">
<img src="./assets/christian-lue-NozWWLzEb0E-unsplash.webp" />
</section>
<article class="card__content">
<header class="card__header">
<h5>
Has card__content as 2nd element and act as container
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h5>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
</article>
</article>
<article class="card">
<header class="card__header">
<h5>
Some teks for title
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h5>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
<section class="card__media">
<img src="././assets/imagination.jpg" />
</section>
</article>
<article class="card">
<header class="card__header">
<h5>
Some teks for title
<small class="subheader">
<!-- some teks -->
Some teks for its subheader
</small>
</h5>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
<section class="card__media">
<img src="./assets/jean-carlo-emer-PPk5cX78qys-unsplash.webp" />
</section>
</article>
<article class="card">
<section class="card__media">
<img src="./assets/yilei-jerry-bao-_FzUZYliQ1M-unsplash.webp" />
</section>
<header class="card__header">
<h5>
Some teks for title for second card
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h5>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
</article>
<article class="card">
<section class="card__media">
<img src="./assets/vasilis-karkalas-i8cDJOiIvTo-unsplash.webp" />
</section>
<header class="card__header">
<h5>
Some teks for title
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h5>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
</article>
<article class="card">
<header class="card__header">
<h5>
Some teks for title
<small class="subheader">
<!-- some teks -->
Some teks for its subheader
</small>
</h5>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
<section class="card__media">
<img src="./assets/aByRQg2_700b.jpg" />
</section>
</article>
<article class="card">
<section class="card__media">
<img src="./assets/alexis-presa-OCvXQfLHHx0-unsplash.webp" />
</section>
<header class="card__header">
<h5>
Some teks for title for second card
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h5>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
</article>
<article class="card">
<section class="card__media">
<img src="./assets/christian-lue-NozWWLzEb0E-unsplash.webp" />
</section>
<header class="card__header">
<h5>
Some teks for title
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h5>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
</article>
</div>
Mengubah tampilan:
cards--media-sticks-to-border membuat jika media merupakan elemen pertama atau terakhir, elemennya akan menempel dengan pembatas (tidak berpengaruh untuk cards--cover).
cards--cover mengubah semua sub elemen card__media melingkupi semua area grid.
cards--horizontal mengubah tataletak menjadi mendatar.
cards--auto-fit jika setidaknya ada 3 anak elemen, maka akan dilakukan penyesuaian ukuran lebar elemen setidaknya 280px, agar dapat memaksimalkan ditampilkannya anak elemen di dalam view port.
cards--scrollable mengubah tata letak elemen card menyamping dan membuat elemen induk dapat digulung.
cards--horizontal-nav menampilkan kendali bawaan untuk menggeser sub item cards--scrollable ke kiri-kanan.
Fungsi tertentu:
cards.
card.
card__content pada keadaan tertentu diperlukan kontainer penampung sub-elemen.
card__media .
card__header .
card__body .
be-prev-nav jika menggunakan kelas cards--horizontal-nav, attribute ini untuk mengganti ikon navigasi kekiri, nilai baku <.
be-next-nav jika menggunakan kelas cards--horizontal-nav, attribute ini untuk mengganti ikon navigasi kekanan, nilai baku >.
Komponen slide sebenarnya adalah variasi dari cards dengan kelas pengubah cards--slide, karena komponen ini memiliki potensi yang besar, jadi diputuskan untuk dibuat kategori tersendiri.
<section class="slide">
<div class="slide__items cards cards--slide">
<article class="slide__item card">
<input type="radio" id="card-slide-1" class="invisible" data-slide-select-handler name="card-slide" checked>
<section class="card__media">
<img src="./assets/yilei-jerry-bao-_FzUZYliQ1M-unsplash.webp" />
</section>
<article class="card__content">
<header class="card__header">
<h5>
Some teks for title
<small class="subheader">
<!-- some teks -->
Some teks for its subheader
</small>
</h5>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
</article>
</article>
<article class="slide__item card">
<input type="radio" id="card-slide-2" class="invisible" data-slide-select-handler name="card-slide">
<section class="card__media">
<img src="./assets/jean-carlo-emer-PPk5cX78qys-unsplash.webp" />
</section>
<article class="card__content">
<header class="card__header">
<h5>
Has element card__content
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h5>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
</article>
</article>
<article class="slide__item card">
<input type="radio" id="card-slide-3" class="invisible" data-slide-select-handler name="card-slide">
<section class="card__media">
<img src="./assets/imagination.jpg" />
</section>
<header class="card__header">
<h5>
No card__content
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h5>
</header>
<section class="card__body">
<p> Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo.</p>
</section>
</article>
<article class="slide__item card">
<input type="radio" id="card-slide-4" class="invisible" data-slide-select-handler name="card-slide">
<section class="card__media">
<img src="./assets/christian-lue-NozWWLzEb0E-unsplash.webp" />
</section>
<article class="card__content">
<header class="card__header">
<h5>
Some teks for title
<small class="subheader">
<!-- some teks -->
Some teks for its subheader
</small>
</h5>
</header>
<section class="card__body">
</section>
</article>
</article>
<article class="slide__item card">
<input type="radio" id="card-slide-5" class="invisible" data-slide-select-handler name="card-slide">
<section class="card__media">
<img src="./assets/alexis-presa-OCvXQfLHHx0-unsplash.webp" />
</section>
<article class="card__content">
<header class="card__header">
<h5>
Some teks for title for second card
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h5>
</header>
<section class="card__body">
</section>
</article>
</article>
<article class="slide__item card">
<input type="radio" id="card-slide-6" class="invisible" data-slide-select-handler name="card-slide">
<section class="card__media">
<img src="./assets/aByRQg2_700b.jpg" />
</section>
<article class="card__content">
<header class="card__header">
<h5>
Some teks for title
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h5>
</header>
<section class="card__body">
</section>
</article>
</article>
<article class="slide__item card">
<input type="radio" id="card-slide-7" class="invisible" data-slide-select-handler name="card-slide">
<section class="card__media">
<img src="./assets/vasilis-karkalas-i8cDJOiIvTo-unsplash.webp" />
</section>
<article class="card__content">
<header class="card__header">
<h5>
Some teks for title
<small class="subheader">
<!-- some teks -->
Some teks for its subheader
</small>
</h5>
</header>
<section class="card__body">
</section>
</article>
</article>
<article class="slide__item card">
<input type="radio" id="card-slide-8" class="invisible" data-slide-select-handler name="card-slide">
<section class="card__media">
<img src="./assets/yilei-jerry-bao-_FzUZYliQ1M-unsplash.webp" />
</section>
<article class="card__content">
<header class="card__header">
<h5>
Some teks for title for second card
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h5>
</header>
<section class="card__body">
</section>
</article>
</article>
<article class="slide__item card">
<input type="radio" id="card-slide-9" class="invisible" data-slide-select-handler name="card-slide">
<section class="card__media">
<img src="./assets/jean-carlo-emer-PPk5cX78qys-unsplash.webp" />
</section>
<article class="card__content">
<header class="card__header">
<h5>
Some teks for title
<p class="subheader">
<!-- some teks -->
Some teks for its subheader
</p>
</h5>
</header>
<section class="card__body">
</section>
</article>
</article>
</div>
<div class="slide__indicators">
<label class="slide__indicator-item"
for="card-slide-1"
aria-controls="card-slide-1"></label>
<label class="slide__indicator-item"
for="card-slide-2"
aria-controls="card-slide-2"></label>
<label class="slide__indicator-item"
for="card-slide-3"
aria-controls="card-slide-3"></label>
<label class="slide__indicator-item"
for="card-slide-4"
aria-controls="card-slide-4"></label>
<label class="slide__indicator-item"
for="card-slide-5"
aria-controls="card-slide-5"></label>
<label class="slide__indicator-item"
for="card-slide-6"
aria-controls="card-slide-6"></label>
<label class="slide__indicator-item"
for="card-slide-7"
aria-controls="card-slide-7"></label>
<label class="slide__indicator-item"
for="card-slide-8"
aria-controls="card-slide-8"></label>
<label class="slide__indicator-item"
for="card-slide-9"
aria-controls="card-slide-9"></label>
</div>
<button class="slide__navigator-prev">
<i be-icon="chevron"></i>
</button>
<button class="slide__navigator-next">
<i class="flip" be-icon="chevron"></i>
</button>
</section>
cards bisa digunakan disini tanpa kendala.
Mengubah tampilan:
cards--slide mengubah tata letak komponen cards menjadi elemen menggeser.
slide.
slide__items.
slide__item .
slide__navigator-prev .
slide__navigator-next .
slide__indicators .
slide__indicator-item .
<div class="accordions">
<div class="accordion">
<label id="header-1" class="accordion__header" for="accordion-handler-1">
<input type="checkbox" id="accordion-handler-1" class="invisible" name="samp-accordion-1" data-accordion-select-handler checked>
Accordion 1
<i class="visual-indicator" be-icon="chevron"></i>
</label>
<div id="section-1" class="accordion__body">
<div class="accordion__overflow">
<div class="accordion__content">
<!-- Accordions content -->
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo orbem mentes carentem haec animus coegit longo totidemque piscibus inmensa ille quam phoebe sinistra secant innabilis vix terram timebat terris ignea circumdare.
<br/>
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo orbem mentes carentem haec animus coegit longo totidemque piscibus inmensa ille quam phoebe sinistra secant innabilis vix terram timebat terris ignea circumdare.
<br/>
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo orbem mentes carentem haec animus coegit longo totidemque piscibus inmensa ille quam phoebe sinistra secant innabilis vix terram timebat terris ignea circumdare.
</div>
</div>
</div>
</div>
<div class="accordion">
<label class="accordion__header" for="accordion-handler-2">
<input type="checkbox" id="accordion-handler-2" class="invisible" name="samp-accordion-1" data-accordion-select-handler>
Accordion 2
<i class="visual-indicator" be-icon="chevron"></i>
</label>
<div id="section-2" class="accordion__body">
<div class="accordion__overflow">
<div class="accordion__content">
<!-- Accordions content -->
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo orbem mentes carentem haec animus coegit longo totidemque piscibus inmensa ille quam phoebe sinistra secant innabilis vix terram timebat terris ignea circumdare.
</div>
</div>
</div>
</div>
<div class="accordion">
<label class="accordion__header" for="accordion-handler-3">
<input type="checkbox" id="accordion-handler-3" class="invisible" name="samp-accordion-1" data-accordion-select-handler>
Accordion 3
<i class="visual-indicator" be-icon="chevron"></i>
</label>
<div id="section-3" class="accordion__body">
<div class="accordion__overflow">
<div class="accordion__content">
<!-- Accordions content -->
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo orbem mentes carentem haec animus coegit longo totidemque piscibus inmensa ille quam phoebe sinistra secant innabilis vix terram timebat terris ignea circumdare.
<br/>
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo orbem mentes carentem haec animus coegit longo totidemque piscibus inmensa ille quam phoebe sinistra secant innabilis vix terram timebat terris ignea circumdare.
</div>
</div>
</div>
</div>
</div>
Komponen accordions memiliki nilai tinggi baku sebesar 290px, ubah sesuaikan tingginya sesuai keperluanmu.
Untuk menampilkan group accordions secara vertical, tambahkan kelas accordions--vertical, tetapi jika ingin menampilkan accordions dengan tampilan dinamis berdasar ukuran lebar komponen, gunakan kelas bantuan seperti accordions--sm-vertical untuk menampilkan tata letak tegak selama ukuran komponen kurang dari 768px, agar bisa mendapatkan kemampuan dinamis ini, pastikan component accordions ditampung ke elemen dengan properti container-type: inline-size; atau tambahkan kelas container*.
<div class="container">
<div class="accordions accordions--xs-vertical accordions--vertical-height-auto" style="height: 400px;">
<div class="accordion">
<label id="header-7" class="accordion__header" for="accordion-handler-7">
<input type="radio" id="accordion-handler-7" class="invisible" name="dynamic-accordion" data-accordion-select-handler checked>
Accordion 7
<i class="visual-indicator" be-icon="chevron"></i>
</label>
<div id="section-7" class="accordion__body">
<div class="accordion__overflow">
<div class="accordion__content">
<!-- Accordions content -->
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo orbem mentes carentem haec animus coegit longo totidemque piscibus inmensa ille quam phoebe sinistra secant innabilis vix terram timebat terris ignea circumdare.
<br/>
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo orbem mentes carentem haec animus coegit longo totidemque piscibus inmensa ille quam phoebe sinistra secant innabilis vix terram timebat terris ignea circumdare.
<br/>
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo orbem mentes carentem haec animus coegit longo totidemque piscibus inmensa ille quam phoebe sinistra secant innabilis vix terram timebat terris ignea circumdare.
</div>
</div>
</div>
</div>
<div class="accordion">
<label class="accordion__header" for="accordion-handler-8">
<input type="radio" id="accordion-handler-8" class="invisible" name="dynamic-accordion" data-accordion-select-handler>
Accordion 8
<i class="visual-indicator" be-icon="chevron"></i>
</label>
<div id="section-8" class="accordion__body">
<div class="accordion__overflow">
<div class="accordion__content">
<!-- Accordions content -->
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo orbem mentes carentem haec animus coegit longo totidemque piscibus inmensa ille quam phoebe sinistra secant innabilis vix terram timebat terris ignea circumdare.
</div>
</div>
</div>
</div>
<div class="accordion">
<label class="accordion__header" for="accordion-handler-9">
<input type="radio" id="accordion-handler-9" class="invisible" name="dynamic-accordion" data-accordion-select-handler>
Accordion 9
<i class="visual-indicator" be-icon="chevron"></i>
</label>
<div id="section-9" class="accordion__body">
<div class="accordion__overflow">
<div class="accordion__content">
<!-- Accordions content -->
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo orbem mentes carentem haec animus coegit longo totidemque piscibus inmensa ille quam phoebe sinistra secant innabilis vix terram timebat terris ignea circumdare.
<br/>
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo orbem mentes carentem haec animus coegit longo totidemque piscibus inmensa ille quam phoebe sinistra secant innabilis vix terram timebat terris ignea circumdare.
</div>
</div>
</div>
</div>
</div>
</div>
<input [type="checkbox"]> dengan <input [type="radio"]> dan pastikan attribute [name="{value}"] memiliki nilai yang sama.
Fungsi tertentu:
accordions--vertical menampilkan secara tegak.
accordions--xs-vertical memberikan tampilan dinamis, tegak jika lebar komponen kurang dari 640px, dan akan mendatar jika lebih luas.
accordions--sm-vertical memberikan tampilan dinamis, tegak jika lebar komponen kurang dari 768px, dan akan mendatar jika lebih luas.
accordions--md-vertical memberikan tampilan dinamis, tegak jika lebar komponen kurang dari 1280px, dan akan mendatar jika lebih luas.
accordions--vertical-height-auto jika ditampilkan dalam posisi tegak, maka pembatas ukuran tinggi komponen akan ditiadakan.
<section class="tabs">
<div class="tabs__nav">
<label class="tab__nav" for="tab-select-handler1">
<input type="radio" id="tab-select-handler1" class="invisible" data-tab-select-handler name="tab-handler" checked>
Tabs 1
</label>
<label class="tab__nav" for="tab-select-handler2">
<input type="radio" id="tab-select-handler2" class="invisible" data-tab-select-handler name="tab-handler">
Tabs 2
</label>
<label class="tab__nav" for="tab-select-handler3">
<input type="radio" id="tab-select-handler3" class="invisible" data-tab-select-handler name="tab-handler">
Tabs 3
</label>
</div>
<div class="tabs__content">
<div id="tab-content1" class="tab__content">
Content 1
</div>
<div id="tab-content2" class="tab__content">
Content 2
</div>
<div id="tab-content3" class="tab__content">
Content 3
</div>
</div>
</section>
[data-tab-active] pada elemen tab__nav dan tab__content.
Mengubah posisi tampil:
tabs--right mengubah tataletak bilah kendali disebelah kanan.
tabs--bottom mengubah tataletak bilah kendali dibawah.
tabs--left mengubah tataletak bilah kendali disebelah kiri.
1 Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo orbem mentes carentem haec animus coegit longo totidemque piscibus inmensa ille quam phoebe sinistra secant innabilis vix terram timebat terris ignea circumdare.
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo orbem mentes carentem haec animus coegit longo totidemque piscibus inmensa ille quam phoebe sinistra secant innabilis vix terram timebat terris ignea circumdare.
<label class="btn" for="appear-1">Display!</label>
<br/>
You can put appear any where!
<div class="appear">
<input type="checkbox" id="appear-1" class="invisible" data-appear-handler name="appear">
<div class="appear__overflow">
<div class="appear__content">
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo orbem mentes carentem haec animus coegit longo totidemque piscibus inmensa ille quam phoebe sinistra secant innabilis vix terram timebat terris ignea circumdare.
</div>
</div>
</div>
<div style="height: 300px; display: flex;">
<div class="appear-sibling">
<label class="btn btn--primary" for="appear-right-expand">
push right!
</label>
<p>
1 Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo orbem mentes carentem haec animus coegit longo totidemque piscibus inmensa ille quam phoebe sinistra secant innabilis vix terram timebat terris ignea circumdare.
</p>
</div>
<section class="appear appear--right">
<input type="checkbox" id="appear-right-expand" class="invisible" data-appear-handler name=" appear-right-expand">
<div class="appear__overflow">
<div class="appear__content">
<p>
Quia ignea minantia aethera ubi coeperunt temperiemque pondus recessit iunctarum umor subsidere foret militis fronde semine numero nitidis fossae norant modo mixtam nullo orbem mentes carentem haec animus coegit longo totidemque piscibus inmensa ille quam phoebe sinistra secant innabilis vix terram timebat terris ignea circumdare.
</p>
</div>
</div>
</section>
</div>
Seperti elemen <details> dan <summary>, tetapi komponen appear memiliki fungsi yang lebih baik. Komponen ini bisa digunakan tersendiri, tetapi kelebihannya akan terlihat jika dikelompokkan dengan elemen lain yang ditaruh kedalam sebuah kontainer dengan sistem tata letak berdasar baris atau kolom (contoh: display: flex;).
Komponen appear didesain tidak hanya bersifat statis diantara elemen, tetapi juga melayang tidak mempengaruhi dimensi tata letak elemen lainnya, agar sebuah elemen penampung yang awalnya tak terlihat, kemudian muncul melayang menggeser kedalam halaman, untuk mendapatkan fungsi ini tambahkan kelas appear--offcanvas.
Ubah ukuran perambanmu!
<label class="btn" for="appear-right-fix">
Offcanvas from Right!
</label>
<div class="appear appear--offcanvas appear--fix appear--right">
<input type="checkbox" id="appear-right-fix" class="invisible" data-appear-handler name="appear-right-fix">
<div class="appear__overflow">
<div class="appear__content">
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
<li>D</li>
<li>E</li>
</ul>
</div>
</div>
<label class="appear__toggle" for="appear-right-fix"></label>
</div>
<div style="height: 300px; display: flex;">
<section class="appear appear--left appear--fix appear--vsm-offcanvas">
<input type="checkbox" id="appear-left" class="invisible" data-appear-handler name="appear-left">
<div class="appear__overflow">
<div class="appear__content">
<nav class="navbar navbar--compact navbar--no-hover navbar--compact-expand">
<div class="navbar__brand">
<a href="#asd">Brand</a>
</div>
<ul class="nav">
<li class="nav__item">
<a href="#asd">menu item 1</a>
</li>
<li class="nav__item">
<a href="#asd">menu item 2</a>
<ul class="nav">
<li class="nav__item">
<a href="#asd">menu item 2-1</a>
</li>
<li class="nav__item">
<a href="#asd">menu item 2-2</a>
<ul class="nav">
<li class="nav__item">
<a href="#asd">menu item 2-2-1</a>
</li>
<li class="nav__item">
<a href="#asd">menu item 2-2-2</a>
<ul class="nav">
<li class="nav__item">
<a href="#asd">menu item 2-2-2-1</a>
</li>
</ul>
</li>
<li class="nav__item">
<a href="#asd">menu item 2-2-3</a>
</li>
</ul>
</li>
<li class="nav__item-line"></li>
<li class="nav__item">
<a href="#asd">menu item 2-4</a>
</li>
</ul>
</li>
<li class="nav__item">
<a href="#asd">menu item 3</a>
</li>
</ul>
</nav>
</div>
</div>
<label class="appear__toggle" for="appear-left"></label>
</section>
<div class="appear-sibling">
<label class="btn btn--primary" for="appear-left">
left fix push over.
</label>
<p>
Ubah ukuran perambanmu!
</p>
</div>
</div>
Jika kamu yakin dengan tinggi atau lebar elemen penampung tidak akan berubah, dan agar animasi meluas lebih halus gunakan ukuran pasti, tambahkan kelas appear--fix.
Dalam kondisi tertentu kamu ingin gabungan efek melayang dan efek mendorong saat ukuran halaman lebih luas, maka ganti appear--offcanvas dengan salah satu kelas dari appear--vsm-offcanvas untuk batasan ukuran halaman hingga 768px, dan appear--vmd-offcanvas untuk batasan ukuran halaman hingga 1280px.
appear:
//Appear top
<div style="height: 100vh; display: flex; flex-direction: column;">
<section class="appear">
<input type="checkbox" id="appear-top" class="invisible" data-appear-handler name="appear-top">
<div class="appear__overflow">
<div class="appear__content">
<!-- Appear content -->
</div>
</div>
</section>
<div class="appear-sibling">
<!-- Main content -->
<label class="btn btn--accent" for="appear-top">
Appear from top!
</label>
</div>
</div>
//Appear right
<div style="height: 100vh; display: flex;">
<div class="appear-sibling">
<!-- Main content -->
<label class="btn btn--accent" for="appear-right">
Appear from right!
</label>
</div>
<section class="appear appear--right">
<input type="checkbox" id="appear-right" class="invisible" data-appear-handler name="appear-right">
<div class="appear__overflow">
<div class="appear__content">
<!-- Appear content -->
</div>
</div>
</section>
</div>
//Appear bottom
<div style="height: 100vh; display: flex; flex-direction: column; justify-content: space-between;">
<div class="appear-sibling">
<!-- Main content -->
<label class="btn btn--accent" for="appear-bottom">
Appear from bottom!
</label>
</div>
<section class="appear appear--bottom">
<input type="checkbox" id="appear-bottom" class="invisible" data-appear-handler name="appear-bottom">
<div class="appear__overflow">
<div class="appear__content">
<!-- Appear content -->
</div>
</div>
</section>
</div>
//Appear left
<div style="height: 100vh; display: flex;">
<section class="appear appear--left">
<input type="checkbox" id="appear-left" class="invisible" data-appear-handler name="appear-left">
<div class="appear__overflow">
<div class="appear__content">
<!-- Appear content -->
</div>
</div>
</section>
<div class="appear-sibling">
<!-- Main content -->
<label class="btn btn--accent" for="appear-left">
Appear from left!
</label>
</div>
</div>
Mengubah posisi tampil:
appear--right posisi tampil dari kanan.
appear--bottom posisi tampil dari bawah.
appear--left posisi tampil dari kiri.
Mengubah tampilan:
appear--fix untuk membuat komponen appear memiliki ukuran pasti, beri ukuran yang diinginkan melalui variable css --appear-size.
appear--no-backdrop menghilangkan latar belakang dan membuat halaman bisa digulung.
appear--offcanvas membuat komponen appear awalnya tak terlihat, kemudian muncul melayang menggeser kedalam halaman.
appear--vsm-offcanvas membuat komponen appear melayang jika ukuran halaman kurang dari 768px, dan mendorong saat lebih luas.
appear--vmd-offcanvas membuat komponen appear melayang jika ukuran halaman kurang dari 1280px, dan mendorong saat lebih luas.
appear-sibling kelas ini untuk diterapkan ke elemen kontainer, saudara dari komponen appear.