gpt4 book ai didi

html - 伪元素::隐藏同级元素的内容之前

转载 作者:行者123 更新时间:2023-12-02 20:44:26 25 4
gpt4 key购买 nike

我想在将鼠标悬停在列表元素(或者这些列表元素中的 anchor 标记)上时创建过渡效果。

不幸的是,当我使用我创建的转换时,::before 伪元素(或::after,我不确定)隐藏了技术上它的同级内容,即 anchor 标记内的文本。

我尝试过操作 ul、li 和 a 标签上的 z-index,但没有成功。问题可能在于我在转换中使用了position:absolute,但我不知道我做错了什么。

这是 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>

最佳答案

给父级 li 一个 z-index,然后在伪元素上使用 z-index: -1 将其推到父元素后面a 但位于 li 之上。

您还需要关闭您的ul

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;
z-index: 1;
}

#headercontainer ul li a {
color: #fff;
font-size: 20px;
text-decoration: none;
transition: color .25s;
}

a::before {
content: '';
display: block;
height: 0px;
background-color: #fff;
position: absolute;
bottom: 0;
width: 100%;
transition: all ease-in-out 200ms;
z-index: -1;
}

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>

</ul>
</div>

</header>
</body>

关于html - 伪元素::隐藏同级元素的内容之前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44955253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com