你能在 CSS 中使用条件逻辑吗?
CSS 本身不支持 If-else 条件。但是,有多种方法可以实现类似的功能。
CSS 类:
如果您可以控制 HTML,则可以使用 CSS 类来应用不同的样式在一个变量上。例如:
<p class="normal">Text</p> <p class="active">Text</p>
p.normal { background-position: 150px 8px; } p.active { background-position: 4px 8px; }
CSS 预处理器(例如 Sass):
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 自定义属性:
自定义属性可以在支持的浏览器中在运行时进行评估。您可以使用它们根据条件设置样式:
:root { --main-bg-color: brown; } .one { background-color: var(--main-bg-color); } .two { background-color: black; }
服务器端预处理:
您还可以使用服务器端语言预处理样式表。例如,在 PHP 中:
p { background-position: <?php echo (@$_GET['foo'] == 'bar')? "150" : "4"; ?>px 8px; }
其他技术:
对于更复杂的场景,您可以探索诸如“If/ Else in CSS”作者:Ahmad Shadeed。
以上是如何在 CSS 中模拟条件逻辑?的详细内容。更多信息请关注PHP中文网其他相关文章!