常用css选择器有3种:标签选择器,类选择器,和id选择器
第1部分 html,body,h1.....这些属于标签选择器,就是所有提到的标签都遵从该选择器定义的样式,这行主要是做css reset,清除各标签的默认样式,防止浏览器默认值不同导致兼容性问题。
第2部分是css3新特性@keyframes,用于创建动画的
第3部分以下是类选择器,就是针对 class="类名"定义的样式,类选择器写法: .类名
CSS结构好的话,没有必要使用过多的类或者标识选择符。这是因为你可以指定在选择符内的选择符,而不必使用CSS嵌套。(或者更好的说法,上下文选择符--译者著)
1、比如:
ExampleSourceCode#top{ background-color:#ccc padding:1em } #toph1{ color:#ff0 } #topp{ color:red font-weight:bold }
2、这就减去不必要的类或者标识选择符,如果应用到像这样的HTML中:
ExampleSourceCode<dividdivid="top"> <h1>Chocolatecurry</h1> <p>Thisismyrecipeformakingcurrypurelywithchocolate</p> <p>Mmmmmmmmmm</p> </div>
这是因为,用英文半角空格间隔选择符,我们指明了在标识id内的h1有“#ff0”的颜色,而p则是红色red和粗体bold。这可能也会有些复杂(因为可能不止两级,比如在内在内在内在内等等)。有必要多加练习。
纯css是没有这种写法的,只有使用less、sass、scss这类css预处理语言才会出现的选择器嵌套。而且css里也不会渲染这种嵌套的写法,只会渲染这种嵌套:.baz .test{height:50px}。
下面的例子是less嵌套后与生成css的对比图: