[CSS] héritage

héritage [CSS] - HTML/CSS - Programmation

Marsh Posté le 01-07-2005 à 09:35:09    

Bonjour,
 
Est-ce qu'il est possible, dans le fichier css, d'avoir des éléments qui héritent d'un autre élément.
Je ne parle pas d'héritage dans le code html qui signifie que les styles css d'un TD prennent les styles du TABLE au-dessus.
 
Mais j'aimerais bien avoir un héritage dans la feuille CSS que j'imagine de la sorte :
On définit un élément dans le fichier css, par exemple .title {color:red; font-size:15px}
Puis, un autre élément .subtitle ([code indiquant qu'il hérite de title]) {font-size:11px}
 
Cela ferait que subtitle hériterait de la couleur red, sans avoir à le redéclarer dans la feuille css.
Et que si on change la couleur red de title ça se répercuterait automatiquement sur subtitle.
 
Est-ce qu'une telle chose est possible avec css?

Reply

Marsh Posté le 01-07-2005 à 09:35:09   

Reply

Marsh Posté le 01-07-2005 à 09:50:31    

tu peux faire ça si tu veux :  
 
 
/*tu défini title et subtitle en rouge et 15px*/
.title, subtitle {color:red; font-size:15px}
/*tu redefini subtitle en 11px et il reste en rouge*/
 .subtitle {font-size:11px}

Reply

Marsh Posté le 01-07-2005 à 11:05:42    

Excellent! Merci :o)
 
Je ne savais pas qu'on pouvait définir deux fois et que ça surchargeait les anciens styles.
 
Et dans le même ordre d'idée... Je voudrais que tous les styles de ma feuille aient font-size:11px.
Mais si je suis ton idée ça va faire une définition énorme : .title, subtitle, A, text, header, list-column, ... etc etc etc etc {font-size:11px} et à chaque fois que j'ajoute un nouveau style il va falloir que je l'ajoute dedans.
 
J'ai essayé de mettre font-size:11px dans BODY {font-size:11px} mais ça n'a pas marché. A chaque fois que je met une nouvelle balise il oublie ce 11px
 
Est-ce qu'il n'y a pas un code en css qui signifie "Toutes les balises". A ce moment je lui donnerai ce font-size, la police et la couleur de base de toutes mes balises.

Reply

Marsh Posté le 01-07-2005 à 11:06:31    

(dans mon message du dessus je voulais dire :
 
Excellent! Merci :)
 
(je me suis trompé de smiley)

Reply

Marsh Posté le 01-07-2005 à 11:10:09    

euh ...  
 
ca ? :

Code :
  1. *
  2. {
  3. font-size:11px;
  4. }


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
Reply

Marsh Posté le 01-07-2005 à 11:14:38    

aminebousta a écrit :

Est-ce qu'il n'y a pas un code en css qui signifie "Toutes les balises". A ce moment je lui donnerai ce font-size, la police et la couleur de base de toutes mes balises.


"*"
C'est le sélecteur universel, mais ça va vraiment toucher toutes les balises, sans aucune exception :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 01-07-2005 à 11:37:20    

Merci pour tous ces conseils :)
 
Mon fichier css va être plus propre désormais.
 
@+

Reply

Marsh Posté le 01-07-2005 à 14:30:11    

Tu as aussi la valeur "inherit" que tu peux appliquer a n'importre quelle propriete et l'element prendra la valeur de son parent pour cette propriete :)
exemple :
* { color: blue; }
div { color: red; }
div > div { color: inherit; }

Reply

Marsh Posté le 01-07-2005 à 14:31:46    

afbilou a écrit :

Tu as aussi la valeur "inherit" que tu peux appliquer a n'importre quelle propriete et l'element prendra la valeur de son parent pour cette propriete :)
exemple :
* { color: blue; }
div { color: red; }
div > div { color: inherit; }


 
erf je l'avait oublié celui là merki mon lapin
 
donc maintenant aminebousta tu as ce que tu voulais :
 
/*tu défini title en rouge et 15px*/  
.title, subtitle {color:red; font-size:15px}  
/*defini subtitle en 11px et il reste en rouge*/  
 .subtitle {color:inherit; font-size:11px}

Reply

Marsh Posté le 01-07-2005 à 14:34:16    

Si subtitle est un enfant de title evidemment.

Reply

Marsh Posté le 01-07-2005 à 14:34:16   

Reply

Marsh Posté le 01-07-2005 à 14:40:08    

vi evidemment donc ma premiere solution etait la bonne

Reply

Marsh Posté le 01-07-2005 à 14:48:18    

Oui, on part sur l'idée que subtitle est enfant de title.
Je veux lui faire hériter de toutes les propriétés sauf font-size.
 
Par contre afbilou je n'ai pas compris ton code "div > div".
Que veut-il dire?
Dans l'illustration de gatsusat, il n'utilise pas ce signe ">".
De plus gatsusat définit l'enfant chez le parent alors que toi on dirait plutôt que tu fais référence au parent depuis l'enfant (ce qui m'intéresserait plus d'ailleurs).
 
Ce que tu appelles "parent", est-ce que c'est la balise "parente" au sein même du fichier html?
Ou est-ce que c'est un parent dans la hiérarchie de définition des styles css dans le fichier css?
(je ne sais pas si cette notion existe en css et c'était ma question de départ)
 
La balise contenant le class "subtitle" n'est pas imbriquée dans la balise contenant le class "title". Est-ce que ça peut marcher?
 
Merci d'avance

Reply

Marsh Posté le 01-07-2005 à 15:40:33    

> est un selecteur. Il designe un fils direct.
+ designe un frere.
 
<span1></span1><div><span2><span3></span3></span2></div>
 
div span {...} : designe span 2 et 3
div > span {...} : designe span 2
div > span + span : designe span 3
Bref documente toi sur les selecteur CSS http://www.yoyodesign.org/doc/w3c/css2/selector.html

Reply

Marsh Posté le 01-07-2005 à 15:46:51    

Ah oui evidemment IE a parfois des lacunes pour les selecteurs ... mais bon tant pis pour lui !

Reply

Marsh Posté le 01-07-2005 à 15:50:33    

Merci pour le lien, c'est dans mes favoris :)
 
C'est dommage pour IE car je fais justement un programme pour quelqu'un qui utilise IE.  
Donc je ne pourrai pas utiliser ce sélecteur. Tant pis pour moi! ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed