28172 sujets

CSS et mise en forme, CSS3

Bonjour à tous,

Je mets deux class dans l'attribut class d'un td :
<td class='td1 right'>du texte..</td>

j'attribut à chaque class des propriétés css différentes et firefox me génère un bug qui n'est pas géréré par IE 7 ..
Quelqu'un aurait'il connaissance d'un problème lié à l'utilisation de deux class dans un attribut class="" ?

Mon code plus complet :


<div id="div#stock_commande">
<form method="post" action="http://localhost/bouticycle/boutique-caddie-1.html">
<table>
<tr>
<td class="td1">Amande</td><td class="td1 right"><input value="0|0|0|0|6" name="stock" type="radio"></td>
</tr>
<tr>
<td class="td2">Banane/chocolat</td><td class="td2 right"><span class="stock_indisponible">Nous contacter pour les délais de livraison</span><input value="0|0|0|0|8" name="stock" type="radio"></td>
</tr>
<tr>
<td class="td1">Noix de coco/chocolat</td><td class="td1 right"><input value="0|0|0|0|9" name="stock" type="radio"></td></tr><tr><td class="td2">Fruits rouges</td><td class="td2 right"><input value="0|0|0|0|11" name="stock" type="radio"></td>
</tr>
<tr>
<td class="td1">Chocolat</td><td class="td1 right"><span class="stock_indisponible">Nous contacter pour les délais de livraison</span><input value="0|0|0|0|5" name="stock" type="radio"></td>
</tr>
</table>
</form>
</div>


Ma css :



.right { text-align: right; }

.center { text-align: center; }

div#stock_commande table td.td1 { padding: 2px 10px; background: #CCCCCC; }

div#stock_commande table td.td2 { padding: 2px 10px; background: #eaeae8; }

Hello, mise à part la présence de cette table qui me semble superflu pour le rendu voulu et de surplus mal construite, le problème vient de ta déclaration css


<div id="div#stock_commande">
ne serait pas plutôt
<div id="stock_commande">


et dans ton css
div#stock_commande table td.td1
qui a prendre le squelette de ta déclaration remet les éléments dans l'odre logique
div#stock_commande form table tr td.td1
Smiley cligne
Modérateur
Salut,

Je crois que tout simplement cette syntaxe est fausse. Il me semble qu'un attribut ne doit pas être séparé par un espace. Sinon utiliser un tiret demi cadratin ou un souligner ou jouer avec majuscule/minuscule (se tenir tout le long à une forme). Que IE comprenne ce genre d'ineptie cela ne m'étonne pas trop vu que c'est un browser "anti standard".

À mon avis fait plutôt une class à part que deux class dans une balise Smiley cligne .

++
Modifié par Nolem (01 Oct 2008 - 15:54)
Hello Nolem, il est tout à fait possible d'utiliser 2 attributs sur un même élément en le séparent par un espace. Le problème essentiel est
<div id="div#stock_commande">
Smiley langue div# est en trop puisqu'il est déjà déclaré par id="" Smiley ravi .

Petit conseil aussi erehcab, évite de nommer tes class right ou encore center qui porte vie à confusion.

Bon courage
Nolem a écrit :
Salut,

Je crois que tout simplement cette syntaxe est fausse.


http://www.la-grange.net/w3c/html4.01/struct/global.html#adef-class
a écrit :
class = liste-de-valeurs-cdata : Cet attribut assigne un nom de classe, ou un ensemble de noms de classe, à un élément. Un nombre quelconque d'éléments peut se voir assigner les mêmes nom de classe ou noms. Les noms de classe multiples doivent être séparés par des caractères blancs.
Merci pour vos réponse,

en faite le bug c'est que le tableau à deux colonnes qui prennent 100% de la largeur du tableau, et avec cette manip pour intégrer deux class la colonne concernée ne prend plus 100% de la largeur.

La syntaxe a l'air de fonctionner mise a part le bug qu'elle génère sous IE Nolem, je l'ai découverte en travaillant avec Wordpress qui l'utilise.
Modifié par erehcab (01 Oct 2008 - 17:36)
Modérateur
Je ne savais pas du tout que ce genre de syntaxe était possible. Si je comprends bien c'est une petite exception à la règle et en plus on peut mieux optimiser sa *.css (super cool). Habituellemeent, je faisais une class gras, une class italique, une class gras_italique, etc.

Merci Igor pour ce petit tut Smiley smile .

++
Modifié par Nolem (01 Oct 2008 - 21:26)
Nolem a écrit :
Je ne savais pas du tout que ce genre de syntaxe était possible. Si je comprends bien c'est une petite exception à la règle


Quelle règle ? Smiley cligne
Nolem a écrit :
Si je comprends bien c'est une petite exception à la règle

Chaque attribut HTML accèpte un type de valeur. Il y a donc une règle spécifique par attribut. La règle générale, c'est la spécification HTML 4.01, qu'il n'est pas interdit de consulter (dans sa traduction française, par exemple).

Nolem a écrit :
Habituellemeent, je faisais une class gras, une class italique, une class gras_italique, etc.

Vraiment? Tu veux dire que tu n'utilises pas les éléments STRONG, EM, CITE, etc., ou encore des classes ayant un rapport avec le contenu (par exemple "exergue" ou "article-intro")?