Install Web App

CSS

Mempercantik Pengalaman Pengguna dengan Efek Hover Menggunakan Selector CSS :has()

profil-penulis

Nuzul Karomah

21 Maret 2024

 

Efek Hover menggunakan :has() adalah teknik CSS yang memungkinkan Anda menerapkan gaya ke sebuah elemen ketika elemen tersebut mengandung elemen lain. Ini bisa sangat berguna untuk membuat interaksi visual yang menarik, terutama dalam desain web.

.image-gallery { 
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 50rem;
  margin-inline: auto;
}

.image-gallery > img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  transition: scale 350ms ease, 
  opacity 350ms linear;
}

.image-gallery:has(img:hover) img:not(:hover) {
  scale: .8;
  opacity: .7;
}

Script di atas adalah contoh penggunaan CSS untuk membuat galeri gambar dengan efek hover menggunakan selector :has(). Mari kita bahas setiap bagian dari kode tersebut:

  1. .image-gallery: Ini adalah kelas CSS yang digunakan untuk menetapkan gaya pada elemen yang merupakan bagian dari galeri gambar.

  2. display: grid;: Properti CSS ini mengatur tata letak elemen menjadi grid, memungkinkan kita untuk menata gambar-gambar dalam bentuk grid.

  3. grid-template-columns: repeat(3, 1fr);: Ini menetapkan tiga kolom dengan lebar yang sama untuk grid galeri. Dengan kata lain, galeri akan memiliki tiga gambar per baris.

  4. max-width: 50rem;: Ini mengatur lebar maksimum galeri menjadi 50 rem, sehingga galeri tidak akan melebar lebih dari itu.

  5. margin-inline: auto;: Ini digunakan untuk memusatkan galeri secara horizontal di dalam kontainer induknya.

  6. .image-gallery > img: Ini adalah aturan CSS yang menargetkan elemen img yang langsung menjadi anak dari elemen dengan kelas .image-gallery.

  7. width: 100%;: Ini mengatur lebar gambar agar mengisi seluruh lebar kolom dalam grid.

  8. aspect-ratio: 1/1;: Ini mengatur rasio aspek gambar menjadi 1:1, sehingga gambar akan tetap terlihat proporsional tanpa menjadi terlalu terdistorsi.

  9. object-fit: cover;: Properti ini memastikan bahwa gambar akan diposisikan dan diperbesar atau diperkecil sedemikian rupa sehingga selalu terisi penuh di dalam kotak gambar, tanpa mempertahankan aspek rasio asli.

  10. transition: scale 350ms ease, opacity 350ms linear;: Ini adalah efek transisi yang diterapkan saat gambar dihover. Gambar akan teranimasi dengan perubahan skala dan opasitas selama 350ms.

  11. .image-gallery:has(img:hover) img:not(:hover): Ini adalah aturan CSS yang menggunakan selector :has() untuk memilih .image-gallery yang memiliki gambar yang sedang dihover. Kemudian, aturan ini memilih gambar-gambar dalam galeri yang tidak sedang dihover, dan memberikan efek scaling dan penurunan opasitas pada gambar-gambar tersebut untuk menyorot gambar yang sedang dihover.

Dengan demikian, script di atas menciptakan galeri gambar dengan efek hover yang memperbesar dan menurunkan opasitas gambar-gambar yang tidak sedang dihover, sehingga membuat gambar yang sedang dihover lebih menonjol.

Artikel Lainnya Dengan Kategori Terkait :


1. 1 Menit Langsung Paham GAP Property CSS

2. 3 Trik Pada CSS

3. 4 Layout CSS Modern

4. 5 Tata Letak Modern di CSS

5. 5 Website Generator CSS

6. ALIGN ITEMS

7. ALIGN-SELF

8. Beberapa Cara Untuk Memusatkan Item Menggunakan CSS

9. Beberapa Contoh Gaya Powerfull Snippet

10. Beberapa Variasi Style CSS Button

11. Belajar CSS #01 | Apa Itu CSS?

12. Belajar CSS #02 | Inline CSS

13. Belajar CSS #03 | Internal CSS

14. Belajar CSS #04 | External CSS

15. Belajar CSS #05 | Syntax CSS

16. Belajar CSS #06 | Belajar lebih banyak cara menggunakan CSS Selector

