【发布时间】:2017-07-06 17:15:16
【问题描述】:
我想在将鼠标悬停在列表元素(或者这些列表元素中的锚标记)上时创建过渡效果。
不幸的是,当我使用我创建的过渡时,::before 伪元素(或 ::after,我不确定)在技术上隐藏了它的同级内容,即锚标记中的文本。
我尝试在 ul、li 和 a 标签上操作 z-index 无济于事。问题可能在于我对位置的使用:在我的转换中绝对,但我不知道我做错了什么。
这是 HTML 和 CSS 以及 JSFiddle link
html, body {
height: 100%;
margin: 0;
padding: 0;
font-family: 'Open Sans', sans-serif;
}
#headercontainer {
background-color: #4f2f65;
height: 125px;
position: relative;
}
#headercontainer ul {
height: 100%;
display: table;
text-align: center;
list-style: none;
margin: 0;
padding: 0;
}
#sitelogo {
padding-top: 0px;
}
#headercontainer ul li {
display: table-cell;
vertical-align: middle;
position: relative;
}
#headercontainer ul li a {
color: #fff;
font-size: 20px;
text-decoration: none;
}
a::before {
content: '';
display: block;
height: 0px;
background-color: #fff;
position: absolute;
bottom: 0;
width: 100%;
transition: all ease-in-out 200ms;
}
a:hover::before {
height: 125px;
}
header::after {
content: '';
display: table;
clear: both;
}
#headerlinkslist a:hover {
color: red;
}
.headerlinks {
padding-left: 80px;
padding-right: 80px;
}
<body>
<header>
<div id="headercontainer">
<ul id="headerlinkslist">
<li id="sitelogo"></li>
<li><a href="" class="headerlinks">RULES</a></li>
<li><a href="" class="headerlinks">NEWS</a></li>
<li><a href="" class="headerlinks">STATS</a></li>
<li><a href="" class="headerlinks">SUBMIT</a></li>
<li><a href="" class="headerlinks">LOGIN / REGISTER</a></li>
</div>
</header>
</body>
【问题讨论】:
-
您希望实现的过渡是什么?
-
@Ryan OP 的过渡在链接悬停时隐藏链接文本。
-
问题的可重现 sn-p 应该存在于问题本身中。请编辑您的问题以包含复制问题所需的所有代码,最好作为可运行的 SO-sn-p。 (不是像 JSFiddle 这样的外部资源)
-
是否有可能在锚标签内添加一个额外的元素(即跨度标签)?
标签: html css pseudo-element