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 CSS Lanjutan #123 | Responsive Web Design - Frameworks

134. Belajar CSS Lanjutan #124 | Sass Tutorial

135. Belajar CSS Lanjutan #125 | Sass Introduction

136. Belajar CSS Lanjutan #126 | Sass Installation

137. Belajar CSS Lanjutan #127 | Sass Variables

138. Belajar CSS Lanjutan #128 | Sass Nested Rules dan Properties

139. Belajar CSS Lanjutan #129 | Sass @import and Partials

140. Belajar CSS Lanjutan #130 | Sass @mixin and @include

141. Belajar CSS Lanjutan #131 | Sass @extend and Inheritance

142. Belajar CSS Lanjutan #132 | Sass String Functions

143. Belajar CSS Lanjutan #133 | Sass Numeric Functions

144. Belajar CSS Lanjutan #134 | Sass List Functions

145. Belajar CSS Lanjutan #135 | Sass Map Functions

146. Belajar CSS Lanjutan #136 | Sass Selector Functions

147. Belajar CSS Lanjutan #137 | Sass Introspection Functions

148. Belajar CSS Lanjutan #138 | CSS Online Editor

149. Belajar CSS Lanjutan #139 | Sass Color Functions

150. Belajar CSS Lanjutan #140 | CSS Syllabus

151. Belajar CSS Lanjutan #141 | Rencana Belajar CSS

152. Belajar Membuat Fitur Interaktif Efek Flipping Card Menggunakan CSS

153. Belajar Mengenal Neon Text Pada CSS

154. Buat Desain Web Responsif CSS

155. Cara Membuat Badges Dengan HTML & CSS

156. Cara Membuat Balon Obrolan dengan CSS

157. Cara Membuat Efek Teks Berisi Gambar Pakai CSS

158. Cara Membuat Pemisah Antar Elemen di CSS

159. Cara Membuat Underline Tabs CSS

160. Cara Mengatur Proporsi Sebuah Teks di CSS

161. Contoh Penggunaan Grid Shorthand Area

162. CSS Media Queries

163. CSS MODERN LAYOUT

164. CSS Positioning

165. CSS SHORTHAND

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

167. Faded Background in CSS

168. GAP IN CSS FLEXBOX

169. Gaya Kartu Retro dalam Desain Web dengan CSS

170. Hover Effect Menggunakan CSS

171. How to Make Border Radius in CSS

172. How to make Card-Profile

173. Implementasi Aminasi Label Menggunakan CSSS

174. Implementasi Aspect - ratio CSS

175. Implementasi Jam Analog Sederhana

176. Input HTML Yang Perlu Diketahui

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

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

179. Macam-Macam Properti Di CSS

180. Mask Text With Image In CSS

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

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

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

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

185. Memahami Responsivitas Web dengan CSS :hover

186. Membuat Bentuk Organik yang Unik Menggunkan Simple Blob Shape

187. Membuat Button Menggunakan Tag Button

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

189. Membuat Layout Yang Responsif Dengan CSS

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

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

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

193. Mempelajari Border Pada CSS dan Trik Penulisan Singkat

194. Mempelajari Button Menggunakan Tag Button

195. Mempelajari Filter Blur Pada CSS

196. Mempelajari Penggunaan Margin dalam CSS

197. Mempelajari Selector :active Pada CSS

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

199. Mengatasi Teks Panjang dengan Efek Elipsis Long Text

200. Mengenal 3 Trik Pemusatan div

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

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

203. Mengenal Efek Kaca Glassmorphism Pada CSS

204. Mengenal Flex Wrap Pada CSS

205. Mengenal Flexbox - Flex Direction CSS

206. Mengenal Macam-macam Border Pada CSS

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

208. Mengenal Properti CSS accent-color dan Penggunaannya

209. Mengenal Sematik Pada HTML

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

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

212. Mengoptimalkan Tampilan Halaman Web dengan Media Query Orientation

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

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

215. Perbedaan Box Shadow vs Drop Shadow

216. Properti Justify-Content dalam CSS Flexbox

217. Pseudo-Class :has() dalam CSS

218. Responsive Button

219. Retro Card In CSS

220. Sebuah Trik Script Singkat Menggunakan CSS

221. Snippet

222. Stlanted Section

223. Syntax Baru Rentang Media Query pada CSS

224. TABULAR NUMBERS

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

226. Tips Dasar CSS Yang Perlu Diketahui

227. Tips untuk Menggunakan Border Radius dalam Desain 🌟

228. Unveiling Hidden CSS Tricks

229. Zoom on hover

Masuk Terlebih dahulu untuk berkomentar

Paling baru
Lihat Lainnya