当我试图对按钮的背景进行风格化时,我被CSS 伪元素:before
所困扰。:after
问题是这样的:当我只使用正 z 索引将span
自身及其伪元素以正确的顺序放置时,:before
并且:after
总是与元素重叠。当我使用负 z-indices 时,没关系,但我不想更改其他底层元素的 z-indices 只是为了使按钮工作。
所以这就是问题所在,这就是除了负 z 指数之外要实现的目标。
问题代码:
.button {
display: inline-block;
z-index:3;
position: relative;
left: 25px;
top: 25px;
height: 60px;
padding-left: 20px;
padding-right: 20px;
background: rgb(96,96,100);
border: 1px solid #202020;
color: #dddddd;
}
.button:before {
content: "";
width: 100%;
height: 100%;
z-index: 2;
position: absolute;
background: rgba(85,85,90, .7);
padding: 10px;
left: -10px;
top: -10px;
}
.button:after {
content: "";
width: 100%;
height: 100%;
z-index: 1;
position: absolute;
background: rgba(85,85,90, .4);
padding: 20px;
left: -20px;
top: -20px;
}