这是“不可能”的CSS时刻之一... 我想在视觉上为元素添加厚度。这很简单,我之前就已经完成了,并且使用伪元素之后的效果非常好。 这个伪元素有一个绝对位置。它的父母有一个相对的位置。 一切都很好,除了伪元素没有显示,可能是由于z-index问题。所以我把一个负Z指标给伪元素和一个Z指数为0的父指标,是的它的工作原理...但内容显示在其父母的文本下,而不是背景。怎么可能?!绝对:在相对父项下不显示伪元素后
您可以在这里查看:https://www.fluidtopics.com/find-and-view/ 在页面的末尾,有一个紫色按钮“合并和发布”,应该有一个厚度。玩“a”元素的z-index,你会明白我的意思。
工作例如:http://jsfiddle.net/sugardaddy/vq2x2uue/
HTML
<a href="#" class="ctabutton ctabutton-primary ctabutton-standard "><i class="ft-webicons-coffee"></i>Read Jane’s story</a>
CSS
.ctabutton-primary::after {
background-color: #521a4a;
}
.ctabutton::after {
border-radius: 0.4em;
bottom: -3px;
content: "";
height: 20px;
left: 0;
position: absolute;
width: 100%;
z-index: -1;
}
.ctabutton-primary, .ctabutton-primary:hover {
background-color: #852a79;
color: #ffbb1a !important;
}
.ctabutton, .newsform .mktoForm .mktoButtonWrap.mktoRound .mktoButton {
border-radius: 0.3em;
display: inline-block;
font-weight: 400;
padding: 0.5em 1em;
position: relative;
transition: all 200ms ease-in-out 0s;
vertical-align: middle;
}
感谢您的帮助!
编辑:经过一些调查,设置一个负Z指数的伪元素使它消失,但只在页面的那一部分。检查菜单中的按钮......它像一个魅力。所以我认为这是由于对父元素的规则,但我不知道哪一条或什么规则。编辑2:现在我真的认为这是由于嵌套的相对元素。在每个级别,我添加一个z-index:inherit
,现在我可以看到伪元素。但是我只能在一级父母没有背景时才能看到它(米色)。进行中...
问题寻求帮助调试(“为什么不是这个代码的工作?”)必须包括所期望的行为,一个特定的问题或错误,并在最短的代码必须在问题本身**中重现**。请参阅[**如何创建最小,完整和可验证示例**](http://stackoverflow.com/help/mcve) –