17. Belajar CSS #07 | Pseudo-class

18. Belajar CSS #08 | Definisi Box Model

19. Belajar CSS #09 | Perhitungan Ukuran Lebar dan Tinggi Box Model

20. Belajar CSS #10 | box-sizing: border-box

21. Belajar CSS #11 | Display block

22. Belajar CSS #12 | Belajar display-inline

23. Belajar CSS #13 | Belajar Display Inline Block

24. Belajar CSS #14 | Position-static

25. Belajar CSS #15 | Position-relative

26. Belajar CSS #16 | position absolute

27. Belajar CSS #17 | position fixed

28. Belajar CSS #18 | Position Sticky

29. Belajar CSS #19 | Web Responsif - Viewport

30. Belajar CSS #20 | Menggunakan presentase untuk menentukan nilai lebar

31. Belajar CSS #21 | Properti Max width 100%

32. Belajar CSS #22 | Satuan "VW" Viewport Width

33. Belajar CSS #23 | Media query

34. Belajar CSS #24 | Belajar display-inline

35. Belajar CSS #25 | Display-none

36. Belajar CSS #26 | Macam Macam Background CSS

37. Belajar CSS #27 | Macam-Macam Borders CSS

38. Belajar CSS #28 | Macam-Macam Margins CSS

39. Belajar CSS #29 | CSS Padding: Panduan Singkat

40. Belajar CSS #30 | CSS Height, Width, dan Max-width

41. Belajar CSS #31 | Memahami CSS Box Model

42. Belajar CSS #32 | Macam Macam CSS Outline Part1

43. Belajar CSS #33 | Macam Macam CSS Outline Part 2

44. Belajar CSS #34 | Macam Macam CSS Text Part 1

45. Belajar CSS #35 | Macam Macam CSS Text Part 2

46. Belajar CSS #36 | Macam Macam CSS Fonts Part 1

47. Belajar CSS #37 | Macam Macam CSS Fonts Part 2

48. Belajar CSS #38 | Macam Macam CSS Fonts Part 3

49. Belajar CSS #39 | Icons di CSS

50. Belajar CSS #40 | Link di CSS

51. Belajar CSS #41 | CSS Lists (Daftar dalam CSS)

52. Belajar CSS #42 | Macam Macam CSS Table Part 1

53. Belajar CSS #43 | Macam Macam CSS Table Part 2

54. Belajar CSS #44 | CSS Layout - Properti display

55. Belajar CSS #45 | CSS Layout - width and max-width

56. Belajar CSS #46 | Memahami Properti position dalam CSS

57. Belajar CSS #47 | Apa itu z-index?

58. Belajar CSS #48 | Overflow dalam CSS

59. Belajar CSS #49 | CSS Float dan Clear

60. Belajar CSS #50 | CSS Align

61. Belajar CSS #51 | CSS Combinators

62. Belajar CSS #52 | CSS Pseudo-classes

63. Belajar CSS #53 | CSS Pseudo-elements

64. Belajar CSS #54 | CSS Opacity

65. Belajar CSS #55 | CSS Navigation Bar Part 1

66. Belajar CSS #56 | CSS Navigation Bar Part 2

67. Belajar CSS #57 | CSS Dropdowns

68. Belajar CSS #58 | CSS Image Gallery

69. Belajar CSS #59 | CSS Image Sprites

70. Belajar CSS #60 | CSS Attribute Selectors

71. Belajar CSS #61 | CSS Forms

72. Belajar CSS #62 | CSS Counters

73. Belajar CSS #63 | CSS Website Layout

74. Belajar CSS #64 | CSS Units

75. Belajar CSS #65 | CSS Specificity

76. Belajar CSS #66 | important dalam CSS

77. Belajar CSS #67 | CSS Math Functions

78. Belajar CSS #68 | CSS Border Images

79. Belajar CSS #69 | CSS Multiple Backgrounds

80. Belajar CSS #70 | CSS Colors

81. Belajar CSS #71 | CSS Color Keywords

82. Belajar CSS #72 | CSS Gradients Part 1

83. Belajar CSS #73 | CSS Gradients Part 2

84. Belajar CSS #74 | CSS Gradients Part 3

