边缘对 LI 的悬停效果
Hover effect on LI from edge
我有以下HTML嵌套的ul li结构,我想在每个li上实现悬停效果,(类似于当前li上的悬停效果,大写字母A),它的子li也应该悬停在最顶层父 LI 的开始(下面的示例类似于 Capital A li 悬停效果)
ul { list-style: none; padding: 0; margin:0 }
li { margin:0; padding: 0; cursor:pointer}
.container > ul .items {padding-left:1.5rem}
.items:hover {
background:red
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
</head>
<body>
<div class="container">
<ul class="parent" id="Head">
<li class="items"><a><span>A</span></a></li>
<li class="items">
<div class="group"><a><span>B</span></a> </div>
<ul class="group-item">
<li class="items"><a><span>b</span></a></li>
<li class="items"><a><span>b</span></a></li>
</ul>
</li>
<li class="items">
<div class="group"><a><span>C</span></a></div>
<ul class="group-item">
<li class="items"><a><span>c</span></a></li>
<li class="items"><a><span>c</span></a></li>
<li class="items">
<div class="group"> <a><span>c</span></a> </div>
<ul class="group-item">
<li class="items"><a><span>c1</span></a></li>
<li class="items"><a><span>c1</span></a></li>
<li class="items">
<div class="group"> <a><span>c1</span></a> </div>
<ul class="group-item">
<li class="items"><a><span>c2</span></a></li>
<li class="items"><a><span>c2</span></a></li>
<li class="items"><a><span>c2</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</div>
</body>
</html>
如果您只想突出显示内容,那么您应该只针对 :hover
的内容
这里我定位了 <li>
内的 <a>
标签。如果您的列表元素中可以有除 <a>
-tags 之外的其他元素,那么您也需要将它们作为目标。或者更新 HTML 以始终用 div 和特定 class 包装内容。
我对您的代码所做的更改是:
li a {display: block}
li a:hover {background-color: red}
请记住,最好在此处使用 classes,而不是针对您网站列表中的每个 link。
ul { list-style: none; padding: 0; margin:0 }
li { margin:0; padding: 0; cursor:pointer}
li a {display: block;}
.container ul a {padding-left:1.5rem}
.container ul ul a {padding-left:3rem}
.container ul ul ul a {padding-left:4.5rem}
.container ul ul ul ul a {padding-left:6rem}
li a:hover {
background:red;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
</head>
<body>
<div class="container">
<ul class="parent" id="Head">
<li class="items"><a><span>A</span></a></li>
<li class="items">
<div class="group"><a><span>B</span></a> </div>
<ul class="group-item">
<li class="items"><a><span>b</span></a></li>
<li class="items"><a><span>b</span></a></li>
</ul>
</li>
<li class="items">
<div class="group"><a><span>C</span></a></div>
<ul class="group-item">
<li class="items"><a><span>c</span></a></li>
<li class="items"><a><span>c</span></a></li>
<li class="items">
<div class="group"> <a><span>c</span></a> </div>
<ul class="group-item">
<li class="items"><a><span>c1</span></a></li>
<li class="items"><a><span>c1</span></a></li>
<li class="items">
<div class="group"> <a><span>c1</span></a> </div>
<ul class="group-item">
<li class="items"><a><span>c2</span></a></li>
<li class="items"><a><span>c2</span></a></li>
<li class="items"><a><span>c2</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</div>
</body>
</html>
我有以下HTML嵌套的ul li结构,我想在每个li上实现悬停效果,(类似于当前li上的悬停效果,大写字母A),它的子li也应该悬停在最顶层父 LI 的开始(下面的示例类似于 Capital A li 悬停效果)
ul { list-style: none; padding: 0; margin:0 }
li { margin:0; padding: 0; cursor:pointer}
.container > ul .items {padding-left:1.5rem}
.items:hover {
background:red
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
</head>
<body>
<div class="container">
<ul class="parent" id="Head">
<li class="items"><a><span>A</span></a></li>
<li class="items">
<div class="group"><a><span>B</span></a> </div>
<ul class="group-item">
<li class="items"><a><span>b</span></a></li>
<li class="items"><a><span>b</span></a></li>
</ul>
</li>
<li class="items">
<div class="group"><a><span>C</span></a></div>
<ul class="group-item">
<li class="items"><a><span>c</span></a></li>
<li class="items"><a><span>c</span></a></li>
<li class="items">
<div class="group"> <a><span>c</span></a> </div>
<ul class="group-item">
<li class="items"><a><span>c1</span></a></li>
<li class="items"><a><span>c1</span></a></li>
<li class="items">
<div class="group"> <a><span>c1</span></a> </div>
<ul class="group-item">
<li class="items"><a><span>c2</span></a></li>
<li class="items"><a><span>c2</span></a></li>
<li class="items"><a><span>c2</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</div>
</body>
</html>
如果您只想突出显示内容,那么您应该只针对 :hover
这里我定位了 <li>
内的 <a>
标签。如果您的列表元素中可以有除 <a>
-tags 之外的其他元素,那么您也需要将它们作为目标。或者更新 HTML 以始终用 div 和特定 class 包装内容。
我对您的代码所做的更改是:
li a {display: block}
li a:hover {background-color: red}
请记住,最好在此处使用 classes,而不是针对您网站列表中的每个 link。
ul { list-style: none; padding: 0; margin:0 }
li { margin:0; padding: 0; cursor:pointer}
li a {display: block;}
.container ul a {padding-left:1.5rem}
.container ul ul a {padding-left:3rem}
.container ul ul ul a {padding-left:4.5rem}
.container ul ul ul ul a {padding-left:6rem}
li a:hover {
background:red;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
</head>
<body>
<div class="container">
<ul class="parent" id="Head">
<li class="items"><a><span>A</span></a></li>
<li class="items">
<div class="group"><a><span>B</span></a> </div>
<ul class="group-item">
<li class="items"><a><span>b</span></a></li>
<li class="items"><a><span>b</span></a></li>
</ul>
</li>
<li class="items">
<div class="group"><a><span>C</span></a></div>
<ul class="group-item">
<li class="items"><a><span>c</span></a></li>
<li class="items"><a><span>c</span></a></li>
<li class="items">
<div class="group"> <a><span>c</span></a> </div>
<ul class="group-item">
<li class="items"><a><span>c1</span></a></li>
<li class="items"><a><span>c1</span></a></li>
<li class="items">
<div class="group"> <a><span>c1</span></a> </div>
<ul class="group-item">
<li class="items"><a><span>c2</span></a></li>
<li class="items"><a><span>c2</span></a></li>
<li class="items"><a><span>c2</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</div>
</body>
</html>