当前位置: 首页 > 知识库问答 >
问题:

CSS列表项悬停未正确应用

高嘉熙
2023-03-14

我有一个我正在开发的网站:http://designs.totaleeyou.com/rnresources/.在主菜单项上,我有一个li:hover:after效果(一个悬停在li项上方的小饰物)。然而,这种悬停效应只适用于属于导航丸类div的li,而不适用于任何导航丸li。此外,li悬停在页眉处应为蓝色,在页脚处应为白色,但悬停效果仅将白色应用于两者,但当li处于活动状态时,将应用正确的颜色。

ul.menu {
    list-style-type:none;
}
ul.nav-pills {
    list-style-type:none;
    margin:0;
    padding:0;
}
header ul.nav-pills a {
    text-transform:uppercase;
    color:#17469e;
}
footer ul.nav-pills a {
    text-transform:uppercase;
    color:#ffffff;
}
ul.nav-pills a:hover,a:focus {
    color:#cf3b3b;
    transition:all 0.2s linear;
}
ul.nav-pills > li {
    position:relative;
    display:inline;
    margin:50px 0 0 50px;
}

ul.nav-pills > li + li {
    margin-left:40px;
}
ul.nav-pills li.active:after, li:hover:after {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 15px 0 15px;
    content: "";
    position: absolute;
    left: 50%;
    margin-left: -15px;
    top: -35px;
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    transition: all 0.2s linear;
}
header ul.nav-pills li.active:after, li:hover:after {
    border-color: #17469e transparent transparent transparent;
}
footer ul.nav-pills li.active:after, li:hover:after {
    border-color: #ffffff transparent transparent transparent;
}

共有2个答案

利海阳
2023-03-14

因为我不能添加评论,因为声誉Thgaskell的答案...

为什么要买?页脚li:hover:after应仅应用于页脚元素,因为它是页脚的子元素,与页眉相同。如果要为页眉和页脚的容器应用不同的背景色,则不会进行覆盖,因为容器仅定义为父元素。

这就是为什么我感到困惑的原因,li.hover:后被分配给页脚和页眉元素,每个元素都有自己特定的颜色。li.active:页眉和页脚都能正常工作。为什么不li.hover:之后。

谢谢!

红朝
2023-03-14

页脚的悬停规则将覆盖页眉,因为它们使用相同的选择器(li:hover:after),页脚将最后应用。

 类似资料:
  • 问题内容: 我希望我的笔记应用程序能为您提供一些帮助。假设我的记事清单上有3个记事。我想删除列表顶部的注释。无论我尝试删除哪一个,始终会首先删除列表最底部的注释。我检查了React控制台,并且处于应用程序组件状态的notes数组表示已正确删除。但实际上,事实并非如此。如何获得它以便删除我选择的确切音符? 问题答案: 用作时发生此错误。React使用该属性来跟踪列表中的元素。当您从数组中间删除元素时

  • 问题内容: 有时,我可以选择使用CSS元素:悬停或JavaScript onmouseover来控制页面上html元素的外观。考虑以下情况,其中div包装了输入 我希望输入将鼠标光标悬停在div上时更改背景色。CSS方法是 JavaScript方法是 每种方法的优点和缺点是什么?CSS方法是否适用于大多数Web浏览器?JavaScript比CSS慢吗? 问题答案: :hover的问题是IE6仅在链

  • 问题内容: 我想知道是否有可能用JS触发CSS HOVER效果,而不必使用其他类… 我尝试使用触发效果,但这不会触发CSS悬停效果。 PS:我做了一个功能,可以帮助用户使用在线CMS。帮助功能通过在图像上四处移动来显示操作方法,以显示操作方法。虚拟光标可以单击内容,显示元素等。但是我希望该虚拟光标也可以触发CSS中设置的:hover效果。 问题答案: 我知道您要做什么,但为什么不简单地这样做: 该

  • 我在图像画廊遇到了一些麻烦。为了实现翻转效果,我有这个jQuery脚本: 这样做的目的是找到图库,在图库图像周围应用一个包装器,当鼠标悬停在该项目上时,它会变为灰度,并且在现有图库的上方会出现一个标题div(带有.caption类)。该图库由9个缩略图组成,脚本将包装器和标题应用于所有现有的图库项目,但我只在第一个缩略图上获得悬停效果。 这是图库超文本标记语言的示例: 这是我得到的CSS: 知道为

  • 当前的效果是悬停时会有伸长的下划线, 但是会有一个问题, 只能做一行 如果我把p标签结构改成如下 那么如何在悬停时让每一行都出现线条?

  • 问题内容: 使用以下html,当我将鼠标悬停在孩子身上时,我的父母得到绿色背景。我该如何阻止这种情况的发生?如果我将鼠标悬停在子元素之外,我确实希望使用绿色背景。 CSS3很好。 问题答案: 因此,这确实很丑陋,但是(确实)有效。我基本上是在创建父母的副本作为孩子的兄弟姐妹。默认情况下,parent- overwrite是隐藏的,然后显示在child的悬停上。除非您使用+选择器而不是〜选择器,否则