CSS'teki Özellik Seçicilerinin Detayları
Bu makale, CSS'teki özellik seçicilerinin detaylarını açıklar.
Özellik seçicileri için ileri eşleşme, geri eşleşme ve kısmi eşleşme yazmayı öğrenebilirsiniz.
YouTube Video
Önizleme için HTML
css-attribute-selector.html
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>CSS Pseudo Class/Element</title>
7 <link rel="stylesheet" href="css-base.css">
8 <link rel="stylesheet" href="css-attribute-selector.css">
9</head>
10<body>
11 <!-- Header -->
12 <header>
13 <h1>CSS Attribute Selectors</h1>
14 </header>
15
16 <!-- Main content -->
17 <main>
18 <header><h2>CSS Attribute Selectors</h2></header>
19 <article>
20 <h3>element[attribute]</h3>
21 <section>
22 <header><h4>CSS</h4></header>
23<pre class="sample">
24a[target] {
25 font-weight: bold;
26}
27</pre>
28 <header><h4>HTML</h4></header>
29<pre>
30<a href="https://example.com" target="_blank">Example Link (target="_blank")</a>
31<a href="https://example.com">Example Link (no target)</a>
32</pre>
33 <header><h4>HTML+CSS</h4></header>
34 <section class="sample-view">
35 <a href="https://example.com" target="_blank">Example Link (target="_blank")</a>
36 <a href="https://example.com">Example Link (no target)</a>
37 </section>
38 </section>
39 </article>
40 <article>
41 <h3>element[attribute=value] : =</h3>
42 <section>
43 <header><h4>CSS</h4></header>
44<pre class="sample">
45input[type="text"] {
46 border: 2px solid green;
47}
48</pre>
49 <header><h4>HTML</h4></header>
50<pre>
51<input type="text" placeholder="Enter text here">
52<input type="password" placeholder="Password (no border)">
53<input type="text" placeholder="Another text input">
54</pre>
55 <header><h4>HTML+CSS</h4></header>
56 <section class="sample-view">
57 <input type="text" placeholder="Enter text here">
58 <input type="password" placeholder="Password (no border)">
59 <input type="text" placeholder="Another text input">
60 </section>
61 </section>
62 </article>
63 <article>
64 <h3>element[attribute^=value] : ^=</h3>
65 <section>
66 <header><h4>CSS</h4></header>
67<pre class="sample">
68a[href^="https://"] {
69 font-weight: bold;
70}
71</pre>
72 <header><h4>HTML</h4></header>
73<pre>
74<a href="https://example.com">Secure Link (https)</a>
75<a href="http://example.com">Non-Secure Link (http)</a>
76<a href="https://another-example.com">Another Secure Link (https)</a>
77</pre>
78 <header><h4>HTML+CSS</h4></header>
79 <section class="sample-view">
80 <a href="https://example.com">Secure Link (https)</a>
81 <a href="http://example.com">Non-Secure Link (http)</a>
82 <a href="https://another-example.com">Another Secure Link (https)</a>
83 </section>
84 </section>
85 </article>
86 <article>
87 <h3>element[attribute$=value] : $=</h3>
88 <section>
89 <header><h4>CSS</h4></header>
90<pre class="sample">
91img[src$=".jpg"] {
92 border-radius: 10px;
93}
94</pre>
95 <header><h4>HTML</h4></header>
96<pre>
97<img src="image.jpg" alt="JPG Image" width="100">
98<img src="pattern.png" alt="PNG Image (no border radius)" width="100">
99<img src="example.jpg" alt="Another JPG Image" width="100">
100</pre>
101 <header><h4>HTML+CSS</h4></header>
102 <section class="sample-view">
103 <img src="image.jpg" alt="JPG Image" width="100">
104 <img src="pattern.png" alt="PNG Image (no border radius)" width="100">
105 <img src="example.jpg" alt="Another JPG Image" width="100">
106 </section>
107 </section>
108 </article>
109 <article>
110 <h3>element[attribute*=value] : *=</h3>
111 <section>
112 <header><h4>CSS</h4></header>
113<pre class="sample">
114p[class*="highlight"] {
115 background-color: yellow;
116}
117</pre>
118 <header><h4>HTML</h4></header>
119<pre>
120<p class="highlight-text">This paragraph is highlighted.</p>
121<p class="normal-text">This paragraph is not highlighted.</p>
122<p class="text-highlight-important">This is another highlighted paragraph.</p>
123</pre>
124 <header><h4>HTML+CSS</h4></header>
125 <section class="sample-view">
126 <p class="highlight-text">This paragraph is highlighted.</p>
127 <p class="normal-text">This paragraph is not highlighted.</p>
128 <p class="text-highlight-important">This is another highlighted paragraph.</p>
129 </section>
130 </section>
131 </article>
132 <article>
133 <h3>element[attribute~=value] : ~=</h3>
134 <section>
135 <header><h4>CSS</h4></header>
136<pre class="sample">
137div[class~="featured"] {
138 border: 1px solid red;
139}
140</pre>
141 <header><h4>HTML</h4></header>
142<pre>
143<div class="featured">This div is featured.</div>
144<div class="content featured">This div is also featured.</div>
145<div class="content">This div is not featured.</div>
146</pre>
147 <header><h4>HTML+CSS</h4></header>
148 <section class="sample-view">
149 <div class="featured">This div is featured.</div>
150 <div class="content featured">This div is also featured.</div>
151 <div class="content">This div is not featured.</div>
152 </section>
153 </section>
154 </article>
155 <article>
156 <h3>element[attribute|=value] : |=</h3>
157 <section>
158 <header><h4>CSS</h4></header>
159<pre class="sample">
160p[lang|="en"] {
161 font-style: italic;
162}
163</pre>
164 <header><h4>HTML</h4></header>
165<pre>
166<p lang="en">This paragraph is in English.</p>
167<p lang="en-US">This paragraph is in American English.</p>
168<p lang="fr">Ce paragraphe est en français.</p>
169</pre>
170 <header><h4>HTML+CSS</h4></header>
171 <section class="sample-view">
172 <p lang="en">This paragraph is in English.</p>
173 <p lang="en-US">This paragraph is in American English.</p>
174 <p lang="fr">Ce paragraphe est en français.</p>
175 </section>
176 </section>
177 </article>
178
179 <article>
180 <h3>CSS Attribute Selector Example : input[required] & input[placeholder]</h3>
181 <section>
182 <header><h4>CSS</h4></header>
183<pre class="sample">
184input[required] {
185 background-color: #ffcccc;
186}
187
188input[placeholder] {
189 font-style: italic;
190 color: #999;
191}
192</pre>
193 <header><h4>HTML</h4></header>
194<pre>
195<input type="text" required placeholder="Enter your name">
196<input type="email" required placeholder="Enter your email">
197<input type="text" placeholder="Optional field">
198</pre>
199 <header><h4>HTML+CSS</h4></header>
200 <section class="sample-view">
201 <input type="text" required placeholder="Enter your name">
202 <input type="email" required placeholder="Enter your email">
203 <input type="text" placeholder="Optional field">
204 </section>
205 </section>
206 </article>
207 <article>
208 <h3>CSS Attribute Selector Example : a[href^="https://"]</h3>
209 <section>
210 <header><h4>CSS</h4></header>
211<pre class="sample">
212a[href^="http://"] {
213 color: orange;
214}
215
216a[href^="https://"] {
217 color: green;
218}
219</pre>
220 <header><h4>HTML</h4></header>
221<pre>
222<a href="http://example.com">HTTP Link</a>
223<a href="https://secure.example.com">HTTPS Link</a>
224<a href="/relative/path">Relative Link</a>
225</pre>
226 <header><h4>HTML+CSS</h4></header>
227 <section class="sample-view">
228 <a href="http://example.com">HTTP Link</a>
229 <a href="https://secure.example.com">HTTPS Link</a>
230 <a href="/relative/path">Relative Link</a>
231 </section>
232 </section>
233 </article>
234 <article>
235 <h3>Attribute Selectors</h3>
236 <section>
237 <header><h4>CSS</h4></header>
238<pre class="sample">
239img[src$=".png"] {
240 border: 2px solid blue;
241}
242
243img[src$=".jpg"] {
244 opacity: 0.5;
245}
246</pre>
247 <header><h4>HTML</h4></header>
248<pre>
249<img src="pattern.png" alt="PNG Image" width="100">
250<img src="document.jpg" alt="JPEG Image" width="100">
251</pre>
252 <header><h4>HTML+CSS</h4></header>
253 <section class="sample-view">
254 <img src="pattern.png" alt="PNG Image" width="100">
255 <img src="image.jpg" alt="JPEG Image" width="100">
256 </section>
257 </section>
258 </article>
259
260 </main>
261</body>
262</html>
CSS'teki Özellik Seçicilerinin Detayları
CSS özellik seçicileri, belirli özelliklere sahip HTML öğelerini seçmek için kullanılır. Bu, öğeleri özellik değerlerine göre stillendirmenizi sağlar. Şimdi, özellik seçicilerin temelinden ileri düzey kullanımına kadar adım adım açıklayacağız.
Özellik Seçicilerin Türleri ve Söz Dizimi
Farklı türlerde özellik seçiciler vardır. Burada, her bir seçici türünü detaylı bir şekilde inceleyeceğiz.
Bir Özelliğe Sahip Öğeleri Seçme
1a[target] {
2 font-weight: bold;
3}
- Özellik adını belirterek, belirtilen özelliğe sahip tüm öğeleri seçebilirsiniz.
- Bu örnekte,
target
niteliğine sahip tüm<a>
öğelerinin metni kalın yazılmıştır.
Belirli Bir Özellik Değerine Sahip Öğeleri Seçme
1input[type="text"] {
2 border: 2px solid green;
3}
=
kullanarak, özellik değeri belirli bir değerle tam olarak eşleşen öğeleri seçebilirsiniz.- Bu örnekte,
type
özelliği"text"
olarak ayarlanmış tüm<input>
öğelerine yeşil bir kenarlık uygulanacak.
Kısmi Özellik Değeri Eşleşmesine Sahip Öğeleri Seçme
Aşağıdaki üç seçiciyi kullanarak özellik değerlerinin kısmi eşleşmelerini belirtebilirsiniz.
- Başlangıç Eşleşmesi (
^=
)
1a[href^="https://"] {
2 font-weight: bold;
3}
- Özellik değerinin belirtilen dizeyle başladığı öğeleri seçer.
- Bu örnekte,
href
özelliği"https://"
ile başlayan tüm bağlantılar kalınlaştırılacak.
- Şununla Biten (
$=
)
1img[src$=".jpg"] {
2 border-radius: 10px;
3}
- Öznitelik değeri belirtilen diziyle biten öğeleri seçer.
- Bu örnekte, köşeleri yuvarlatan stiller,
src
özniteliği.jpg
ile biten tüm resimlere uygulanır.
- İçeren (
*=
)
1p[class*="highlight"] {
2 background-color: yellow;
3}
- Öznitelik değeri belirtilen dizgiyi içeren öğeleri seçer.
- Bu örnekte,
class
özniteliği"highlight"
içeren tüm<p>
öğelerine sarı bir arka plan rengi uygulanır.
Öznitelik Değeri Bir Boşlukla Ayrılmış Kelime İçeren Öğelerin Seçilmesi (~=
)
1div[class~="featured"] {
2 border: 1px solid red;
3}
~=
öznitelik değeri, boşluklarla ayrılmış kelimeler içinde belirli bir kelime içeriyorsa öğeleri seçer.- Bu örnekte,
class
özniteliği"featured"
kelimesini içeren tüm<div>
öğelerine kırmızı bir kenarlık uygulanır.
Öznitelik Değeri Kısa Çizgiyle Ayrılmış Bir Değerle Başlayan Öğelerin Seçilmesi (|=
)
1p[lang|="en"] {
2 font-style: italic;
3}
|=
öznitelik değeri belirtilen diziyle eşleşirse veya kısa çizgiyle başlayan haliyle eşleşirse öğeleri seçer. Genellikle dil özniteliği (lang
) ile kullanılır.- Bu örnekte,
lang
özniteliği"en"
ile başlayan (örneğin"en"
veya"en-US"
) tüm<p>
öğelerine italik yazı stili uygulanır.
Pratik Örnekler ve Uygulamalar
Şimdi bazı pratik senaryolara bakalım.
Form Girdi Alanlarını Şekillendirme
1input[required] {
2 background-color: #ffcccc;
3}
4
5input[placeholder] {
6 font-style: italic;
7 color: #999;
8}
- Bu örnekte,
required
özniteliği olan tüm girdi alanlarına kırmızımsı bir arka plan rengi uygulanır veplaceholder
özniteliği olan girdi alanlarının yer tutucu metni italik ve soluk bir renkle stilize edilir.
Bağlantı Protokollerine Göre Şekillendirme
1a[href^="http://"] {
2 color: orange;
3}
4
5a[href^="https://"] {
6 color: green;
7}
- Burada,
http://
ile başlayan bağlantılar turuncu hale getirilir vehttps://
ile başlayan bağlantılar yeşil hale getirilir. Bu, güvenli ve güvensiz bağlantılar arasında görsel bir ayrım sağlar.
Görsel Formatlarına Göre Şekillendirme
1img[src$=".png"] {
2 border: 2px solid blue;
3}
4
5img[src$=".jpg"] {
6 opacity: 0.5;
7}
- Bu örnekte,
.png
formatındaki görsellere mavi bir kenarlık eklenir ve.jpg
formatındaki görsellerin saydamlığı %50 olarak ayarlanır.
Özet
CSS öznitelik seçicileri, HTML özniteliklerine dayalı olarak öğeleri seçmek için esnek ve güçlü bir yöntemdir. Bu seçicileri kullanmak daha spesifik stil uygulamalarına olanak tanır.
Bu makalede açıklanan temel söz dizimi ve uygulamalı örnekleri kullanarak daha gelişmiş bir stil oluşturmayı kolayca başarabilirsiniz.
Yukarıdaki makaleyi, YouTube kanalımızda Visual Studio Code'u kullanarak takip edebilirsiniz. Lütfen YouTube kanalını da kontrol edin.