2010-12-22 52 views
0

似乎这将是一个很好的方式来让CSS结构化。有没有可能导致这种不可能的事情?为什么不在CSS中嵌套?

我想到的是类似以下内容:

table#myTable{ 
    thead{ 
     color:red; 
    } 
    tbody{ 
     color:blue; 
     td.title{ 
      background-color: green; 
     } 
    } 
} 
+4

查看http://lesscss.org/ – Emmett 2010-12-22 16:12:43

+3

和http://sass-lang.com/ – 2010-12-22 16:15:27

回答

0

因为在规范写作没有人大概认为这个想法的时候,还是没有足够的人认为这将是有益的。

您可以使用SASS,虽然:http://sass-lang.com/

示例语法:

​​
2

我不能回答为什么 CSS不具备此功能。有一些系统,比如LESS(http://lesscss.org/)可以让你编写这样的结构,然后将它们“编译”为常规的CSS。在不到

嵌套例如:(从该链接)

嵌套规则 而不是构建长选择名称来指定继承,欠你可以选择其他的只是里面筑巢选择。这使得继承清晰并缩短了样式表。

#header { 
    color: red; 
    a { 
    font-weight: bold; 
    text-decoration: none; 
    } 
} 
+0

..正如其他海报所说,SASS是另一种选择。我自己并没有使用它们,所以不能告诉你哪个更好,虽然看起来不像SASS的不同语法更像“CSS +”。 – 2010-12-22 16:17:58

0

这将是很好,但这是CSS设计和组织的方式不支持。

但是,有些CSS预处理器允许您以此方式编码,然后将其处理为真实有效的CSS - 例如LessCSS

0

您可以根据您的文档结构仍然缩进您的选择:

body { 
    font-size: 1.4em; 
    color: #666; 
} 

    #Header { 
     /* stuff */ 
    } 

     #Header ul { 
      /* stuff */ 
     } 

      #Header il { 
       /* stuff */ 
      } 

    #Content { 
     /* stuff */ 
    } 

除了零星的背景图像:网址(“”);属性通常不会运行很长,并且在开发过程中可能会帮助您保持组织。我个人更喜欢无缩进的CSS,因为我经常让Textmate重新格式化我的样式表。