1

这可能非常容易,所以我提前道歉,但我在第 5 小时试图弄清楚这个烂摊子。这是我试图以单杠形式呈现的 UL:

<div id="navbarwrapper">
  <ul id="navbar">
    <li><a href="works.html">Search</a></li>
    <li><a href="works.html">Tips</a></li>
    <li><a href="works.html">Neighborhoods</a></li>
    <li><a href="works.html">Relocation</a></li>
  </ul>
</div>

这是似乎出现故障的奇怪CSS:

#navbar {}
#navbar ul {
list-style-type: none;
margin: 0px;
padding: 0px;
}
#navbar li {display: inline;}
#navbar ul li a {text-decoration:line-through;}

我遇到的问题是,使用此标记,HTML 中的锚标记中包裹的文本没有接收换行(我使用换行作为占位符,因为它在工作与否时很明显;我不'实际上并不想要最后的线路)。

这是奇怪的一点。如果我用以下内容替换“#navbar ul li a”嵌套,它可以工作:

#navbar li a {text-decoration:line-through;}

此外,如果我用以下内容更改“#navbar li{display: inline;}”,我会丢失 inline 属性:

#navbar ul li{display:inline;}

是因为我用“#navbar”和“ul”复制吗?这对我来说似乎太奇怪了,我觉得我过去能够使用这种语法而不会出错。

我在这里先向您的帮助表示感谢。

4

4 回答 4

2

ul已经有 id 了navbar。这就是为什么#navbar ul不匹配任何东西。

ul#navbar会匹配。

于 2012-06-07T12:10:28.513 回答
1

<ul>有 ID #navbar,因此#navbar ul您实际上是ul在处理您的ul.

尝试

ul#navbar li a {text-decoration:line-through;}
于 2012-06-07T12:12:13.833 回答
1
#navbar ul is wrong...#navbar is the ul itself.
于 2012-06-07T12:09:48.247 回答
1

您的选择器不正确。

#navbar是 UL 元素本身,因此选择器#navbar ul不针对任何对象。

正确的选择器是

#navbar {
  list-style-type: none;
  margin: 0px;
  padding: 0px;
}
#navbar li { display: inline; }
#navbar li a { text-decoration:line-through; }
于 2012-06-07T12:11:26.203 回答