【问题标题】:inherit properties and then change some on particular site (css)继承属性,然后在特定站点(css)上更改一些
【发布时间】:2010-05-05 14:02:10
【问题描述】:

我在这个test web site 上有三个菜单。我正在学习 css 并尝试 menu2 & menu3inherit all properties from menu class。第二个看起来有点不同,不可点击。我对第三个很满意,只是想让它水平并改变它的位置。

谁能告诉我

  • 为什么第二个菜单不能点击?
  • 如何使第三个菜单垂直?我认为display: block; for li of 3rd menu 可以解决问题,但我不知道该 li 的 css 路径。

【问题讨论】:

标签: css css-selectors


【解决方案1】:

您的第二个菜单不可点击,因为您的第三个菜单框正在覆盖它,即使您看不到它与双水平线覆盖的区域大小相同,它也是一个框。

第三个菜单不是垂直的,因为 lis 有 float:left

用下面的css改正

.menu3 li
{
float:none;
}
.menu3
{
position:absolute;
}

您需要为 .menu3 设置左侧/顶部选项,以将其放置在您想要的页面上。

如果您使用 firefox firebug,您应该安装 web developer 和 firebug 扩展。如果您使用 safari,您可以启用开发者工具,如果您使用 Internet Explorer 8,那么您也可以启用开发者工具。 (Firebug 在我看来是最好的)。

【讨论】:

  • @Radek 尝试在 firefox 中右键单击一个元素,然后单击检查,将鼠标悬停在 firebug 窗口中,它应该突出显示蓝色,以便您可以看到它覆盖的区域。
  • 你是个天才!一切正常。我不必触摸 menu2,它现在可以工作了。我使用margin-leftmargin-top 移动了menu3,这是正确的方法吗?您能否详细说明您的答案是什么covering means?现在是 menu3 重叠 menu2 并且它是可点击的。非常感谢您的修复
  • 如果我现在将鼠标悬停在萤火虫中,在修复之后。 Menu3 仍与 menu2 重叠,但颜色偏黄且 menu2 有效。那么和修复前有什么区别呢?叫我 CSS 宝贝。
  • @Radek in firebug blue 表示对象实际占据的“盒子”在哪里,黄色是边距。我认为紫色是填充物。在蓝色占据整个中间部分之前,这意味着它位于其他元素之上。元素在 HTML 中的页面越靠下,它就会出现在顶部的位置越高,除非您在 css 中应用带有位置的 z-index。
【解决方案2】:

第二个菜单不可点击,因为第三个菜单覆盖了它。解决此问题的一种方法是从 .menu 中删除 position: relative

第三个菜单中<li> 的路径例如是.menu3 li,但我不太确定您将其设为垂直是什么意思。我希望你能通过这条信息找到一种方法。

一点提示...像 FireBug for Firefox 这样的工具对 CSS 试错很有帮助。

【讨论】:

    猜你喜欢
    • 2011-08-02
    • 2015-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多