Install Web App

CSS

Belajar CSS #96 | CSS Variables Part 3

profil-penulis

Mahardika Oktadiansyah

10 April 2025

CSS memungkinkan kita untuk menggunakan variabel yang bisa diubah dengan JavaScript. Ini berarti kita bisa membuat dan memodifikasi nilai variabel CSS menggunakan kode JavaScript.

Di bawah ini, saya akan jelaskan dengan cara yang lebih mudah:

  1. Mengakses elemen root
    Kita dapat mengakses elemen :root menggunakan JavaScript. :root adalah elemen utama di halaman web, yang sering digunakan untuk mendeklarasikan variabel CSS.

  2. Mengambil nilai variabel CSS
    Kita dapat membuat fungsi untuk mengambil nilai variabel CSS yang sudah didefinisikan. Dalam contoh ini, kita akan mengambil nilai dari variabel --blue.

  3. Mengubah nilai variabel CSS
    Kita bisa mengubah nilai variabel CSS menggunakan JavaScript. Fungsi yang akan dibuat di sini akan mengubah nilai variabel --blue menjadi lightblue.

Berikut adalah contoh kode untuk mendemonstrasikan hal ini: 

Contoh Kode

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>CSS Variables with JavaScript</title>
  <style>
    :root {
      --blue: #0000ff; /* Menetapkan nilai awal untuk variabel --blue */
    }

    body {
      background-color: var(--blue); /* Menggunakan variabel --blue untuk latar belakang */
    }
  </style>
</head>
<body>

  <h1>Ubah Nilai Variabel CSS dengan JavaScript</h1>
  
  <button onclick="myFunction_get()">Lihat Nilai --blue</button>
  <button onclick="myFunction_set()">Ubah Nilai --blue</button>

  <script>
    // Mengakses elemen root
    var r = document.querySelector(':root');

    // Fungsi untuk mendapatkan nilai variabel
    function myFunction_get() {
      var rs = getComputedStyle(r); // Mendapatkan style yang diterapkan pada root
      alert("Nilai --blue saat ini adalah: " + rs.getPropertyValue('--blue')); // Menampilkan nilai variabel --blue
    }

    // Fungsi untuk mengubah nilai variabel
    function myFunction_set() {
      r.style.setProperty('--blue', 'lightblue'); // Mengubah nilai variabel --blue menjadi lightblue
    }
  </script>

</body>
</html>

berikut hasilnya:

Penjelasan:

  • Pada awalnya, variabel CSS --blue di-set dengan nilai warna biru (#0000ff).

  • Ada dua tombol:

    1. Lihat Nilai --blue: Ketika tombol ini diklik, fungsi myFunction_get() akan menampilkan nilai saat ini dari variabel --blue.

    2. Ubah Nilai --blue: Ketika tombol ini diklik, fungsi myFunction_set() akan mengubah nilai dari variabel --blue menjadi lightblue.

Dengan kode ini, kita dapat berinteraksi dengan variabel CSS menggunakan JavaScript untuk melihat dan mengubah nilainya secara dinamis.

CSS memungkinkan kita untuk menggunakan variabel dalam media queries. Media queries digunakan untuk menerapkan aturan gaya yang berbeda pada berbagai ukuran layar, misalnya untuk desktop, tablet, atau ponsel. Dengan media queries, kita bisa mengubah nilai variabel CSS agar tampilan halaman web menyesuaikan dengan ukuran layar perangkat.

Penjelasan:

  • Variabel CSS dideklarasikan di dalam :root agar bisa digunakan di seluruh halaman.

  • Pada contoh pertama, variabel --fontsize diatur untuk elemen .container, dengan nilai awal 25px.

  • Kemudian, dalam media query, kita bisa mengubah nilai variabel --fontsize menjadi 50px ketika lebar layar mencapai 450px atau lebih lebar.

  • Di contoh kedua, selain mengubah --fontsize di dalam media query, kita juga mengubah variabel --blue menjadi lightblue ketika layar lebih lebar dari 450px.

Kode Lengkap:

Contoh 1: Mengubah --fontsize dengan Media Query

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>CSS Variables in Media Queries</title>
  <style>
    /* Deklarasi Variabel */
    :root {
      --blue: #1e90ff;
      --white: #ffffff;
    }

    .container {
      --fontsize: 25px; /* Set ukuran font default */
    }

    /* Gaya Umum */
    body {
      background-color: var(--blue);
    }

    h2 {
      border-bottom: 2px solid var(--blue);
    }

    .container {
      color: var(--blue);
      background-color: var(--white);
      padding: 15px;
      font-size: var(--fontsize); /* Gunakan variabel --fontsize */
    }

    /* Media Query untuk layar lebih lebar dari 450px */
    @media screen and (min-width: 450px) {
      .container {
        --fontsize: 50px; /* Ubah ukuran font */
      }
    }
  </style>
</head>
<body>

  <h1>CSS Variables in Media Queries</h1>
  <h2>Contoh Penggunaan Variabel dalam Media Query</h2>

  <div class="container">
    <p>Ini adalah kontainer yang akan mengubah ukuran font berdasarkan lebar layar.</p>
  </div>

</body>
</html>

berikut hasilnya:

Contoh 2: Mengubah --blue dan --fontsize dalam Media Query

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>CSS Variables in Media Queries</title>
  <style>
    /* Deklarasi Variabel */
    :root {
      --blue: #1e90ff;
      --white: #ffffff;
    }

    .container {
      --fontsize: 25px; /* Set ukuran font default */
    }

    /* Gaya Umum */
    body {
      background-color: var(--blue);
    }

    h2 {
      border-bottom: 2px solid var(--blue);
    }

    .container {
      color: var(--blue);
      background-color: var(--white);
      padding: 15px;
      font-size: var(--fontsize); /* Gunakan variabel --fontsize */
    }

    /* Media Query untuk layar lebih lebar dari 450px */
    @media screen and (min-width: 450px) {
      .container {
        --fontsize: 50px; /* Ubah ukuran font */
      }
      :root {
        --blue: lightblue; /* Ubah warna latar belakang */
      }
    }
  </style>
</head>
<body>

  <h1>CSS Variables in Media Queries</h1>
  <h2>Contoh Penggunaan Variabel dalam Media Query</h2>

  <div class="container">
    <p>Ini adalah kontainer yang akan mengubah ukuran font dan warna latar belakang berdasarkan lebar layar.</p>
  </div>

</body>
</html>

berikut hasilnya:

Penjelasan Kode:

  1. Deklarasi Variabel: Variabel --blue dan --white didefinisikan di dalam :root, yang berarti dapat digunakan di seluruh halaman.

  2. Container Class: Untuk elemen .container, variabel --fontsize diatur ke 25px. Ukuran font ini akan digunakan di seluruh elemen dengan kelas .container.

  3. Media Query: Jika lebar layar mencapai 450px atau lebih lebar, ukuran font diubah menjadi 50px, dan warna latar belakang (variabel --blue) juga berubah menjadi lightblue.

Dengan cara ini, kita bisa membuat tampilan halaman yang lebih responsif, yang menyesuaikan elemen-elemen sesuai dengan ukuran layar perangkat pengguna.

 

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