css - 更改 ul li 的背景颜色

标签 css

我一直在努力解决这个问题,我想在单击 li 时更改我的 ul 元素的背景颜色。 因此,我打开一个下拉菜单,单击 li 链接,现在我希望 mainmenuslot 更改其背景颜色。

我正在使用这段代码:

#mainnav-menu ul li.current_page_item a, #mainnav-menu ul li.current-menu-item a {
    background-color: #004494;
    background: #004494;
    text-decoration: none;
    color: #ffffff;
    font-weight: bold;
}

要获得此功能,我必须添加什么?我用#mainnav-menu ul a、#mainnav-menu ul 和许多其他可能性进行了尝试。

最佳答案

除了@jacobdo 所说的之外,您只能访问 li 焦点并更改 li 背景、颜色(如下所述)等,但您无法更改 ul 背景、颜色没有javascript。

li:focus  {
  outline: 0;
   background-color: #004494;
    background: #004494;
    text-decoration: none;
    color: #ffffff;
    font-weight: bold;
}
<div id="menus">
    <ul>
        <li tabindex="0"><a href="#">Home</a></li>
        <li tabindex="0"><a href="#">Other</a></li>
        <li tabindex="0"><a href="#">My Page</a></li>
        <li tabindex="0"><a href="#">Other Page</a></li>
        <li tabindex="0" style="border-right:none;"><a href="#">Logout</a></li>
    </ul>
</div>

使用 jQuery:

http://jsfiddle.net/8zzc3oow/

仅使用 javascipt:

http://jsfiddle.net/2jpehad9/

当然,当用户点击 li 链接时,必须实现 jQuery 和 javascript 更改颜色事件。

jQuery 点击 - https://api.jquery.com/click

jQuery 点击示例

<div id="target">
  Click here
</div>
$( "#target" ).click(function() {
  alert( "Handler for .click() called." );
});

js点击示例

<input type="checkbox" id="myCheck" onmouseover="myFunction()" onclick="alert('clicked')">

<script>
// On mouse-over, execute myFunction
function myFunction() {
    document.getElementById("myCheck").click(); // Click on the checkbox
}
</script>

关于css - 更改 ul li 的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39995618/

相关文章:

python - 将返回的字符串列表转换为交互式输出

css - 更改状态时保持类分配给 Angular

css - 在 Firefox 和 IE 中,-webkit-print-color-adjust 的替代项是什么

javascript - mustache js语法调用带参数的函数?

javascript - 在 PhoneGap 应用程序中禁用文本选择器?

css - 通过 less 生成 CSS 组

html - CSS 行高不影响 float :right element

css - 使 ul 环绕,但不重叠

css - HTML5 float div 布局最小高度 :100%

PHP 运行 1/2 没有正确验证的 IF 语句