CSS pour définir la couleur d'arrière-plan pour juste un pourcentage de la largeur d'une ligne de la table
J'ai une table de base avec deux colonnes: le nom et la valeur. J'aimerais ombre chaque ligne de la table un pourcentage approprié de la largeur en fonction de la taille de la valeur (afin de créer un mouvement latéral de l'histogramme!). Je peux écrire le code qui permet de calculer le pourcentage à définir, mais je ne peux pas comprendre le CSS à fait de l'ombre chaque ligne de manière appropriée. Il semble que l'ensemble de la ligne peut être à l'ombre, mais pas un pourcentage. Est-ce vrai?
FWIW, je suis en utilisant Twitter Bootstrap et je peux utiliser jQuery trop si besoin. Cela ne fonctionne que sur Chrome donc CSS3 & Webkit seulement est très bien! Voici le code HTML.
<table class="table">
<tbody class="lead">
<tr>
<td>
Joe
</td>
<td>
10
</td>
</tr>
<tr>
<td>
Jane
</td>
<td>
20
</td>
</tr>
<tr>
<td>
Jim
</td>
<td>
2
</td>
</tr>
</tbody>
</table>
Des conseils sur la façon de faire cela? Espérons que cette question a du sens.
source d'informationauteur tonic
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser linéaire dégradés de.
Si le pourcentage est de 40%:
Démo
Donc, en JavaScript,
Démo
Si vous voulez l'appliquer à chaque ligne différemment:
Le problème est que le réglage de l'arrière-plan de la
tr
fonctionne bien sur Firefox et Opera, mais sur Chrome le dégradé est appliqué à chaque cellule.Ce problème peut être résolu en ajoutant ce code (voir https://stackoverflow.com/a/10515894):
Démo
Pas besoin d'utiliser des dégradés. Tout d'abord, créer un simple fichier image avec la couleur que vous souhaitez à l'ombre de votre ligne. Dans mon cas, j'ai créé un
.png
qui est entièrement de couleur noire (black.png
dans l'exemple ci-dessous). Maintenant, il suffit d'utiliser labackground-image
etbackground-size
propriétés de la couleur de la partie appropriée de la ligne.Exemple, HTML:
CSS:
Résultat:
Voici un extrait de simple sur la façon d'automatiser ce pour votre exemple:
Petite démo: pourcentage de la largeur de bg couleur (non dégradé).
J'espère que contribué à!