因此,如果我有一个名为“class-name”的CSS类,以下是什么意思?
.class-name {
margin: 0;
}
为什么,如果我有以下HTML
<div id="some-id">
<ul>
<li class="class-name">
...
选择器
#some-id .class-name ul li
不存在?
答案 0 :(得分:6)
.class_name
表示选择具有该类的元素。
#some-id .class-name ul li
表示“在名为'some-id'的元素的内部html中选择属于'class_name'类的元素内的ul元素内的li元素”
答案 1 :(得分:4)
第一个意味着您可能认为它意味着什么:任何具有类class-name
的HTML元素将具有0宽度的边距(对于每一边,即顶部,底部,左侧和右侧)。
第二个问题有点微妙。这个选择器
#some-id .class-name ul li
仅适用于li
下的ul
,该class-name
位于some-id
类的元素下,位于ID为#some-id ul li.class-name
的元素下。< / p>
你必须使用这样的选择器来应用你上面的HTML:
li
请注意,该选择器中的.class-name
和li.class-name
之间没有空格。指定li
表示“class-name
类名li .class-name
”,而class-name
(带空格)则表示“带有类{的元素{1}}找到以下 li
“。
答案 2 :(得分:3)
#some-id ul li.class-name
是您需要的......
#some-id .class-name ul li
指定#some-id
下类名的ul后代的li后代答案 3 :(得分:2)
因为class-name
上的li
不是li
包裹的元素。
澄清:
<div id="some-id">
<div class="class-name">
<ul>
<li>
会匹配你提到的选择器字符串。
答案 4 :(得分:2)
.class-name
指定具有类class-name
的元素。选择器#some-id .class-name ul li
指定一个li
,它是[{1}}的后代,它是某个元素的后代,其中ul
类是class-name
的后代。要指定具有类#some-id
的特定类型的元素,您可以执行class-name
- 例如tag.class-name
。
答案 5 :(得分:1)
该选择器需要ul
和li
在.class-name
的元素下。您的HTML结构与以下选择器匹配
#some-id ul li.class-name
答案 6 :(得分:1)
你的选择器乱序,要选择“类名”类的li:
#some-id ul li.class-name
答案 7 :(得分:0)
在大多数情况下,只是跳过使用选择器。它使css更容易编写读取和使用。也是你的程序员。是的,您可以使用它们来应用CSS,但是用于ID的类是脚本查找元素并替换它们或其他程序以从中查找信息等。
通过使用CSS的ID,你现在或将来都可以搞砸了。