CSS选择器问题,如何改变父li的字体颜色时,子ul的焦点
css selector question, how to change font colover of parent li when child ul is focused
好吧,在过去的两个小时里,我一直在为这件事绞尽脑汁,最后我终于放弃了。
我有一个无序列表,在顶层没有背景,文本颜色为#fff
。当滚动到背景变成#fff
,文字颜色变成#000
。我也有孩子的ul的背景为#fff和文字颜色为#000
。
现在我需要知道的是,当子ul元素打开,但顶层链接没有鼠标悬停时,你如何样式的文本颜色变化在顶层。我不能让它强制顶级的li's留在#000
(我得到了背景坚持),只要我把我的鼠标从顶级链接移动到子ul顶级文本回到#fff
。
<div class="menu">
<ul>
<li><a href="#">Home</a></li>
<li>About
<ul class="children">
<li><a href="#">About Us</a></li>
</ul>
</li>
</ul>
</div>
.menu ul li{
color: #ffffff;
text-decoration:none;
}
.menu ul li:hover{
color:#000000
background-color:#ffffff;
}
.children{
background-color:#ffffff;
color:#000000
}
这是我认为最适合的标记。菜单中没有文本颜色为#ffffff的bg。当用户滚动"About"时,背景变为#ffffff,文本变为#000000。下拉菜单掉下来,露出了孩子们的ul/li。它们也有相同的bg/text颜色。一旦用户将鼠标从父li链接上移开,父li链接就会回到白色背景上的白色字体。但是孩子们一直是白色的……
我需要字体变成黑色和白色bg只要用户悬停/点击一个孩子。
当你检测到子点击时,你应该使用jquery的Parents函数
,当你检测到点击-你去到它的父级(他有一些类)-然后
给父元素样式…
http://jsbin.com/ehuke4/25/edit也许给每组元素一个共享类,然后使用jQuery为类的所有成员设置css。因此,对于menu1, menu2等添加以下代码:
<>之前(".menu_1").hover(美元//鼠标悬停函数(){$ (" .menu_1) . css("背景颜色","红");},//on mouseout函数(){$ (" .menu_1) . css("背景颜色","白色");});你的css少了一个分号:
.menu ul li:hover{
color:#000000; <!-- insert this semi-colon -->
background-color:#ff0;
}
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 用Javascript更改我网站上的字体大小
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- 引导程序:在导航栏中,显示悬停在单个位置的基于Li Link的不同内容
- 不同字体的字母间距不同
- 如何在谷歌字体加载时显示加载图像
- 更改li标记文本的Javascript
- 完全可链接的li元素
- 使用jquery动态创建ul-li
- PhoneGap选项卡栏自定义字体,背景图案
- tiltSlider播放/暂停视频元素(如果li有当前类)
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- 使用下拉列表筛选列表(ul>li)
- 在bootstrap中显示隐藏特定的li
- 如何保护节点webkit应用程序上的字体
- AngularJS Navigation (li ng-repeat, create header li), DOM
- 使用Jquery在li内部获取具有特定文本的锚点
- HTML5在浏览器大小javascript/jquery上调整字体大小
- CSS选择器问题,如何改变父li的字体颜色时,子ul的焦点
- 如果选择了另一个li,则设置字体粗细