我不知道为什么a:first-child
无效。这是我的HTML:
<!DOCTYPE html>
<link href='http://fonts.googleapis.com/css?family=Geo' rel='stylesheet'>
<title>Mira's place</title>
<header>
<a href="index.html">Mira's place</a><br>
<h2>“<span id="quote">If nothing, then this.</span>”</h2>
<ul>
<li><a href="#">Home</a>
<li><a href="#">Games</a>
<li><a href="#">Pixel Art</a>
<li><a href="#">Contact</a>
</ul>
</header>
<section>
<h2>This is test H2</h2>
<p>This is lorem ipsum shitsum, blah <a href="#">Test</a> blah baldflksafdjsl adslkf ajfdlks ajfldsa jflksda lfhsdalf jdsalfh sdlfdshfdsk fjsdl ajfl
</section>
<footer>
<p>(C) MiraCZ 2013 - You can copy anything here!
</footer>
这是我的CSS
html {
background-color: #002240;
font-family: "Geo", sans-serif;
margin: 0;
}
header {
background-color: #001629;
margin: 0 -10px 0 -10px;
}
a:first-child {
color: #FF628C;
font-size: 36px;
}
header h2 {
color: #80FFBB;
}
li {
display: inline-block;
font-size: 18px;
}
p {
color: white;
}
我只想让第一个a
大小为36px。任何人都可以帮助为什么它会影响其他a
?这是我的jsfiddle http://jsfiddle.net/dsT4Z/
这是我看到的。我添加了红色箭头来显示哪些a
我不想成为那么大的等等。
答案 0 :(得分:2)
导航中的所有<a>
代码都是包含<li>
代码的第一个子代,因此符合规则。
文本区域中的那个是包含<p>
的第一个(元素)子项,因此符合规则。
在您真正想要影响的元素上使用ID或类名称要容易得多。
答案 1 :(得分:1)
在我看来,您只希望第一个<a>
立即嵌套<header>
作为目标。将a:first-child
规则更改为:
/* only target an <a> element which is the first immediate child of a <header> element */
header > a:first-child {
/* ... */
}
这样只会影响<header>
的第一个直接孩子。 http://jsfiddle.net/dsT4Z/1/
答案 2 :(得分:-1)
我认为您应该考虑使用:nth-of-type()
选择器。这似乎更适合这个应用程序。
first-child
只会选择第一个孩子。使用nth-of-type
,您可以保证选择标题元素的第一个直接锚子项。
header > a:nth-of-type(1) {
color: #FF628C;
font-size: 36px;
}