0

在 CSS 中是否有等效或使用方法try{}, catch(){}, throw,例如使用 c++ 或try: except :python。我是 CSS 和 JavaScript 的新手,在我的 CSS 文件中以及当我使用 JS 插入 CSS 时,我遇到了很多错误类型的问题。理想情况下,我希望有这样的东西:

(在我的 css 文件中):

<style>

  try{
     .blue{
       background-color: "blue'; /*<-- problem*/
     }
    /*Style some more stuff*/
  }catch(err){
    .blue{
      background-color: "blue"; /*<-- not a problem*/
    }
  }; 

</style>

现在我知道我可以在 JS 中设置所有这些东西,并在那里使用异常处理,但是对于更复杂的东西,在纯 CSS 中完成要容易得多。如果必须,我会在 JS 中执行此操作,但我宁愿不这样做,那么是否有任何语法可以执行此操作?

4

2 回答 2

2

CSS 纯粹是声明性的,它不会“运行”。浏览器只需读取 CSS 文件并将其转换为规则。这些规则由浏览器应用于 DOM 元素。唯一可能出现“错误”的是语法错误,因此 try-catch 无论如何都无济于事,因为 catch 部分同样可能出现语法错误。

语法错误总是可以提前捕获,无需在运行时捕获它们。您可以尝试网络上众多 CSS 验证服务中的任何一种,例如 W3C 的https://jigsaw.w3.org/css-validator/

于 2020-06-05T17:40:27.040 回答
1

没有。但是你能举个例子来说明你的想法吗?您要检查什么条件?

在大多数情况下,当我们将 Javascript 和 CSS 混合在一起时,我们会在 Javascript 中执行逻辑并将类应用于相关元素,然后这些元素具有所需的 CSS。

对于更多基于规则的 CSS,您应该尝试SassCompass

于 2020-06-05T17:36:12.843 回答