当前位置: 首页 > 面试题库 >

您可以在CSS中使用if / else条件吗?

宇文修文
2023-03-14
问题内容

我想在CSS中使用条件。

我的想法是,当站点运行以生成正确的样式表时,我将替换一个变量。

我想要它,以便根据此变量更改样式表!

看起来像:

[if {var} eq 2 ]
    background-position : 150px 8px;
[else]
    background-position : 4px 8px;

能做到吗?你怎么做到这一点?


问题答案:

不是传统意义上的,但如果可以访问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的 方法

然后是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;
}

但是,在这种情况下,由于缓存这样的样式表将很困难,因此会对性能产生影响。



 类似资料:
  • Go语言的条件判断结构也很简单。 package main import "fmt" func main() { // 基本的例子 if 7%2 == 0 { fmt.Println("7 is even") } else { fmt.Println("7 is odd") } // 只有if条件的情况 if 8%4

  • 我目前正在了解React Native中的if-else if-else语句的语法。下面是我理解的一个简单的if-else条件: 但是,当添加另一个条件来生成if-else if-else语句时,我遇到了问题。 如果有人能指出我的缺点,我将不胜感激!

  • 问题内容: 我有一个试图在Selenium IDE中单击的复选框-但前提是它尚未处于活动状态。 我正在使用Selenium IDE创建测试,并使用htmlsuite运行测试-有人知道我可以在其中使用“ if”吗? 问题答案: 您必须从官方页面下载Selenium IDE的插件(一直下去)。 我发现的最有用的链接是此链接,因为其中有一个完整的示例:http : //selenium.10932.n7

  • 主要内容:if else 如何判断表达式是否成立前面我们看到的代码都是顺序执行的,也就是先执行第1条语句,然后是第2条、第3条……一直到最后一条语句,这称为 顺序结构。 但是对于很多情况,顺序结构的代码是远远不够的,比如一个程序限制了只能成年人使用,儿童因为年龄不够,没有权限使用。这时候程序就需要做出判断,看用户是否是成年人,并给出提示。 在 Python 中,可以使用 if else 语句对条件进行判断,然后根据不同的结果执行不同的代码,这称

  • 我有一个简单的角度/html代码,其中有一个表,每个