Éléments Pseudo sur les tables?
J'essaye d'appliquer un pseudo-élément à un <tr>
mais il s'avère qu'elle ne fonctionne pas comme prévu. Je ne suis pas sûr si je suis absent quelque chose ou si c'est juste tout simplement pas possible.
Voici un jsfiddle exemple: http://jsfiddle.net/jDwCq/
Notez que si vous modifiez l'affichage de tr
à display: block;
, le pseudo-élément, mais il est affiché comme un bloc, plutôt que d'une table, dont j'ai besoin.
Est-il possible ou suis-je condamné?
exactement ce que sont que vous essayez d'atteindre avec cette?
Juste essayer de faire un cool hover effet pour les lignes de la table. Lorsque vous placez le pointeur de la lignes, je veux faire de la hauteur de l'expansion. Ou je veux qu'il ressemble au moins (je ne veux pas ajouter rembourrage ou un changement de la hauteur, car alors les frères et sœurs seront touchées). J'allais utiliser
Juste essayer de faire un cool hover effet pour les lignes de la table. Lorsque vous placez le pointeur de la lignes, je veux faire de la hauteur de l'expansion. Ou je veux qu'il ressemble au moins (je ne veux pas ajouter rembourrage ou un changement de la hauteur, car alors les frères et sœurs seront touchées). J'allais utiliser
:before
et :after
pour la faire ressembler le haut et le bas de la ligne devient plus grande.OriginalL'auteur qwerty | 2012-11-05
Vous devez vous connecter pour publier un commentaire.
Je ne vois pas la nécessité pour les pseudo-éléments.
Je dirai que le fait d'avoir un élément qui n'est pas une cellule, directement à l'intérieur d'une ligne, la demande de la douleur.
Vous pourriez toujours avoir un pseudo-élément à l'intérieur de chaque cellule d'une ligne cible. Avec le droit de css, il n'y aura aucune différence perceptible.
Exemple: http://jsfiddle.net/jDwCq/7/
Basé sur mon expérience de tables et css, tout ce que vous voulez faire avec une ligne peut être fait par le style des cellules, et en général c'est plus cohérent. J'ai ajouté une modification à votre jsfiddle à ma réponse, pour montrer ce que je veux dire.
Succès! Je veux dire, j'ai compris qu'il ressemble vraiment à de la merde, et je suis probablement ne va pas à l'utiliser, mais il fonctionne! Voici un violon avec l'idée que j'avais: jsfiddle.net/LvGQD je souhaite que je pourrais jeter un peu de transitions css3 pour ces pseudo-éléments, de les faire glisser en place, ou peut-être s'estomper.
OriginalL'auteur daveyfaherty
cela devrait fonctionner...
OriginalL'auteur Akhil
Juste mis
display: inline-block;
de TDs, et de leur donner une largeur (~33% chacun)... et supprimerposition: absolute
de la pseudoelement.C'est ça: http://jsfiddle.net/jDwCq/6/
display: table;
est qu'il définit automatiquement la largeur de la colonne en fonction du contenu. Bien sûr, je pourrais coder en dur les largeurs, mais j'aimerais beaucoup préfèrent le faire afficher dans un tableau. Ce n'est pas possible, non?Bien sûr, mais où, dans l'original de votre violon, u ne utilisation
display: table
? 🙂Ah, je voulais dire
display: table-row;
, et je crois que c'est la valeur par défaut pour les lignes de la table (qui serait logique).Ah ok, c'est (w3.org/TR/CSS21/sample.html), mais votre
tr:after
ne fonctionne pas... je ne peux que le faire fonctionner comme ci-dessus, l'espoir qui aide à...Yup, j'ai compris. Merci pour l'aide!
OriginalL'auteur Andrea Ligios
Pour rendre les lignes apparaissent plus à l'aide de
::before
et/ou::after
pseudo-éléments que vous auriez à appliquer les éléments de latd
éléments, mais de sélectionner lestd
des éléments basés sur la:hover
de latr
:JS Fiddle démo.
Cependant, si le but est de " l'air cool1', je vous conseille d'ajuster le style de la
td
éléments eux-mêmes (car de cette façon ils peuvent être animés), plutôt que d'utiliser les pseudo-éléments, qui vient de 'apparaissent':JS Fiddle démo.
De cours à l'aide de cette approche, vous pouvez utiliser des effets de transition sur
color
,background-color
,height
,font-size
border
(-width
ou-color
), et d'ajuster le temps (ainsi que l'assouplissement).Pour animer plusieurs propriétés, il est plus facile d'utiliser le mot-clé
all
(plutôt que les différents noms de propriété).padding
semble ok.' Vous pourriez peut-être consulter votre propre enfant-parents pour la fraîcheur des approches alternatives.:before
pour la partie supérieure de la ligne; il suffit de lui donner le même arrière-plan de la ligne et augmentez la hauteur de la:before
au lieu de la ligne réelle. Même chose pour la partie inférieure, mais avec:after
à la place. De cette façon, il semble que la ligne est en pleine expansion en hauteur.Donc, expliquer, clairement, ce que vous voulez. Parce que je pense que je suis absent quelque chose, vous voulez la ligne à regarder comme il est en expansion sans réellement en expansion?
La ligne réel lui-même ne devrait pas être en expansion, qui ferait les frères et sœurs de sauter partout comme dans votre exemple. Ce que je veux, c'est faire la ligne de s'étendre, mais au lieu de prendre l'espace, tout dépassement de ce frères et sœurs. Pour l'obtenir?
C'est le résultat final que je recherche: jsfiddle.net/LvGQD. Je dois admettre qu'il n'a pas l'air très bon, et je suis probablement ne va pas à l'utiliser (pour cette fin, au moins), mais il fonctionne. Voyez-vous la différence entre votre exemple et le mien?
OriginalL'auteur David Thomas