85. Belajar CSS #75 | CSS Shadow Part 1

86. Belajar CSS #76 | CSS Shadow Part 2

87. Belajar CSS #77 | CSS Text Effects

88. Belajar CSS #78 | CSS Web Fonts

89. Belajar CSS #79 | CSS 2D Transforms

90. Belajar CSS #80 | CSS 3D Transforms

91. Belajar CSS #81 | CSS Transitions

92. Belajar CSS #82 | CSS Animations

93. Belajar CSS #83 | CSS Tooltip

94. Belajar CSS #84 | CSS Styling Images

95. Belajar CSS #85 | CSS Centering Images

96. Belajar CSS #86 | CSS Image Filter

97. Belajar CSS #87 | CSS Image Shapes

98. Belajar CSS #88 | CSS object-fit

99. Belajar CSS #89 | CSS object-position

100. Belajar CSS #90 | CSS Buttons

101. Belajar CSS #91 | CSS Pagination

102. Belajar CSS #92 | CSS Multiple Columns

103. Belajar CSS #93 | CSS User Interface

104. Belajar CSS #94 | CSS Variables Part 1

105. Belajar CSS #95 | CSS Variables Part 2

106. Belajar CSS #96 | CSS Variables Part 3

107. Belajar CSS #97 | CSS @property

108. Belajar CSS #98 | CSS Box Sizing

109. Belajar CSS #99 | CSS Media Queries

110. Belajar CSS Lanjutan #100 | CSS Media Queries - Examples Part 1

111. Belajar CSS Lanjutan #101 | CSS Media Queries - Examples Part 2

112. Belajar CSS Lanjutan #102 | CSS Flexbox

113. Belajar CSS Lanjutan #103 | CSS Flex Container Part 1

114. Belajar CSS Lanjutan #104 | CSS Flex Container Part 2

115. Belajar CSS Lanjutan #105 | CSS Flex Container Part 3

116. Belajar CSS Lanjutan #106 | CSS Flex Container Part 4

117. Belajar CSS Lanjutan #107 | CSS Flex Items

118. Belajar CSS Lanjutan #108 | CSS Responsive Flexbox

119. Belajar CSS Lanjutan #109 | CSS Grid Layout Module

120. Belajar CSS Lanjutan #110 | CSS Grid Columns Part 1

121. Belajar CSS Lanjutan #111 | CSS Grid Columns Part 2

122. Belajar CSS Lanjutan #112 | CSS Grid Container Part 1

123. Belajar CSS Lanjutan #113 | CSS Grid Container Part 2

124. Belajar CSS Lanjutan #114 | CSS Grid Container Part 3

125. Belajar CSS Lanjutan #115 | CSS Grid Item Part 1

126. Belajar CSS Lanjutan #116 | CSS Grid Item Part 2

127. Belajar CSS Lanjutan #117 | CSS Grid Item Part 3

128. Belajar CSS Lanjutan #118 | Responsive Web Design - Pengenalan

129. Belajar CSS Lanjutan #119 | Responsive Web Design - The Viewport

130. Belajar CSS Lanjutan #120 | Responsive Web Design - Building a Grid View

131. Belajar CSS Lanjutan #121 | Responsive Web Design - Media Queries

132. Belajar CSS Lanjutan #122 | Responsive Web Design - Images

133. Belajar Membuat Fitur Interaktif Efek Flipping Card Menggunakan CSS

134. Belajar Mengenal Neon Text Pada CSS

135. Buat Desain Web Responsif CSS

136. Cara Membuat Badges Dengan HTML & CSS

137. Cara Membuat Balon Obrolan dengan CSS

138. Cara Membuat Efek Teks Berisi Gambar Pakai CSS

139. Cara Membuat Pemisah Antar Elemen di CSS

140. Cara Membuat Underline Tabs CSS

141. Cara Mengatur Proporsi Sebuah Teks di CSS

142. Contoh Penggunaan Grid Shorthand Area

143. CSS Media Queries

144. CSS MODERN LAYOUT

145. CSS Positioning

146. CSS SHORTHAND

147. Explorasi CSS Pulse Loader: Cara Efektif Membuat Animasi Form dengan CSS

148. Faded Background in CSS

149. GAP IN CSS FLEXBOX

