/* Kode ini mengimplementasikan efek gradien ketika mouse menggeser link*/ A { warna: #007c21; transisi: warna .4s kemudahan; } a: arahkan kursor { warna: #00bf32 }
Dengan menggunakan CSS3 Anda dapat membuat sudut membulat untuk sebagian besar elemen, termasuk elemen formulir, gambar, dan bahkan teks paragraf, tanpa menambahkan markup atau gambar tambahan.
<!DOCTYPEhtml> <htmllang="id"> <kepala> <meta charset="utf-8" /> <title>Sudut Membulat</title> <link rel="stylesheet" href="css/rounded-corners.css" /> </kepala> <tubuh> <div class="semua sudut"></div> <div class="satu sudut"></div> <div class="elliptical-corners"></div> <div kelas="lingkaran"></div> </tubuh> </html>
Empat contoh penggunaan sudut membulat CSS, termasuk awalan vendor yang diperlukan untuk mendukung versi lama browser Android, Mobile Safari, dan Safari. Untuk .circle
, penggunaan 75px
memiliki efek yang sama dengan 50%
karena elemennya berukuran 150像素*150像素
.
div { latar belakang: #999; mengapung: kiri; tinggi: 150 piksel; margin: 10 piksel; lebar: 150 piksel; } .semua sudut { -radius-perbatasan-webkit: 20 piksel; radius batas: 20px; } .satu sudut { -webkit-perbatasan-kiri-atas-radius: 75px; radius-batas-kiri-atas: 75px; } .sudut elips { -radius-perbatasan webkit: 50 piksel / 20 piksel; radius batas: 50px / 20px; } .lingkaran { -radius-perbatasan-webkit: 50%; radius perbatasan: 50%; }
div { latar belakang: #ff9; batas: 5 piksel padat #326795; mengapung: kiri; tinggi: 150 piksel; margin: 10 piksel; lebar: 150 piksel; } .contoh-1 { /* Membuat radius sudut kiri atas dan kanan bawah menjadi 10px dan sudut kanan atas dan kiri bawah 20px */ radius batas: 10px 20px; } .contoh-2 { /* Menjadikan radius sudut kiri atas 20px, dan semua sudut lainnya 0 */ radius batas: 20px 0 0; } .contoh-3 { /* Menjadikan radius pojok kiri atas 10px, pojok kanan atas 20px, pojok kanan bawah 0, dan pojok kiri bawah 30px */ radius batas: 10px 20px 0 30px; }
-webkit-border-radius: r
, di mana r
adalah jari-jari fillet, dinyatakan dalam panjang (dengan satuan). Masukkan border-radius: r
, dengan r
adalah jari-jari fillet, gunakan nilai yang sama seperti pada langkah pertama. Ini adalah sintaks bentuk pendek standar untuk properti ini.-webkit-border-top-left-radius: r
, dengan r
adalah jari-jari sudut kiri atas, dinyatakan dalam panjang (dengan satuan). Masukkan border-top-left-radius: r
, menggunakan nilai yang sama untuk r
seperti pada langkah pertama. Ini adalah sintaks bentuk panjang standar untuk properti ini. Untuk membuat pojok kanan atas, gunakan top-right
; untuk membuat pojok kanan bawah, gunakan bottom-right
; untuk membuat pojok kiri bawah, gunakan bottom-left
.-webkit-border-radius: x/y
, di mana x
adalah jari-jari fillet pada arah horizontal, y
adalah jari-jari fillet pada arah vertikal, keduanya dinyatakan sebagai panjang (dengan satuan) . Masukkan border-radius: x/y
, di mana x
dan y
sama dengan nilai pada langkah pertama.-webkit-border-radius: r
di mana r
adalah jari-jari elemen (dengan satuan panjang). Untuk membuat lingkaran, gunakan sintaksis bentuk pendek, di mana nilai r
harus sama dengan setengah tinggi atau lebar elemen. Masukkan border-radius: r
di mana r adalah jari-jari elemen (dengan satuan panjang), yang sama dengan r
pada langkah pertama. Ini adalah sintaks standar tanpa awalan. Catatan: Browser lama yang tidak mendukung border-radius
hanya akan merender elemen dengan sudut persegi. border-radius
hanya mempengaruhi sudut elemen dimana gaya diterapkan, bukan sudut elemen turunannya. Oleh karena itu, jika elemen anak memiliki latar belakang, latar belakang tersebut mungkin muncul di sudut satu atau beberapa elemen induk, sehingga memengaruhi gaya sudut membulat. Terkadang latar belakang suatu elemen (bukan latar belakang elemen turunannya di sini) akan terlihat melalui sudut membulat. Untuk menghindari hal ini, Anda dapat menambahkan aturan gaya setelah deklarasi border-radius
elemen: background-clip: padding-box;
Gunakan text-shadow
untuk menambahkan efek bayangan dinamis ke teks dalam paragraf, judul, dan elemen lainnya tanpa menggunakan gambar untuk mewakili teks.
text-shadow:
. Masukkan nilai yang masing-masing mewakili x-offset
(horizontal offset), y-offset
(vertical offset), blur-radius
(blur radius) dan color
(tiga nilai pertama memiliki satuan panjang, dan tidak ada koma antara empat nilai dipisahkan), misalnya -2px 3px 7px #999
.text-shadow:
. Masukkan nilai x-offset
(horizontal offset), y-offset
(vertical offset), blur-radius
(blur radius) dan color
(tiga nilai pertama memiliki satuan panjang, dan tidak ada koma pemisahan antara empat nilai). Nilai blur-radius
bersifat opsional. Masukkan, (koma). Ulangi langkah kedua dengan nilai berbeda untuk keempat properti.<!DOCTYPEhtml> <htmllang="id"> <kepala> <meta charset="utf-8" /> <title>Bayangan Teks</title> <link rel="stylesheet" href="css/text-shadow.css" /> </kepala> <tubuh> <p class="basic">Bayangan Dasar</p> <p class="basic-negative">Bayangan Dasar</p> <p class="blur">Radius Buram</p> <p class="blur-inversed">Radius Buram</p> <p class="multiple">Beberapa Bayangan Teks</p> </tubuh> </html>
tubuh { latar belakang: #fff; warna: #222; jenis huruf: 100%/1,05 helvetica, sans-serif; padding-atas: 20 piksel; } P { warna: #222; /* hampir hitam */ ukuran font: 4,5em; berat font: tebal; margin: 0 0 45 piksel; } p:anak terakhir { margin: 0; } .dasar { bayangan-teks: 3px 3px #aaa; } /* menggunakan offset negatif--Anda juga dapat menggabungkan offset positif dan negatif */ .basic-negatif { text-shadow: -4px -2px #ccc; /* abu-abu sedikit lebih terang dari #aaa */ } .blur { bayangan teks: 2px 2px 10px abu-abu; } .blur-terbalik { warna: putih; bayangan teks: 2px 2px 10px #000; /* hitam */ } /* contoh ini memiliki dua bayangan, namun Anda dapat menyertakannya lebih lanjut dengan memisahkan masing-masing dengan koma */ .beberapa { bayangan teks: 2px 2px putih, 6px 6px rgba(50,50,50,.25); }
Kelas-kelas ini mendemonstrasikan beberapa efek text-shadow
. Yang pertama, kedua dan kelima semuanya menghilangkan nilai radius blur. Kelas .multiple
memberi tahu kita bahwa beberapa gaya bayangan dapat ditambahkan ke satu elemen, dengan koma yang memisahkan setiap kumpulan atribut. Dengan cara ini, dengan menggabungkan beberapa gaya bayangan, Anda dapat menciptakan efek khusus dan menarik.
Artinya, masukkan text-shadow: none;
Atribut ini tidak perlu dimasukkan dan menggunakan awalan pabrikan.
Properti text-shadow
menerima empat nilai: x-offset
dengan satuan panjang, y-offset
dengan satuan panjang, blur-radius
opsional dengan satuan panjang, dan nilai color
. Jika blur-radius
tidak ditentukan, nilainya diasumsikan 0. Nilai x-offset
dan y-offset
bisa berupa bilangan bulat positif atau negatif, artinya 1px
dan -1px
sama-sama valid. Nilai blur-radius
harus berupa bilangan bulat positif. Ketiga nilai tersebut bisa menjadi 0. Meskipun sintaks text-shadow
mirip dengan properti border dan background, ia tidak dapat menentukan empat nilai properti terpisah seperti border dan background. Jika text-shadow
tidak ditentukan, ia menggunakan nilai awal none
.
Gunakan properti text-shadow
untuk menambahkan bayangan ke teks elemen, dan gunakan properti box-shadow
untuk menambahkan bayangan ke elemen itu sendiri. Kumpulan properti dasarnya sama, tetapi box-shadow
juga memungkinkan penggunaan dua properti opsional: properti kata kunci inset
dan properti spread
(digunakan untuk memperluas atau mengecilkan bayangan).
Atribut box-shadow
menerima enam nilai: x-offset
dan y-offset
dengan satuan panjang, blur-radius
opsional dengan satuan panjang, kata kunci inset
opsional, nilai spread
opsional dengan satuan panjang, dan nilai color
. Jika nilai blur-radius
dan spread
tidak ditentukan, maka nilainya disetel ke 0.
<!DOCTYPEhtml> <htmllang="id"> <kepala> <meta charset="utf-8" /> <title>Bayangan Kotak</title> <link rel="stylesheet" href="css/box-shadow.css" /> </kepala> <tubuh> <div kelas="bayangan"> <p>Bayangan dengan Buram</p> </div> <div class="bayangan-negatif"> <p>Bayangan dengan Offset Negatif dan Buram</p> </div> <div class="bayangan-spread"> <p>Bayangan dengan Buram dan Menyebar</p> </div> <div class="bayangan-offset-0"> <p>Bayangan dengan Offset Nol, Blur, dan Spread</p> </div> <div class="inset-shadow"> <p>Sisipkan Bayangan</p> </div> <div kelas="banyak"> <p>Beberapa Bayangan</p> </div> <div class="bayangan-negatif-spread"> <p>Bayangan dengan Buram dan Penyebaran Negatif</p> </div> </tubuh> </html>
tubuh { latar belakang: #000; warna: #fff; } jam1 { keluarga font: sans-serif; ukuran font: 2,25em; tinggi garis: 1.1; perataan teks: tengah; } /* CATATAN: URL gambar latar belakang di bawah ini berbeda dengan contoh yang ditunjukkan dalam buku, karena saya telah menempatkan gambar dalam sub-folder (disebut "img"), seperti yang biasa terjadi saat mengatur situs. Saya pikir akan bermanfaat bagi Anda untuk melihat bagaimana membuat URL gambar latar belakang Anda dalam keadaan ini. Perhatikan bahwa URL tersebut relatif terhadap tempat style sheet berada, BUKAN halaman HTML yang menampilkan gambar tersebut. .langit malam { warna latar: biru tua; /* warna cadangan */ gambar latar belakang: url(../img/ufo.png), url(../img/bintang.png), url(../img/bintang.png), url(../img/sky.png); posisi latar belakang: 50% 102%, 100% -150 piksel, 0 -150 piksel, 50% 100%; pengulangan latar belakang: tidak ada pengulangan, tidak ada pengulangan, tidak ada pengulangan, ulangi-x; tinggi: 300 piksel; margin: 25px auto 0; /* sedikit berbeda dari buku */ padding-atas: 36px; lebar: 75%; }
Program di atas digunakan untuk mendemonstrasikan efek penggunaan box-shadow
untuk menambahkan satu atau lebih bayangan. Lima kelas pertama masing-masing menerapkan gaya arsiran yang berbeda satu sama lain. Kelas terakhir menerapkan dua bayangan (lebih banyak yang bisa diterapkan). Browser yang tidak memahami box-shadow
akan mengabaikan aturan gaya CSS ini dan merender halaman tanpa bayangan.
-webkit-box-shadow:
. Masukkan nilai yang masing-masing mewakili x-offset
, y-offset
, blur-radius
, spread
dan color
(empat nilai pertama memiliki satuan panjang), misalnya, 2px
2px
5px
#333
. Masukkan box-shadow:
dan ulangi langkah kedua.-webkit-box-shadow:
. Masukkan nilai yang masing-masing mewakili x-offset
, y-offset
, blur-radius
, spread
dan color
(empat nilai pertama memiliki satuan panjang), misalnya, 2px
2px
5px
#333
. Masukkan inset
setelah titik dua, lalu masukkan spasi (Anda juga dapat memasukkan inset
dan spasi sebelum langkah kedua). Masukkan box-shadow:
dan ulangi langkah dua dan tiga.-webkit-box-shadow:
. Masukkan nilai yang masing-masing mewakili x-offset
, y-offset
, blur-radius
, spread
dan color
(empat nilai pertama memiliki satuan panjang), misalnya, 2px
2px
5px
#333
. Jika perlu, sertakan kata kunci inset
. Masukkan koma. Ulangi langkah kedua dengan nilai berbeda untuk setiap atribut. Masukkan box-shadow:
dan ulangi langkah dua hingga empat.-webkit-box-shadow: none;
Masukkan box-shadow: none;
Catatan: nilai x-offset
, y-offset
dan spread
dapat berupa bilangan bulat positif atau negatif. Nilai blur-radius
harus berupa bilangan bulat positif. Ketiga nilai tersebut bisa bernilai nol. Kata kunci inset
memungkinkan bayangan ditempatkan di dalam elemen.
Berbagai latar belakang dapat diterapkan ke hampir semua elemen.
<!DOCTYPEhtml> <htmllang="id"> <kepala> <meta charset="utf-8" /> <title>Berbagai Latar Belakang</title> <link rel="stylesheet" href="css/multiple-backgrounds.css" /> </kepala> <tubuh> <div class="langit malam"> <h1>Di langit malam...</h1> </div> </tubuh> </html>
... .langit malam { warna latar: biru tua; /* warna cadangan */ gambar latar belakang: url(../img/ufo.png), url(../img/bintang.png), url(../img/bintang.png), url(../img/sky.png); posisi latar belakang: 50% 102%, 100% -150 piksel, 0 -150 piksel, 50% 100%; ulangi latar belakang: tidak ada pengulangan, tidak ada pengulangan, tidak ada pengulangan, ulangi-x; tinggi: 300 piksel; margin: 25px auto 0; /* sedikit berbeda dari buku */ padding-atas: 36px; lebar: 75%; }
Terapkan beberapa gambar latar belakang ke satu elemen (tidak perlu menggunakan awalan vendor)
Masukkanbackground-color: b
, di mana b adalah warna latar belakang alternatif yang ingin Anda terapkan pada elemen. Masukkan background-image: u
, dengan u
adalah daftar url
yang direferensikan berdasarkan jalur absolut atau relatif (dipisahkan dengan koma. Untuk browser yang mendukung banyak latar belakang, gambar berlapis dan tumpang tindih satu sama lain. Gambar pertama dalam daftar dipisahkan dengan koma background-position: p
p
x-offset
y-offset
center top
. Untuk setiap url
yang ditentukan pada langkah kedua, harus ada kumpulan x-offset
dan y-offset
. Masukkan background-repeat: r
, dengan r
adalah nilai repeat-x
, repeat-y
, atau no-repeat
, dipisahkan dengan koma, satu nilai untuk setiap url
yang ditentukan pada langkah kedua.Untuk beberapa gambar latar belakang, sintaksis bentuk pendek standar dapat digunakan, menggunakan koma untuk memisahkan setiap kumpulan parameter latar belakang. Manfaat dari representasi ini adalah pengembang dapat menentukan warna latar belakang alternatif atau gambar untuk browser lama.
.langit malam { /* fallback dengan warna dan gambar */ latar belakang: navy url(../img/ufo.png) bagian tengah bawah tanpa pengulangan; /* untuk browser pendukung */ latar belakang: url(../img/ufo.png) tidak ada pengulangan 50% 102%, url(../img/stars.png) tanpa pengulangan 100% -150px, url(../img/stars.png) tanpa pengulangan 0 -150 piksel, url(../img/sky.png) ulangi-x 50% 100%; tinggi: 300 piksel; margin: 25px otomatis 0; padding-atas: 36 piksel; lebar: 75%; }
<!DOCTYPEhtml> <htmllang="id"> <kepala> <meta charset="utf-8" /> <title>Latar Belakang Gradien</title> <link rel="stylesheet" href="css/gradients.css" /> </kepala> <tubuh> <div class="vertical-down"><p>default</p></div> <div class="vertical-up"><p>ke atas</p></div> <div class="horizontal-rt"><p>ke kanan</p></div> <div class="horizontal-lt"><p>ke kiri</p></div> <div class="angle-bot-rt"><p>ke <br />kanan bawah</p></div> <div class="angle-bot-lt"><p>ke <br />kiri bawah</p></div> <div class="angle-top-rt"><p>ke kanan atas</p></div> <div class="angle-top-lt"><p>ke kiri atas</p></div> <div class="angle-120deg"><p>120deg</p></div> <div class="angle-290deg"><p>290deg</p></div> <bagian kelas="radial"> <div class="radial-center"><p>default</p></div> <div class="radial-top"><p>di atas</p></div> <div class="radial-size-1"><p>100 piksel, 50 piksel</p></div> <div class="radial-size-2"><p>70% 90% di <br />kiri bawah</p></div> <div class="radial-various-1"><p>berbagai 1</p></div> <div class="radial-various-2"><p>berbagai 2</p></div> </bagian> <bagian kelas="warna-berhenti"> <div class="color-stops-1"><p>kuning 10%, hijau</p></div> <div class="color-stops-2"><p>ke kanan atas, kuning, <br>hijau 70%, <br>biru</p></div> </bagian> </tubuh> </html>
tubuh { padding: 1.25em; /* 20px/16px, jadi 20px di setiap sisi */ ukuran font: 100%; } div { mengapung: kiri; tinggi: 150 piksel; margin: 10 piksel; lebar: 150 piksel; } P { warna: #fff; font: tebal 1,25em/1 sans-serif; /* 20px/16px */ bantalan-atas: 1,65em; /* 33px/16px */ perataan teks: tengah; } /* CATATAN: Gradien di bawah ini ada dalam sintaksis CSS3 standar. Browser yang mendukungnya adalah Chrome 26+, Firefox 16+, IE 10+, dan Opera 12.10+. Lihat gradien-dengan-browser-prefixes.css untuk hal yang sama efek gradien, tetapi dengan kode awalan vendor juga disertakan sehingga gradien akan berfungsi pada beberapa browser lama. Latar belakang dengan komentar "fallback" adalah warna yang akan ditampilkan di browser yang tidak mendukung sintaksis gradien. Anda juga dapat menggunakan gambar latar sebagai cadangan (baik sendiri atau dikombinasikan dengan warna). Misalnya, background: red url(gradient-image.jpg) no-repeat; . /* GRADIEN LINEAR ------------------------------------------ */ /* :::: Vertikal :::: */ .vertikal-bawah { latar belakang: perak; /* mundur */ /* gradien default, jadi Anda tidak perlu menentukan "ke bawah" sebelum warna */ latar belakang: gradien linier (perak, hitam); } .vertikal-up { latar belakang:perak; latar belakang: gradien linier (ke atas, perak, hitam); } /* :::: Horisontal :::: */ .horizontal-rt { latar belakang: perak; /* mundur */ latar belakang: gradien linier (ke kanan, perak, hitam); } .horizontal-lt { latar belakang: perak; /* mundur */ latar belakang: gradien linier (ke kiri, perak, hitam); } /* :::: Sudut Diagonal :::: */ /* Catatan: Gambar di halaman 377 menunjukkan aqua sebagai warna cadangan, tapi saya sudah menggantinya menjadi navy di bawah karena teks berwarna putih akan lebih mudah dibaca dengan latar belakang navy */ .angle-bot-rt { latar belakang: angkatan laut; /* mundur */ latar belakang: gradien linier (ke kanan bawah, aqua, navy); } .angle-bot-lt { latar belakang: angkatan laut; /* mundur */ latar belakang: gradien linier (ke kiri bawah, aqua, navy); } .angle-top-rt { latar belakang: angkatan laut; /* mundur */ latar belakang: gradien linier (ke kanan atas, aqua, navy); } .angle-top-lt { latar belakang: angkatan laut; /* mundur */ latar belakang: gradien linier (ke kiri atas, aqua, navy); } /* :::: Sudut melalui Derajat :::: */ .angle-120deg { latar belakang: angkatan laut; /* mundur */ latar belakang: gradien linier (120 derajat, aqua, angkatan laut); } .angle-290deg { latar belakang: angkatan laut; /* mundur */ latar belakang: gradien linier (290 derajat, aqua, angkatan laut); } /* GRADIEN RADIAL ------------------------------------------ */ /* :::: Radial :::: */ .radial p { bayangan-teks: 0 0 3px #000; } .radial-pusat { latar belakang: merah; /* mundur */ latar belakang: gradien radial(kuning, merah); /* default */ } .radial-atas { latar belakang: merah; /* mundur */ latar belakang: gradien radial (di atas, kuning, merah); } .radial-ukuran-1 { latar belakang: merah; /* mundur */ latar belakang: radial-gradient(100px 50px, kuning, merah); } .radial-ukuran-2 { latar belakang: merah; /* mundur */ latar belakang: gradien radial (70% 90% di kiri bawah, kuning, merah); } .radial-berbagai-1 { latar belakang: merah; /* mundur */ latar belakang: radial-gradient (sisi terdekat pada 70px 60px, kuning, kapur, merah); } .radial-berbagai-2 { latar belakang: merah; /* mundur */ latar belakang: radial-gradient(30px 30px pada 65% 70%, kuning, kapur, merah); } /* GRADIEN LINEAR DENGAN WARNA BERHENTI ------------------------------------------ */ .color-stop div { margin-bawah: 30 piksel; } .warna-berhenti p { padding-atas: 25px; bayangan-teks: 0 0 3px #000; } .color-stop-2 p { ukuran font: 18px; tinggi garis: 1,05; } .color-stop-1 { latar belakang: hijau; /* mundur */ latar belakang: gradien linier (kuning 10%, hijau); } .color-stop-2 { latar belakang: hijau; /* mundur */ latar belakang: gradien linier (ke kanan atas, kuning, hijau 70%, biru); }
Masukkan background: color
atau background-color: color
, di mana color
dapat berupa angka heksadesimal, nilai RGB, atau nama warna lain yang didukung. Sebaiknya jangan gunakan nilai RGBA, HSL, atau HSLA sebagai warna latar belakang cadangan (jangan khawatir jika Anda tidak berencana mendukung IE), karena IE8 dan versi sebelumnya tidak mendukungnya.
background: linear-gradient(
. Jika Anda ingin arah gradien dari atas ke bawah (arah default), Anda dapat melewati langkah ini. Tambahkan koma setelah arah masukan, dan arahnya merujuk to top
, to right
, to bottom right
, to top right
, dll. Atau tambahkan koma setelah arah masukan, yang arah mengacu pada nilai sudut (misalnya 45deg
, 107deg
, dll.). Tentukan warna gradien sesuai dengan "warna yang ditentukan" yang disebutkan nanti );
background: radial-gradient(
. Tentukan bentuk gradien. Jika ingin menentukan ukurannya, Anda dapat menentukan sendiri berdasarkan ukuran yang ditentukan pada langkah ketiga. Jika tidak, masukkan circle
atau ellipse
. Tentukan ukuran gradien gradien Jika Anda ingin ukuran menjadi nilai yang ditentukan secara otomatis (nilai default adalah ·sudut terjauh·, sudut terjauh), jika tidak, masukkan nilai panjang yang mewakili lebar dan tinggi gradien (seperti 200px
atau 7em
) atau a. sepasang nilai yang mewakili lebar dan tinggi ( 390px
175px
atau 60%
85%
) Perhatikan bahwa jika hanya satu nilai yang digunakan, nilainya tidak boleh berupa persentase atau masukkan closest-side
, farthest-side
, closest-corner
atau farthest-corner
. Kata kunci ini mewakili seberapa jauh gradien dapat meregang relatif terhadap pusatnya. Batas menentukan ukuran gradien at right
Anda dapat melewati langkah ini jika Anda ingin gradien dimulai dari at top
elemen. at bottom left
, at top right
, dll. untuk mewakili nilai posisi tengah gradien. Atau masukkan sepasang koordinat yang mewakili posisi tengah gradien, dimulai dengan at
, misalnya at 200px 43px
, at 30% 40%
, at 50% -10px
, dll. Tentukan warna gradien );
Gunakan atribut opacity
untuk mengubah transparansi suatu elemen. Caranya adalah dengan memasukkan opacity: x
, di mana x
mewakili opacity elemen (dua desimal, tanpa satuan).
Nilai default opacity
adalah 1 (sepenuhnya buram), dan rentangnya adalah 0~1
.
Dengan menggunakan atribut opacity
dan atribut semu :hover
, Anda dapat menghasilkan beberapa efek yang menarik dan praktis. Misalnya, img { opacity: .75; }
dapat menyetel gambar ke 75% opacity secara default, img:hover { opacity: 1; }
dapat menyebabkan elemen menjadi buram saat pengguna mengarahkan mouse ke gambar tersebut. Efek ini sering terlihat ketika menghubungkan thumbnail ke versi ukuran penuh. Bagi pengunjung, levitasi meningkatkan pergerakan gambar.
Atribut opacity
dan pengaturan warna latar belakang transparan menggunakan RGBA atau HSLA adalah dua konsep yang mudah membingungkan. opacity
mempengaruhi keseluruhan elemen (termasuk isinya), sedangkan background-color: rgba(128,0,64,.6);
pengaturan seperti itu hanya mempengaruhi transparansi latar belakang.
Menggunakan elemen semu :before
dan :after
adalah cara terbaik untuk menambahkan beberapa efek desain luar biasa ke halaman Anda. Mereka dapat digabungkan dengan atribut content
untuk membuat apa yang disebut konten yang dihasilkan. Konten yang dihasilkan mengacu pada konten yang dibuat melalui CSS, bukan HTML.
... <p>Area ini adalah salah satu ruang paling tenang di Villa. Saat saya berjalan-jalan, menikmati keteduhan yang disediakan oleh pohon sycamore dan pohon laurel serta diiringi gemericik air dari dua air mancur pahatan, mau tak mau saya berpikir … href="victoria.html" class="more">Baca Selengkapnya</a></p> ...
/* Konten yang dihasilkan */ .more:setelah { isi: " ""; }
Melalui kode di atas, elemen dengan class="more"
dapat menampilkan panah ganda setelahnya. Jika perlu diubah di kemudian hari, Anda hanya perlu memodifikasi kelas .more
tanpa mengubah banyak halaman HTML.
Teks ditampilkan dengan cepat di browser, namun gambar cenderung memperlambat pemuatan halaman. Untuk mengatasi masalah ini, Anda dapat menggabungkan beberapa gambar menjadi satu gambar latar belakang ( sprite
), lalu mengontrol bagian gambar mana yang ditampilkan melalui CSS, menggunakan atribut background-position
.
.dokumen li { margin-atas: .45em; } /* Setiap link dalam HTML memiliki kelas ini */ .ikon { tampilan: blok sebaris; tinggi garis: 1.1; ukuran font: .875em; min-height: 16px; /* disetel ke tinggi ikon sehingga tidak terpotong sama sekali */ padding-kiri: 23px; padding-atas: 2px; /* memungkinkan penempatan ikon secara relatif terhadap elemen dengan class="icon" di HTML */ posisi: relatif; } .icon:sebelum { gambar latar belakang: url(../img/sprite.png); isi: " "; tampilan: blok; tinggi: 16 piksel; /* tinggi ikon */ kiri: 0; /* default. ubah ini jika ingin ikon muncul di tempat berbeda */ posisi: mutlak; lebar: 16 piksel; /* lebar ikon */ top: 0; /* default. ubah ini jika ingin ikon muncul di tempat yang berbeda */ } /* Pergeseran posisi gambar sprite untuk nama file dokumen apa pun yang diakhiri dengan .xls */ a[href$=".xls"]:sebelum { posisi latar belakang: -17px 0; } /* Pergeseran posisi gambar sprite untuk nama file dokumen apa pun yang diakhiri dengan .docx */ a[href$=".docx"]:sebelum { posisi latar belakang: -34px 0; }
sprite
dapat diterapkan ke sejumlah elemen apa pun. Dalam contoh di atas, gunakan .icon:before
untuk mencapai efek yang diinginkan. Dengan cara ini, sprite
adalah gambar latar belakang ruang yang dihasilkan oleh content: " ";
. Atur ke display: block;
sehingga Anda dapat mengatur tinggi dan lebar agar sesuai dengan ukuran ikon. Tanpa ketiga properti tersebut, gambar tidak akan ditampilkan. Dengan menggunakan background-position
Anda dapat meletakkan ikon yang benar pada posisi tersebut.
Ini menyimpulkan artikel tentang penggunaan CSS3 untuk meningkatkan efek gaya. Untuk informasi lebih lanjut tentang peningkatan efek gaya CSS3, silakan cari artikel sebelumnya di downcodes.com atau lanjutkan menelusuri artikel terkait di bawah.