如何在css块中使用jade(pug)的“if语句”?

时间:2016-11-15 12:15:02

标签: pug pugjs

说我有一个玉石模板,如:

style.
  .someclass1{
    font-size:10px;
  }
  .someclass2{
    font-size:10px;
  }
  .someclass3{
    font-size:10px;
  }
  .someclass4{
    font-size:10px;
  }
  .someclass5{
    font-size:10px;
  }

我想在呈现玉石模板时使.someclass3在不同的选项中产生不同的结果。

类似的东西:

style.
  .someclass1{
    font-size:10px;
  }
  .someclass2{
    font-size:10px;
  }
  if(options.key1=='a')
    .someclass3{
      font-size:10px;
    }
  else
    .someclass3{
      font-size:8px;
    }
  .someclass4{
    font-size:10px;
  }
  .someclass5{
    font-size:10px;
  }

它不起作用。

我必须将样式标记分成两部分并执行以下操作:

style.
  .someclass1{
    font-size:10px;
  }
  .someclass2{
    font-size:10px;
  }
if(options.key1=='a')
  style.
    .someclass3{
      font-size:10px;
    }
else
  style.
    .someclass3{
      font-size:8px;
    }
style.
  .someclass4{
    font-size:10px;
  }
  .someclass5{
    font-size:10px;
  }

这将产生一个3样式的标签HTML,实际上只需要一个。

任何人都有这样做的好方法吗?

1 个答案:

答案 0 :(得分:2)

你可以这样做。您可以在每个纯文本块之前放置.,而不是将style紧跟在.标记之后(告诉我们整个块是纯文本)。例如

style
  .
    .someclass1{
      font-size:10px;
    }
    .someclass2{
      font-size:10px;
    }
  if options.key1=='a'
    .
      .someclass3{
        font-size:10px;
      }
  else
    .
      .someclass3{
        font-size:8px;
      }
  .
    .someclass4{
      font-size:10px;
    }
    .someclass5{
      font-size:10px;
    }