Di sini saya akan memperkenalkan beberapa properti CSS yang saya harap layak Anda pertimbangkan. Sementara berbicara tentang beberapa dari mereka yang tidak memiliki dukungan browser yang sempurna, saya akan berbicara tentang bagaimana menerapkannya menggunakan teknologi peningkatan progresif. Ini akan memungkinkan Anda untuk menikmati properti ini tanpa khawatir tentang dukungan browser.
Menggunakan properti place-items dengan CSS Grid
Contoh menggunakan properti tempat-item yang
saya pelajari tentang trik ini daritweet ini . Properti ini
place-items
memungkinkan Anda untuk memusatkan elemen secara horizontal dan vertikal, sambil melakukannya dengan jumlah minimum kode CSS.
Berikut ini HTML yang digunakan untuk membentuk halaman dari gambar sebelumnya:
<div class="hero">
<div class="hero-wrapper">
<h2><font color="#3AC1EF">CSS is awesome</font></h2>
<p>Yes, this is a hero section made for fun.</p>
<a href="#">See more</a>
</div>
</div>
Berikut adalah kode gaya:
.hero {
display: grid;
place-items: center;
}
Sebelum masuk ke detail, saya pikir itu layak menyebutkan bahwa properti
place-items
adalah singkatan yang digunakan untuk mengatur properti justify-items
dan align-items
. Jika properti ini tidak digunakan, maka kode CSS di atas akan terlihat seperti ini:
.hero {
display: grid;
justify-items: center;
align-items: center;
}
Anda mungkin tertarik dengan detail tentang cara kerja properti ini. Biarkan saya memberi tahu Anda tentang mereka. Ketika properti
place-items
digunakan, ini diterapkan ke setiap sel di kisi. Ini berarti bahwa itu akan meluruskan isi semua sel. Artinya, dapat digunakan untuk menata segala sesuatu yang ditempatkan di sel-sel grid. Untuk mendemonstrasikan ini, mari kita lihat merancang kisi multi-sel:
.hero {
display: grid;
grid-template-columns: 1fr 1fr;
place-items: center;
}
Menggunakan gaya seperti ini akan menghasilkan hasil yang ditunjukkan pada gambar berikut.
Isi semua sel terpusat
Menggunakan properti margin lama yang baik dengan CSS Flexbox
Menyelaraskan item ke tengah saat bekerja dengan tata letak Flexbox
Menggunakan desain
margin: auto
dalam tata letak Flexbox membuatnya sangat mudah untuk memusatkan, secara horizontal dan vertikal menyelaraskan item.
Inilah markupnya:
<div class="parent">
<div class="child"></div>
</div>
Inilah gayanya:
.parent {
width: 300px;
height: 200px;
background: #ccc;
display: flex;
}
.child {
width: 50px;
height: 50px;
background: #000;
margin: auto;
}
Peluru daftar styling
Peluru Daftar Bergaya Pertama, izinkan saya mengakui bahwa saya tidak menyadari fakta bahwa lingkaran kecil di sebelah setiap item daftar berbutir disebut peluru. Sebelum saya tahu tentang keberadaan pseudo-elemen
::marker
, saya mendirikan kalangan ini dengan mengatur ulang gaya daftar dan menggunakan::before
ataupseudo-elemen::after
. Tetapi ini sama sekali tidak praktis dan salah. Maksud saya yang berikut ini:
ul {
list-style: none;
padding: 0;
}
li {
color: #222;
}
li::before {
content: "β’";
color: #ccc;
margin-right: 0.5em;
}
Seperti yang Anda lihat, di sini warna elemen
<li>
ditetapkan sebagai #222
, dan warna elemen pseudo ::before
adalah ini #ccc
. Jika Anda ingin y <li>
dan ::before
memiliki warna yang sama, maka karena marker mewarisi warna <li>
, maka tidak perlu untuk elemen pseudo.
Dan inilah cara tugas yang sama diselesaikan menggunakan
::marker
:
li {
color: #222;
}
li::marker {
color: #ccc;
}
Bagi saya, pendekatan ini jauh lebih sederhana dan lebih mudah daripada pendekatan yang menggunakan elemen pseudo
::before
.
Elemen pseudo
::marker
didukung di Firefox 68+ dan Safari 11.1+. Dan di Chrome dan Edge 80+ untuk mengaktifkan dukungannya, Anda harus mengaktifkan bendera yang sesuai.
Properti perataan teks
Seiring meningkatnya popularitas CSS Grid dan CSS Flexbox, beberapa pengembang yang baru mulai menggunakan CSS sering menggunakan mekanisme modern untuk memusatkan dan menyelaraskan konten, daripada properti lama
text-align
. Tetapi properti ini masih berfungsi dengan baik.
Penggunaan
text-align: center
memungkinkan Anda untuk menyelaraskan materi halaman dengan cepat dan mudah. Pertimbangkan sebuah contoh.
Menyelaraskan konten di bagian atas halaman
Konten bagian ini harus di tengah. Apa yang akan digunakan untuk tata letak bagian ini? Flexbox atau Kotak? Bahkan, masalah ini dapat dengan mudah diselesaikan dengan hanya menggunakan properti
text-align
.
Bagaimana dengan properti ini dengan dukungan browser? Saya sarankan Anda mencari tahu sendiri.
Nilai inline-flex dari properti tampilan
Menggunakan nilai properti tampilan inline-flex
Apakah Anda pernah perlu menampilkan beberapa ikon dalam wadah Flexbox yang merupakan elemen inline, menjadikan masing-masing ikon tersebut elemen Flexbox? Nilai
inline-flex
propertidimaksudkan untuk menyelesaikan masalah inidisplay
.
Berikut ini markup yang menggambarkan sekumpulan elemen:
<span class="badge"><svg></svg></span>
<span class="badge"><svg></svg></span>
<span class="badge"><svg></svg></span>
<span class="badge"><svg></svg></span>
Berikut kode untuk menata elemen ini:
.badge {
display: inline-flex; /* */
justify-content: center;
align-items: center;
}
Lain kali Anda membutuhkan elemen sebaris dengan fungsi tata letak Flexbox, pastikan untuk menggunakannya
inline-flex
. Sangat nyaman.
Properti aturan-kolom
Menerapkan properti aturan-kolom
Pengaturan huruf berdasarkan kolom adalah teknik khusus untuk membuat tata letak halaman. Saat Anda menggunakannya, elemen-elemennya diatur dalam kolom. Biasanya teknik ini digunakan untuk menyelaraskan teks yang ditempatkan di elemen
<p>
. Tetapi tata letak multi-kolom memiliki satu fitur yang digunakan jauh lebih jarang daripada yang seharusnya. Ini tentang kemampuan untuk menambahkan pemisah kolom. Saya belajar tentang ini dariartikel ini .
p {
columns: 3;
column-rule: solid 2px #222;
}
Nama properti
column-rule
tampaknya tidak secara akurat mencerminkan tujuannya. Akan lebih logis untuk menamainya, misalnya, "border-right". Properti ini sangat didukung oleh semua browser saat ini (IE 10+, Firefox 3.5+, Chrome 4+, Safari 3.1+, Edge 12+).
Properti objek-fit
Menerapkan properti objek-fit
Properti CSS
object-fit
adalah tongkat ajaib desainer web. Ketika saya mengetahuinya, menggunakannya, saya mulai bekerja dengan cara baru, yang membuat hidup saya jauh lebih mudah. Misalnya, saya baru-baru ini mengerjakan bagian dari satu situs yang menampilkan serangkaian logo. Bagian-bagian ini kadang-kadang cukup sulit untuk dibuat karena fakta bahwa logo memiliki ukuran yang berbeda. Beberapa dari mereka diregangkan secara horizontal, beberapa di antaranya vertikal.
Dengan menggunakan properti,
object-fit: contain
saya dapat memanipulasi propertiwidth
danheight
logo, yang memungkinkan saya menempatkan logo di area dengan lebar dan tinggi yang telah ditentukan.
Inilah markupnya:
<ul class="brands">
<li class="brands__item">
<a href="#">
<img src="img/logo.png" alt="">
</a>
</li>
<li> <!-- --> </li>
</ul>
Inilah gayanya:
img {
width: 130px;
height: 75px;
object-fit: contain;
}
Dengan mengatur properti
width
dan height
elemen <img>
, kita dapat mengontrol area di mana logo akan ditempatkan. Sangat nyaman. Lebih baik lagi, kita dapat menempatkan kode di atas dalam arahan @supports
untuk menghindari peregangan gambar di browser yang tidak mendukung object-fit
.
@supports (object-fit: contain) {
img {
object-fit: contain;
height: 75px;
}
}
Apakah Anda tahu tentang beberapa properti CSS yang menarik tetapi kurang dikenal?