28172 sujets

CSS et mise en forme, CSS3

Bonjour,
Je n'arrive pas à définir un alignement pour toute une colonne.
La couleur et la largeur sont bien prises en compte mais pas l'alignement.
Est-ce possible sans avoir à définir une classe pour chaque td ?
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Document sans nom</title>
<style>
.table1 {
	width:400px;
	border:solid 1px #999;
}
.table1 td{
	border:solid 1px #999;
}
.col1 {
	width:50%;
	background-color:#CFF;
	text-align:right;
}
.col2 {
	width:25%;
	background-color:#FCF;
	text-align:center;
}
</style>
</head>
<body>
<table class="table1">
	<col class="col1"/>
	<col class="col2"/>
	<col class="col2"/>
	<tr>
		<td>Un</td>
		<td>1</td>
		<td>11</td>
	</tr>
	<tr>
		<td>Deux</td>
		<td>2</td>
		<td>22</td>
	</tr>
</table>
</body>

Modifié par stanc (30 May 2011 - 16:03)
Bonjour,
La balise COL est appliquée uniquement à l'intérieur de l'élément COLGROUP, au sein d'une TABLE. Elle permet de définir la structure de la table en définissant le nombre et la taille des colonnes de celle-ci.
Cordialement
On ne peut pas leur appliquer de style autre que leur dimension et leur couleur ?
Et si non, comment faire sans répéter la classe sur chaque td ?
stanc a écrit :
On ne peut pas leur appliquer de style autre que leur dimension et leur couleur ?

Je crains bien que ce ne soit pas possible. Cela m'a étonné aussi, j'ai fait pas mal d'essais, en vain.
stanc a écrit :
comment faire sans répéter la classe sur chaque td ?

Personnellement, je ne vois pas d'autre solution Smiley decu .
Arf, merci tout de même d'avoir répondu.
Je sais qu'on peut le faire avec la pseudo classe nth-of-type mais ça ne marche pas sous IE et je trouvais ça plus élégant avec col. Dommage.
Peut-être que quelqu'un a trouvé un moyen.
bonsoir,
plus simple Smiley smile
td             {text-align:center}
td:first-child {text-align:left; }
td:last-child  {text-align:right;}


Cordialement,
GC
Non en effet, l'élément <col> manque de possibilités de styles malheureusement, ce serait pourtant tellement pratique. Je ne compte pas le nombre de fois où j'ai soupiré à cause de ça. ;p

Personnellement je n'ai jamais trouvé d'autre solution que d'appliquer une classe à chaque cellule.
La solution que donne GC-nomade est excellente, mais ne fonctionnera pas sous IE6 (si toutefois il t'est utile de supporter ce nav), et last-child ne fonctionne pas sous IE7, si je ne dis pas de bêtises.
Oui, je suis obligé de tenir compte de IE donc je ne peux pas utiliser les pseudo-classes. Font ch… Smiley fache
C'est pas plus grâve que ça de rajouter une classe à chaque ligne après tout.
Pas optim, certes, mais pas non plus catastrophique.
D'un autre côté, appliquer une classe peut aussi permettre plus de souplesse que d'utiliser les éléments HTML en guise de sélecteur CSS, tout dépend des cas...