ไม่ใช่ในความหมายดั้งเดิม แต่คุณสามารถใช้คลาสสำหรับสิ่งนี้ได้หากคุณสามารถเข้าถึง HTML ได้ พิจารณาสิ่งนี้:
<p class="normal">Text</p>
<p class="active">Text</p>
และในไฟล์ CSS ของคุณ:
p.normal {
background-position : 150px 8px;
}
p.active {
background-position : 4px 8px;
}
นั่นคือวิธีการทำCSS
จากนั้นก็มี preprocessors CSS เช่นSass คุณสามารถใช้เงื่อนไขที่นั่นซึ่งจะมีลักษณะดังนี้:
$type: monster;
p {
@if $type == ocean {
color: blue;
} @else if $type == matador {
color: red;
} @else if $type == monster {
color: green;
} @else {
color: black;
}
}
ข้อเสียคือคุณต้องประมวลผลสไตล์ชีตล่วงหน้าและเงื่อนไขจะได้รับการประเมินในเวลาคอมไพล์ไม่ใช่รันไทม์
คุณสมบัติที่ใหม่กว่าของ CSS ที่เหมาะสมคือคุณสมบัติที่กำหนดเอง (ตัวแปร CSS) พวกเขาจะได้รับการประเมินในขณะทำงาน (ในเบราว์เซอร์ที่รองรับ)
กับพวกเขาคุณสามารถทำบางสิ่งบางอย่างตามแนว:
: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;
}
ในกรณีนี้คุณจะได้รับผลกระทบด้านประสิทธิภาพเนื่องจากการแคชสไตล์ชีตดังกล่าวจะทำได้ยาก