Tidak dalam pengertian tradisional, tetapi Anda dapat menggunakan kelas untuk ini, jika Anda memiliki akses ke HTML. Pertimbangkan ini:
<p class="normal">Text</p>
<p class="active">Text</p>
dan di file CSS Anda:
p.normal {
background-position : 150px 8px;
}
p.active {
background-position : 4px 8px;
}
Itulah cara CSS untuk melakukannya.
Lalu ada praprosesor CSS seperti Sass . Anda dapat menggunakan kondisional di sana, yang akan terlihat seperti ini:
$type: monster;
p {
@if $type == ocean {
color: blue;
} @else if $type == matador {
color: red;
} @else if $type == monster {
color: green;
} @else {
color: black;
}
}
Kekurangannya adalah, Anda terikat untuk melakukan praproses pada stylesheet Anda, dan kondisi tersebut dievaluasi pada waktu kompilasi, bukan waktu proses.
Fitur CSS yang lebih baru adalah properti khusus (alias variabel CSS). Mereka dievaluasi pada waktu berjalan (di browser yang mendukungnya).
Dengan mereka Anda dapat melakukan sesuatu di sepanjang jalur:
:root {
--main-bg-color: brown;
}
.one {
background-color: var(--main-bg-color);
}
.two {
background-color: black;
}
Terakhir, Anda dapat memproses lembar gaya Anda dengan bahasa sisi server favorit Anda. Jika Anda menggunakan PHP, sajikan style.css.php
file, yang terlihat seperti ini:
p {
background-position: <?php echo (@$_GET['foo'] == 'bar')? "150" : "4"; ?>px 8px;
}
Dalam kasus ini, Anda akan mendapatkan dampak kinerja, karena menyimpan file gaya seperti itu akan sulit dilakukan.