gpt4 book ai didi

css - 如何在 3 级 superfish 菜单中设置元素样式

转载 作者:太空宇宙 更新时间:2023-11-04 05:12:06 24 4
gpt4 key购买 nike

我有一个三级层次结构的 superfish 垂直菜单。

  Level-1     Level-2    Level-3    
Fruit Apples Green

链接文本颜色为白色背景上的红色。当我向下悬停到第三级元素(绿色)并且菜单展开时,我希望事件路径(顶部、中间和底部选定路径级别)反转为红色背景上的白色文本。使用 a:hover 可以很容易地翻转选定的链接(绿色),不知何故背景在 Apples 和 Fruit 处翻转,但文本仍然是红色并且不再可读。如何选择 Fruit 和 Apples 来控制它们的文字颜色?

附加信息:这是 superfish 的 drupal 实现,但我认为这不重要。CSS 由

定义
a {color:red; background-color:white;}

悬停条件在下面解决

.sf-menu li:active, /* no effect from this line*/
.sf-menu li:hover,
.sf-menu li:focus,/* no effect from this line*/
.sf-menu li.sfHover,
.sf-menu li:active a,
.sf-menu a:focus,
.sf-menu a:hover,
.sf-menu a:active {
background: red; /*Hover background */
color: white;
}

Superfly 还注入(inject)了其他类和设置来修改边距,但是针对各种条件的填充和位置设置,但没有解决颜色问题。据我所知,当用户将鼠标悬停在某个元素上时,superfly 菜单使用 js 显示隐藏的菜单部分。但是我无法确定当我将鼠标悬停在苹果或绿色上但不更改文本颜色时,它是如何设法使水果背景保持红色的。

这是一个用于菜单显示的实际 html 级联

<ul id="superfish-3" class="menu sf-menu sf-menu-materials sf-vertical sf-style-MatMenu2 sf-total-items-23 sf-parent-items-22 sf-single-items-1 superfish-processed sf-js-enabled sf-shadow">
<li id="menu-899-3" class="first odd sf-item-1 sf-depth-1 sf-no-children">
<li id="menu-900-3" class="middle even sf-item-2 sf-depth-1 sf-total-children-8 sf-parent-children-0 sf-single-children-8 menuparent">
<a class="sf-depth-1 menuparent sf-with-ul" title="FRUIT" href="/specs/03">
FRUIT
<span class="sf-sub-indicator"> »</span>
</a>
<ul style="display: none; visibility: hidden; float: none; width: 12em;">
<li id="menu-901-3" class="first odd sf-item-1 sf-depth-2 sf-no-children" style="white-space: normal; float: left; width: 100%;">
<a class="sf-depth-2 " title="**APPLE**" href="/specs/031000" style="float: none; width: auto;">APPLE</a>
</li>

如您所见,定义了很多类。就像我说的,我很困惑为什么悬停背景颜色仍然适用于父级,但文本颜色又回到非悬停显示。我只是想找到一个可以选择悬停项的父项并使文本保持悬停状态(白色)的类。

最佳答案

您有指向您网站的链接吗?

开箱即用的猜测尝试:

/* 3rd level links, no hover */
.sf-menu li li li a, .sf-menu li.sfHover li li a {
color: white;


}

/* 3rd level links, hover */
.sf-menu li li li a:hover, .sf-menu li.sfHover li li a:hover {
color: white;
background-color: red;
}

整理样式可能会很棘手,但我发现使用它会有所帮助。它以丑陋的颜色设计菜单样式,但让您有机会掌握 CSS。让我知道你的进展情况:

编辑:水平菜单:

/*** COLOR SKIN ***/

/* main ul element */
.sf-menu {
border-right: 1px solid FUCHSIA;
float:left;
}

/* general link styles*/
.sf-menu a {
display: block;
padding:9px 13px;
text-decoration:none;
border-top: 1px solid;
border-left: 1px solid;
border-bottom: 1px solid;
}

/*** 1st Level ***/

/* 1st level links, no hover, no visits */
.sf-menu li a {
color: yellow;
background-color: green;
border-color: red;
}
/* 1st level links, while hovering over sub menu */
.sf-menu li.sfHover a{
color: black;
background-color: silver;
}

/* 1st level links, hover */
.sf-menu li a:hover {
color: white;
background-color: lime;
}

/* 1st level current page */
.sf-menu .current_page_item a,
.sf-menu .current_page_ancestor a,
.sf-menu .current_page_parent a {
border-bottom-color: white;
background-color: TEAL;
}

/* 1st level down triangles with pure css*/
.sf-menu li .sf-sub-indicator {
text-indent:-9999px;
line-height: 0;
border-color:YELLOW transparent transparent;
border-style:solid;
border-width:4px; /*controls size of triangle */
display:inline-block;
margin-left:5px;
}

/*** 2nd level ***/

/* sub menu */
.sf-menu ul {
border-right:1px solid;
border-bottom:1px solid;
border-color: yellow;
}
.sf-menu li:hover ul,
.sf-menu li.sfHover ul {
top:32px; /* overriding essential styles- adjust if you have gaps between first level and drop-down sub menu*/
}
.sf-menu ul ul {
margin-top:0; /*unlikely to need adjusting */
}

/* 2nd level links, no hover */
.sf-menu li li a, .sf-menu li.sfHover li a {
color: orange;
background-color: blue;
border-color: green;
border-bottom: 0;
}

/* 2nd level links, while hovering over sub menu */
.sf-menu li li.sfHover a{
color: black;
background-color: silver;
}

/* 2nd level links, hover */
.sf-menu li li a:hover, .sf-menu li.sfHover li a:hover {
color: white;
background-color: aqua;
}

/* 2nd level current page */
.sf-menu li li.current_page_item a,
.sf-menu li li.current_page_ancestor a,
.sf-menu li li.current_page_parent a {
background-color: TEAL;
}

/* 2nd level side triangles with pure CSS */
.sf-menu li li .sf-sub-indicator { /*right arrow*/
border-color: transparent transparent transparent WHITE;
}

/*** 3rd Level and beyond ***/

/* 3rd level links, no hover */
.sf-menu li li li a, .sf-menu li.sfHover li li a {
color: blue;
background-color: red;
border-color: blue;
}

/* 3rd level links, hover */
.sf-menu li li li a:hover, .sf-menu li.sfHover li li a:hover {
color: white;
background-color: pink;
}

/* 2nd level current page */
.sf-menu li li li.current_page_item a,
.sf-menu li li li.current_page_ancestor a,
.sf-menu li li li.current_page_parent a {
background-color: TEAL;
}

关于css - 如何在 3 级 superfish 菜单中设置元素样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9059642/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com