28172 sujets

CSS et mise en forme, CSS3

Bonsoir,

Petit souci pour calculer les priorités,

de ce que j'ai compris. l'id surpasse la class par exemple dans le C.S.S. mais comment calculer la priorité entre plusieurs classes et entre plusieurs pseudo-classes ? Le nombre ?

Je suis bien tenté de mettre un !important mais j'ai pas envie d'avoir plus de soucis encore. Smiley sweatdrop
Modifié par jmlapam (25 Jan 2012 - 16:28)
salut Smiley cligne

Je ne suis pas sur de ce que j'avance mais, CSS = Cascading Style Sheet... qui dit en cascade dit dans l'ordre de la descente...

Donc les class, se mettent par ordre d'arrivée... l'élément STYLE en attribut étant le dernier pris en compte...

Pour moi l'ordre est ainsi fait

du haut vers le bas dans le fichier css appelé en haut de page, puis la deuxième feuille si il y a, ensuite les balises STYLE posée dans le Head, enfin les class appelée en attribut et pour finir l'attribut style de l'élément dans l'ordre d'apparition...

Je pense que c'est ainsi que se gère les priorités CSS...
Je t'avais déjà expliqué le fonctionnement de la priorité dans une de tes autres questions.

L'ordre d'affichage ne sert qu'à définir quels attributs seront appliqués en cas d'égalité de priorité.

Pour le reste, c'est la valeur et le nombre.

Un id passera toujours avant une class et une classe passera toujours avant un nom de balise. Deux class évidemment surpasseront une seule class, mais 1 id sera toujours prioritaire sur 80 class.

[voir mon prochain commentaire pour explications plus complètes]
Modifié par Vaxilart (25 Jan 2012 - 04:38)
je te remercie encore de renouveler l'explication mais je vois pas a quoi sert le 'je t'avais déjà expliqué' , tu les notes ? Smiley lol

Rien ne concerne les pseudo-classes de plus.
Edit >> cet ordre je le connaissais, un certain Vaxilart me l'avait expliqué Smiley smile mais la question est sur comment se départage la priorité entre classes et entre pseudo-classes
Modifié par jmlapam (25 Jan 2012 - 03:35)
Je ne note rien, mais je me rappelais cette explication (qui était, il me semble, un peu plus complète que celle-ci si je ne m'abuse. J'avais espoir de te la remémorer il faut croire.)

Pour ta question.

Les deux ont la même valeur. Alors ce sera d'abord au nombre, ensuite si c'est égal ce sera à la position dans la feuille de style.

Et pour référence (car j'ai fais une erreur tout à l'heure):

A -> attribut style sur une balise html
B -> id
C -> class, pseudo-classe, sélecteur d'attributs (e.g.: [])
D -> nom de balise

A > B > C > D

En cas d'égalité en terme de priorité, le sélecteur sera départagé ainsi:

1- Nombre de sélecteurs (de même type, on commence par A et ainsi de suite).
2- Position dans la feuille de style; la dernière déclaration étant priorisée.
Mais je m'en souvenais seulement non elle était plus générale,
super exactement ce que je cherchais sinon

Smiley merci