2011-02-26 5 views
1

Jetez un oeil à ce JS Fiddle:CSS: éléments indenter entre x et y

http://jsfiddle.net/LJLTX/3/

Ce que je veux faire est tiret le contenu de chaque ligne entre la 2ème ligne et la dernière rangée. Dans ce cas, ce serait les 3e, 4e et 5e rangées.

Comment puis-je accomplir cela en CSS?

+3

Pourquoi marquez-vous cela dans un tableau? – BoltClock

+0

Vous devriez essayer d'utiliser des classes et des hiérarchies plutôt que des nombres pour identifier vos éléments. –

+0

Quels navigateurs essaies-tu de supporter? Il y a des pseudo-sélecteurs assez fous que vous pouvez utiliser, mais tout le monde ne les a pas encore. – sdleihssirhc

Répondre

0

Vous pouvez le faire avec JQuery:

$('.geniusPicks tr>td').slice(1,5).addClass('indent') 

I ajouté le tiret classe:

http://jsfiddle.net/DmcEB/1/

+0

le retrait de texte sera meilleur que le remplissage. – methyl

0

Si vous pouvez compter sur le visiteur ayant un navigateur moderne, vous pouvez utiliser:

td { 
    padding-left: 20px;  // or whatever distance you need 
} 
tr:nth-child(2) td, 
tr:last-child td { 
    padding-left: 0; 
} 

Mais cela ne fonctionne pas dans les anciennes versions de IE (je ne suis pas e ême sûr de IE8) afin de répondre que vous pourriez donner à la première ligne réelle (et non la ligne d'en-tête) et la dernière ligne de la table une classe et de l'utilisation:

td { 
    padding-left: 20px;  // or whatever distance you need 
} 
.first_real_row_class td, 
.last_row_class td { 
    padding-left: 0; 
} 
+0

Encore une fois: utilisez le texte-indent au lieu de remplissage. – methyl

+0

@methyl Cela dépend; Si le texte peut couvrir plus de lignes et que vous voulez que tout soit indenté, vous avez besoin de quelque chose comme un remplissage. Mais à la fin c'est à l'OP, j'essaie juste d'illustrer les sélecteurs. – jeroen

Questions connexes