पारंपरिक अर्थों में नहीं, लेकिन आप इसके लिए कक्षाओं का उपयोग कर सकते हैं, यदि आपके पास HTML तक पहुंच है। इस पर विचार करो:
<p class="normal">Text</p>
<p class="active">Text</p>
और अपनी सीएसएस फ़ाइल में:
p.normal {
background-position : 150px 8px;
}
p.active {
background-position : 4px 8px;
}
यह करने के लिए सीएसएस तरीका है।
फिर Sass जैसे CSS प्रीप्रोसेसर हैं । आप वहां सशर्त का उपयोग कर सकते हैं , जो इस तरह दिखेगा:
$type: monster;
p {
@if $type == ocean {
color: blue;
} @else if $type == matador {
color: red;
} @else if $type == monster {
color: green;
} @else {
color: black;
}
}
नुकसान यह है, कि आप अपनी स्टाइलशीट को प्री-प्रोसेस करने के लिए बाध्य हैं, और यह कि संकलित समय पर मूल्यांकन किया जाता है, रन टाइम नहीं।
सीएसएस उचित की एक नई विशेषता कस्टम गुण (उर्फ सीएसएस चर) हैं। उनका मूल्यांकन रन टाइम पर (उनका समर्थन करने वाले ब्राउज़र में) किया जाता है।
उनके साथ आप रेखा के साथ कुछ कर सकते हैं:
:root {
--main-bg-color: brown;
}
.one {
background-color: var(--main-bg-color);
}
.two {
background-color: black;
}
अंत में, आप अपनी स्टाइलशीट को अपनी पसंदीदा सर्वर-साइड भाषा के साथ प्रीप्रोसेस कर सकते हैं। यदि आप PHP का उपयोग कर रहे हैं, तो style.css.php
फ़ाइल की सेवा करें , जो कुछ इस तरह दिखती है:
p {
background-position: <?php echo (@$_GET['foo'] == 'bar')? "150" : "4"; ?>px 8px;
}
इस मामले में, आपके पास हालांकि प्रदर्शन प्रभाव होगा, क्योंकि इस तरह की स्टाइलशीट को कैशिंग करना मुश्किल होगा।