#html #css
#HTML #css
Вопрос:
Я пытался получить тег li, когда он был наведен, чтобы подчеркнуть тег a, в настоящее время при наведении курсора мыши на тег li строка проходит под всем тегом li, а не под тегом a.
HTML, простой значок над тегом внутри функции
<li id="underline"><a type="button" id="speakBtn">
<div class="icon"><i class="fas fa-play"></i></div>
<div class="title ">Text To Speech</div>
</a></li>
<li class="underline"><a type="button" id="pauseBtn">
<div class="icon"><i class="fas fa-pause"></i></div>
<div class="title whiteTxt ">Pause</div>
</a></li>
<li class="navButton"><a type="button" id="resumeBtn">
<div class="icon"><i class="fas fa-play-circle"></i></div>
<div class="title whiteTxt ">Resume</div>
</a></li>
<li class="navButton"><a type="button" id="cancelBtn">
<div class="icon"><i class="fas fa-stop"></i></div>
<div class="title whiteTxt ">Stop</div>
</a></li>
CSS
li и отображение по умолчанию
.wrapper .sidebar__inner .siderbar_menu li a {
padding: 10px 50px;
display: block;
height: 90px;
position: relative;
margin-bottom: 1px;
color: #fff;
text-align: center;
text-transform: uppercase;
}
.wrapper .sidebar__inner .siderbar_menu a {
background-image:linear-gradient(#fff,#fff);
background-position:bottom left;
background-size:0% 2px;
background-repeat:no-repeat;
transition:
background-size .5s,
background-position 0s 1s;
}
li и отображение при наведении курсора
.wrapper .sidebar__inner .siderbar_menu li.active {
background: #a6a6a6;
}
.wrapper .sidebar__inner .siderbar_menu a:hover,
.wrapper .sidebar__inner .siderbar_menu a.active {
color: #fff;
background-position:bottom left;
background-size:100% 2px;
}
Ответ №1:
Я думаю, вам понравится это:
body {
background: blue;
}
.wrapper .sidebar__inner .siderbar_menu {
list-style: none;
padding: 0;
}
.wrapper .sidebar__inner .siderbar_menu li {
text-align: center; /*Css add*/
display: inline-block; /*Css add*/
}
.wrapper .sidebar__inner .siderbar_menu li a {
padding: 10px 50px;
display: inline-block; /*Css Change*/
height: 20px;
position: relative;
margin-bottom: 1px;
color: #fff;
text-align: center;
text-transform: uppercase;
}
.wrapper .sidebar__inner .siderbar_menu a {
background-image:linear-gradient(#fff,#fff);
background-position:bottom left;
background-size:0% 2px;
background-repeat:no-repeat;
transition:
background-size .5s,
background-position 0s 1s;
}
.wrapper .sidebar__inner .siderbar_menu li.active {
background: #a6a6a6;
}
.wrapper .sidebar__inner .siderbar_menu a:hover,
.wrapper .sidebar__inner .siderbar_menu a.active {
color: #fff;
background-position:bottom left;
background-size:100% 2px;
}
<div class="wrapper">
<div class="sidebar__inner">
<ul class="siderbar_menu">
<li id="underline"><a type="button" id="speakBtn">
<div class="icon"><i class="fas fa-play"></i></div>
<div class="title ">Text To Speech</div>
</a>
</li>
<li class="underline"><a type="button" id="pauseBtn">
<div class="icon"><i class="fas fa-pause"></i></div>
<div class="title whiteTxt ">Pause</div>
</a>
</li>
<li class="navButton"><a type="button" id="resumeBtn">
<div class="icon"><i class="fas fa-play-circle"></i></div>
<div class="title whiteTxt ">Resume</div>
</a>
</li>
<li class="navButton"><a type="button" id="cancelBtn">
<div class="icon"><i class="fas fa-stop"></i></div>
<div class="title whiteTxt ">Stop</div>
</a>
</li>
</ul>
</div>
</div>
Комментарии:
1. Именно это, что вы изменили?
2. добавить
display: inline-block
в тег
Ответ №2:
li:hover a{
text-decoration: underline;
}
вы можете использовать имя своего класса вместо li и тега привязки.
Ответ №3:
li a:hover{
text-decoration:underline;
}