150. Gaya Kartu Retro dalam Desain Web dengan CSS

151. Hover Effect Menggunakan CSS

152. How to Make Border Radius in CSS

153. How to make Card-Profile

154. Implementasi Aminasi Label Menggunakan CSSS

155. Implementasi Aspect - ratio CSS

156. Implementasi Jam Analog Sederhana

157. Input HTML Yang Perlu Diketahui

158. Insert Properti dalam CSS: Kunci Mengatur Jarak dalam Elemen HTML

159. Kembangkan Tampilanmu: 10 Trik Keren dengan CSS Filter 😎

160. Macam-Macam Properti Di CSS

161. Mask Text With Image In CSS

162. Memahami Anatomi CSS: Gaya yang Tepat untuk Elemen HTML

163. Memahami Efek Vignette dalam Desain Grafis dan Implementasinya dalam Kode HTML/CSS

164. Memahami Konsep Stretch Background dalam Desain Web : Membuat Gambar Latar Belakang Sesuai dengan Ukuran Elemen

165. Memahami Persingkatan CSS untuk Font: Penggunaan Singkat yang Efisien

166. Memahami Responsivitas Web dengan CSS :hover

167. Membuat Bentuk Organik yang Unik Menggunkan Simple Blob Shape

168. Membuat Button Menggunakan Tag Button

169. Membuat Latar Belakang "Faded" yang Elegan dengan CSS

170. Membuat Layout Yang Responsif Dengan CSS

171. Membuat Tampilan yang lebih Teratur menggunakan Elemen Opgroup dalam Select HTML

172. Membuat Tata Letak Secara Vertikal dan Horizontal dengan CSS Grid

173. Membuat Teks Lebih Menarik dengan CSS: Menggunakan Properti text-decoration

174. Mempelajari Border Pada CSS dan Trik Penulisan Singkat

175. Mempelajari Button Menggunakan Tag Button

176. Mempelajari Filter Blur Pada CSS

177. Mempelajari Penggunaan Margin dalam CSS

178. Mempelajari Selector :active Pada CSS

179. Mempercantik Pengalaman Pengguna dengan Efek Hover Menggunakan Selector CSS :has()

180. Mengatasi Teks Panjang dengan Efek Elipsis Long Text

181. Mengenal 3 Trik Pemusatan div

182. Mengenal CSS Clip-Path: Memotong Elemen dengan Berbagai Bentuk

183. Mengenal CSS Shapes: Membuat Bentuk-Bentuk Kreatif di Halaman Web

184. Mengenal Efek Kaca Glassmorphism Pada CSS

185. Mengenal Flex Wrap Pada CSS

186. Mengenal Flexbox - Flex Direction CSS

187. Mengenal Macam-macam Border Pada CSS

188. Mengenal Nilai Selector :nth-child() dalam CSS

189. Mengenal Properti CSS accent-color dan Penggunaannya

190. Mengenal Sematik Pada HTML

191. Menggunakan :is() untuk Menyederhanakan Selektor yang Rumit dalam CSS

192. Menggunakan Pseudo-Class :is() untuk Menjadikan Tombol Lebih Interaktif

193. Mengoptimalkan Tampilan Halaman Web dengan Media Query Orientation

194. Perbedaan Antara 'box-shadow' dan 'drop-shadow' dalam CSS untuk Efek Bayangan🌟

195. Perbedaan Antara content-box dan border-box dalam CSS:

196. Perbedaan Box Shadow vs Drop Shadow

197. Properti Justify-Content dalam CSS Flexbox

198. Pseudo-Class :has() dalam CSS

199. Responsive Button

200. Retro Card In CSS

201. Sebuah Trik Script Singkat Menggunakan CSS

202. Snippet

203. Stlanted Section

204. Syntax Baru Rentang Media Query pada CSS

205. TABULAR NUMBERS

206. Tampilan Modern dan Fungsional: Memahami Keunggulan Blur Sticky Navbar dalam Desain Situs Web

207. Tips Dasar CSS Yang Perlu Diketahui

208. Tips untuk Menggunakan Border Radius dalam Desain 🌟

209. Unveiling Hidden CSS Tricks

210. Zoom on hover

Masuk Terlebih dahulu untuk berkomentar

Paling baru
Lihat Lainnya