28172 sujets

CSS et mise en forme, CSS3

Salut, ma question est toue bete, comment je peut faire l'inverse de ca:
table>form{
                    /*...*/
                }

En gros tout les element de type table qui ne sont pas dans un formulaire j'ai bien essayer table:not(form) mais ca n'a pas l'air de marcher.
Et si je fais
table<form{
/*...*/
        }
Ca marche ( ce qui m'etonne car je n'ai vu ca nulle part ) mais netbeas me genere des erreurs.

EDIT: ca ne marche pas, c'est juste que je n'ai plus aucune table
Modifié par TeddyBeers (13 Feb 2014 - 13:50)
Il s'agit d'un code tres moche:

<body>
<section>
<article>
<form>
<table>
</table
</form>
<article>
<section>
</body>

je sais que l'ai table nont rien a faire la mais je fais evoluer une vieille application et je ne peut pas modifier tous les formulaires vu leur nombre et dans mon css j'ai bloc pour les table mais je ne souhaite pas qu'il s'applique aux tables presente dans un form.
Salut,
TeddyBeers a écrit :
je ne souhaite pas qu'il s'applique aux tables presente dans un form.

Ben tout simplement l'équivalent de ça :

table {
    /* déclarations pour les tableaux en général */
}
form > table { /* avec ou sans > suivant qu'il s'agisse d'un enfant direct ou pas */
    /* déclarations pour les tableaux compris dans un formulaire */
}

Non ?

Ton premier exemple de sélecteur CSS de descendance ne peut pas fonctionner puisque dans l'exemple HTML donné, c'est bien form > table et pas table > formSmiley murf
Modifié par audrasjb (12 Feb 2014 - 17:31)
le proleme c'est que les tables a l'interieur des tables ne doivent avoir aucun style donc form>table{} doit rester vide mais dans ce cas la elle vont heriter de table{} et je voudrais savoir comment faire en sorte que cela n'arrive pas. Est ce qu'il n'existe pas un attribut qui indiquerai que je veut aucun style sur ces dernieres dans le genre d'un de ces deux:
form>table{
style:none;
style:reset;
}

Je suppose que ces instructions ne marche pas mais c'est un truc dans le genre que je voudrais.

NB: J'ai resolu le probleme en mettant des class aux table mais une solutio m'interesse toujours si quelqu'un en a une.
Modifié par TeddyBeers (13 Feb 2014 - 08:09)
La solution avec le not marche bien chez moi ^^

*:not(form)>table{
    border:1px solid green;
} 


et le petit jsfiddle pour montrer que ça marche : http://jsfiddle.net/DQNLa/

Le style ne s'applique que aux éléments table qui ne sont pas dans un form Smiley smile

Ps: En testant, il n'y a pas besoin de l’étoile, mais je trouve plus logique avec ( dans le sens on prend tout les éléments avec l’étoile, mais qui ne sont pas un form avec le not)
Modifié par mathieu1004 (13 Feb 2014 - 10:11)
Derniere question, est ce que je peut faire:

*:not(form):not(header){
/*code*/
}

pour enlever egalement les tables contenu dans des formulaires?
Ca marche pas chez moi mais je pense que c'est du a une autre erreur.
J'ai encore pas compris la question :x

a écrit :
pour enlever egalement les tables contenu dans des formulaires?

Ça c'est ce qu'on a fait a la base...
Je vois un header dans ton test.

Du coup je suppose que tu veux ne pas prendre en compte les table qui sont dans un form ou dans un header.
*:not(form):not(header)>table 


Il faut juste pas oublié de préciser la balise table.
Modifié par mathieu1004 (14 Feb 2014 - 13:34)
TeddyBeers a écrit :

pour enlever egalement les tables contenu dans des formulaires?.

Oui effectivement c'est dans les headers.
Et j'avais oublier la balise table en recopiant le code ici.
Mais tu a repondu a ma question, c'est bien ce que je voulais faire, merci a toi.