Encart box-shadow en dessous de contenu
Je ne comprends pas pourquoi, mais un encart zone d'ombre est en dessous de mon contenu.
Voici un exemple:
CSS:
div {
box-shadow:inset 0 0 10px black;
height:300px;
color:red;
}
HTML:
<div>
a
</div>
Vous voyez le a
est au-dessus de la zone d'ombre.
Comment puis-je obtenir la zone d'ombre pour être au top de la a
?
- J'ai déjà utilisé cette olution fonctionne très bien, mais de plus inportant chose est z-index de cette div:avant. N'oubliez pas de l'utiliser lorsque Vous avez de la difficulté à couvrir la totalité du contenu.
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de faire un nouvel élément à l'intérieur de la div, avec un positionnement absolu et la hauteur et la largeur de 100%, puis donner qu'élément de la zone d'ombre.
HTML:
CSS:
Ici est un JSFiddle.
Edit:
Alternativement, vous pouvez utiliser un pseudo-élément:
HTML:
CSS:
JSFiddle.
:before
,:after
) peut être utilisé à la place d'un élément réel. (IE8 prend en charge le contenu généré aussi, mais a un bug empêchant le contenu généré par être au-dessus de réel contenu, et bien sûr ne prend pas en charge CSS zone d'ombre de lui-même.)div
à l'intérieur de la centralediv
l'ombre de l'élément ou de la pseudo classe fixe sur le dessus de l'intérieur de ladiv
. Si j'ajoute un z-index à l'intérieur de la div, puis il va sur le dessus de la box-shadow. Essayez de cliquer sur le lien dans cette démo: jsfiddle.net/MAckM/5pointer-events:none;
sur l'élément de superposition.div
, comme:before
fera de l'ombre en faisant défiler avec le contenu.Cette réponse vous propose la solution la plus simple via un exemple minimal et aborde la question de défilement.
Malheureusement, il n'existe aucun moyen d'éviter un emballage supplémentaire
div
(en raison debox-shadow
la superposition).CSS:
HTML: