Ligne de la Table de Box-Shadow sur le vol Stationnaire (Webkit)
Est-ce possible?
Mon code fonctionne sur Firefox. Je peux également obtenir webkit pour modifier d'autres propriétés (par exemple la couleur de fond, etc.) sur le vol stationnaire, mais la zone d'ombre n'a pas de prise d'effet:
tr:hover {
-webkit-box-shadow: 0px 2px 4px #e06547;
-moz-box-shadow: 0px 2px 4px #e06547;
box-shadow: 0px 2px 4px #e06547;
background-color: #d4d5d6;
}
- Je trouver des styles sur
tr
n'ont pas le meilleur soutien.OriginalL'auteur Anthony C | 2011-05-12
Vous devez vous connecter pour publier un commentaire.
Que la réponse ici: https://stackoverflow.com/a/11002077/1106393 plutôt que de style
tr
vous devriez style de latd
-élément en combinaison avec le pseudo classes:first-child
et:last-child
. Ajoutanttr:hover
va faire l'affaire pour vous:Démo 1 avec en médaillon: http://jsfiddle.net/Kk6Th/
Mise à jour:
Démo 2 sans cadre (classique de l'ombre portée): http://jsfiddle.net/2nw4t/1/
Démo 3 sans cadre (lueur effet): http://jsfiddle.net/2CSuM/
inset
. Même tripoter sansinset
sur les ombresIl fonctionne sans
inset
: violon C'est seulement la quatrième propriété box-shadow (anciennement-3px
) qui n'a pas l'air bon. Changer de0
...Eh bien, vous avez en effet fait regarder à droite, +1! C'est toujours dommage que je ne pouvais pas l'utiliser, parce que mes cellules sont transparents (et je voulais juste un "éclat" comme effet). Ma solution: superposition d'une liste (dans ce cas, un
<nav>
avec<a>
s) sur le dessus de la table. Ce qui a fonctionné, parce que je voulais que chaque être un lien (également résolu le problème de ne pas être en mesure d'envelopper l'ensemble de<tr>
dans un lien). Mais si j'avais un plus compliqué la situation est différente, il devrait être JS-seulement, malheureusement.pensez-vous qu'il est possible de faire ce travail (sans cartouche) lorsqu'également d'avoir un haut & à gauche de l'ombre sur la ligne? J'ai essayé de changer les valeurs de la box-ombre, mais ne pouvait pas le faire fonctionner sans avoir un peu d'ombre se déversant sur le voisin de gauche/de droite de la cellule.
Découvrez les édité réponse: Démo 3 (travaux, mais un peu hacky... testé Uniquement sur webkit)
OriginalL'auteur AvL
Je suis confronté à ce problème et j'ai trouvé quelques solutions de contournement:
td
.display: block
surtr
.td:first-child:before
.td
et couvrir une partie que nous n'avons pas besoin.Vous pouvez les consulter sur cette jsFiddle:
https://jsfiddle.net/maskl/cxscmvpr/3/
OriginalL'auteur Marek
Je suis tombé sur ce post tout en traitant avec un problème similaire, récemment. Je crois que j'ai trouvé un autre en utilisant l'approche de
display: flex;
avecposition: relative;
propriétés sur votretr
élément en CSS avec beaucoup moins de balisage (peutd
de style et de moins de pseudo style):Installation
tr
que flexboxC'est le TR comme un flexbox qui lui permet d'être touchés par
z-index
sans casser sa position dans les DOM. Tout ce que vous devez, ensuite, est d'ajuster l'z-index
de latr:hover
pseudo-élément et ajouter votrebackground-color
etbox-shadow
effets:Installation
:hover
EffetsVous devrez peut-être ajuster la taille et la position de
td
éléments à l'intérieur de latr
flexbox à l'aide de laalign-items
puisque nous ne sommes plus à l'aide de la tr est par défautdisplay: table-row
de la propriété. Vous centrez votretd
éléments verticalement à l'aide de thralign-items: center;
propriété (voir ci-dessus). Ensuite, vous définissez votre td largeurVoir le travail de violon ici: https://jsfiddle.net/t68b9cwd/6/
Cette solution est assez universelle, avec les navigateurs modernes de la manipulation de ce sans préfixes mais il peut y avoir des cas avec les anciens navigateurs que vous pouvez avoir besoin d'effectuer des solutions de contournement (https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Backwards_Compatibility_of_Flexbox) et est similaire à la façon dont Google styles de lignes dans Gmail.
OriginalL'auteur Kenneth Petty
Ce qui m'est arrivé et j'ai mis quelques petites border-radius sur elle, et il fonctionne.
Selon le look que vous essayez d'atteindre, il peut être un hack que vous pouvez utiliser.
OriginalL'auteur Kenny
AvL de la solution est très bon, merci pour l'astuce. Mais si comme moi vous voulez le
box-shadow (inset)
dans l'ensemble tr, et pas seulement d'un côté, ce code devrait vous aider :OriginalL'auteur Fanch
Utilisation transformer échelle(1,1) propriété avec box-shadow va résoudre le problème.
Violon: https://jsfiddle.net/ampicx/5p91xr48/
Merci!!
OriginalL'auteur Anurag Malhotra
Ajouter cette
Pour quelque raison Webkit doit explicitement sais que l'élément est un élément de bloc pour afficher une zone d'ombre.
les navigateurs n'aime pas ça, et pourtant...
OriginalL'auteur ramono