2010-04-23 6 views
1

question débutant dans css:changer un attribut de css

Je le style suivant défini:

TABLE.tabulardata th { 
    font: bold 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif; 
    background: #CAE8EA url(images/bg_header.jpg) no-repeat; 
} 

Je veux créer un style identique, mais avec différentes couleurs d'arrière-plan.

question: est-il possible de paramétrer l'attribut. Couleur d'arrière-plan dans ce cas ou dois-je à nouveau copier le même style?

Répondre

1

Comme ça?

.myclass { 
    font: bold 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif; 
    background: url(images/bg_header.jpg) no-repeat; 
} 


TABLE.tabulardata th { 
    background-color: #CAE8EA; 
} 

ajoutez simplement "MyClass" à tout élément que vous souhaitez partager les attributs ..

+0

Si vous aimez ce genre de chose, vous voudrez peut-être vérifier quelque chose comme MOINS - http://lesscss.org/ Vous pouvez déclarer des variables pour contenir des styles, et les appeler quand vous le souhaitez, pour réutiliser/mélanger un tas de styles ensemble en nouveaux :) – Jeriko

+0

merci Jeriko pour la réponse rapide. cela m'a aidé Je vais regarder dans l'option MOINS aussi :) – balalakshmi

+0

MOINS et HAML ont été des trouvailles pour moi - ils deviennent la partie la plus ennuyeuse d'être un développeur (IMO, au moins) dans un jeu d'enfant. Heureux de vous aider! – Jeriko

-1

background-color: red

+0

Cette question ne concerne pas la définition de la couleur de fond (il l'a déjà fait dans l'exemple de la question) il s'agit d'avoir un style similaire entre les éléments, avec quelques différences. Voyez la réponse de Jeriko. – Fenton

0

cela est impossible avec css pur. ce que vous pouvez faire est de créer 3 styles avec des classes, l'un étant commun à deux fois puis les affecter à un élément

.font { font-family: Linux Biolinum; } 
.red { color:red; } 
.blue { color:blue; } 

<div class="font red">red</div> 
<span class="font blue">blue</span> 
0

Une façon serait:

TABLE.tabulardata th, TABLE.tabulardataOther th { 
    font: bold 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif; 
    background: #CAE8EA url(images/bg_header.jpg) no-repeat; 
} 

TABLE.tabulardataOther th { 
    background: #FFF url(images/other_header.jpg) no-repeat; 
} 

Cela fonctionne en raison de la priorité CSS. La première ligne définit tabulardata et tabulardataOther dans le même style. Ensuite, la deuxième ligne remplace uniquement l'arrière-plan de tabulardataOther (en laissant les autres attributs identiques).

Questions connexes