Przysięgam, robiłem to setki razy, ale nie wiem, dlaczego moje tło :before
pseudoelementu jest wyświetlanie za tekstem, ale nie za tłem kotwicy. Myśli?:: przed pseudoelementem o ujemnym indeksie z nie wyświetlającym się za rodzicem
.button {
background: tomato;
padding: 10px 30px;
margin: 20px 0;
display: inline-block;
}
.button:hover {
margin: 18px 0 22px 2px;
position: relative;
z-index: 2;
}
.button:hover:after {
position: absolute;
background: red;
top:-2px;
left: -2px;
content: "";
z-index: -10;
width: 100%;
height: 100%;
}
<a class="button" href="#">Meow</a>
Próbka tutaj: http://jsfiddle.net/cfree/hnKLr/
Staje się to o wiele bardziej jasne w nowszych wersjach Chrome, gdzie: :: before i :: after są węzłami w elemencie, do którego są przyłączone. – cfree