【问题标题】:How to CSS if..else to change body background-color如何使用 CSS if..else 更改正文背景颜色
【发布时间】:2011-09-19 17:58:06
【问题描述】:

我遇到了一个与 CSS 相关的问题..

我们如何在 CSS 中执行 if/else... 例如,我有一个名为 main.css 的 CSS 文件和两个 HTML 页面,即 a.html 和 b.html。

在 body {} 元素 (main.css) 内,背景颜色将始终为#dad4d4。 对于 a.html,body 将继承此颜色属性,但对于 b.html,我希望将 body 背景颜色更改为 #eae1e2。

如何成功?

【问题讨论】:

    标签: css if-statement


    【解决方案1】:

    您无法解析标准 .css 文件中的函数。

    但是,您想要做的解决方案:

    body.a {
        background-color: red;
    }
    
    body.b {
        background-color: blue;
    }
    

    然后只需在每个相应页面上使用<body class="a"><body class="b">

    【讨论】:

      【解决方案2】:

      <body> 元素上添加 idclass 属性。

      例如,在a.html 上将是<body id="a">,在b.html 上将是<body id="b">。然后你可以这样做:

      body#a {
          background-color: blue;
      }
      
      body#b {
          background-color: green;
      }
      

      【讨论】:

      • 如果你认为这两个 html 文件都是简单的结构(都有自己的 和 元素),这个解决方案是可以的。实际上,我还有另一个名为 index.tpl 的文件,它将绘制出网站的基本结构,其中定义了 和 元素。话虽如此,a.html和b.html只有、和
        元素......所以,它们在同一个下,我们如何适应这种解决方案结构?
      • 在我忘记之前,index.tpl 中的 元素已经定义了另一个类。所以,这里选择使用 body id
      • @steveVai:显然,在index.tpl 中添加一些条件代码以添加 id 或类。您还可以添加任意数量的类,没有限制。
      【解决方案3】:

      你可以给你的身体一个类来实现这一点。 在 a.html 中,您的主体将具有类“a”,在 b.html 中将具有类“b”。 然后每个类都可以拥有自己的属性。

      据我所知,CSS 中是否有 else 是不可能的

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-15
        • 1970-01-01
        • 1970-01-01
        • 2014-05-04
        • 2013-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多