我看到这个" div#container" CSS中使用的语法,我想知道它是如何工作的。有人有资源吗?
答案 0 :(得分:0)
从CSS标准本身a chart of selector syntaxes。
你正在寻找的那个接近结尾:
E#myid Matches any E element with ID equal to "myid".
换句话说,该选择器将匹配<div id="container">
。
当然,id值必须是唯一的,因此您不需要指定元素名称。您可以使用*#container
或#container
,而且很多人都可以使用{{1}}。明确地放置元素名称可能被认为更加自我记录。
答案 1 :(得分:0)
http://www.w3schools.com/css/css_selectors.asp
试着看看这个。这将教你如何运作。
#abc {
text-align: center;
color: blue; }
现在,您使用的任何地方#abc文本都将对齐居中,文本颜色将为蓝色。
您也可以根据需要自定义它。
答案 2 :(得分:0)
除了作为上面提到的独特参考,ID增加了特异性(我强烈建议你阅读这篇文章或类似的http://www.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/,理解css中的特异性将使你的生活更轻松)。
我试着用一个简短的例子来解释 - 采取以下措施:
div#item { background: blue}
<div id="item" class="item">Hello world</div>
这表示使用ID&#39;容器&#39;蓝色,但如果您在样式表中添加以下样式
#item {background: purple}
.item {background: green}
假设容器是绿色的,因为样式表是级联的,而具有绿色背景的类是最后的。然而,事实并非如此,ID具有更高的优先级,并且即使该类稍后出现也将覆盖一个类。此外,该项目不会是紫色,因为您之前已在id之前添加了div。拥有div和id会进一步提高特异性。
人们经常在css中指定这样的项目:div#container以增加对样式的额外重要性或具体说明只有具有id容器的DIVS可以是蓝色。
我建议不要这样做,它会变得越来越难以覆盖,如果你想让其他东西的背景变成蓝色,那么这种风格就无法使用了。因此,例如以下内容不会使该段落为蓝色,因为该样式特别指出了div。
div#item {background: blue;}
<p id="item">Hello world</p>
如果您想将div#项覆盖为粉红色而不是蓝色,则可能需要执行以下操作。
div#item.item {background: pink}
这看起来并不那么糟糕但是当你开始构建复杂的网站时,这会使你的css变得笨重。
我的建议是让你的css尽可能重复使用,例如以下内容可以轻松覆盖并在任何标记上重复使用。
.item { background: blue;}
希望有所帮助!认真阅读css特异性,它将真正帮助你。