CSS Klassen aus Klassendefinition referenzieren?

schlumsch

Cadet 4th Year
Registriert
Feb. 2008
Beiträge
73
Hallo allerseits,

ich habe da folgendes Problem. Ich definiere in einem css-File verschiedene Klassen, unter anderem die folgenden beiden:

Code:
.portlet-msg-info {
   font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif, sans-serif;
   font-size: 12px;
   font-style: italic;
   color: #000;
}

/* Error messages. */
.portlet-msg-error {
   color: red;
   font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif, sans-serif;
   font-size: 12px;
   font-weight: bold;
}

Beide Klassen werden zur Formatierung der Ausgabe von Nachrichten verwendet. Was ich nun erreichen möchte ist, dass in einem Element der Seite nur eine Art von Nachrichten ausgegeben wird, hier error oder info. Meine Idee war, dass ich einfach in dem css-file in der klasse .portlet-msg-info sage, dass alles was unter protlet-msg-error definiert ist ausgeblendet wird. Geht das? Weiss jemand wie, oder eine andere Lösung?

Danke schonmal, mfg schlumsch
 
Verstehe leider nich ganz was du willst.

Arbeitest du mit php? wenn würde ich im script dem element einfach durch ne normale if abfrage die classe zuordnen.


PHP:
if($nachricht='fehler')
{$class='portlet-msg-error';}
elseif($nachricht='hinweis';)
{$class='portlet-msg-info';}

Und dann halt irgendwo

PHP:
echo '<p class=" '. $class  .' ">bla bla bla</p> ';
 
ich würds ganz anders machen, ich würde mit mehreren klassen arbeiten, hier mal ein Beispiel:

HTML:
<div class="portlet-msg info">InfoDiv</div><br/>
<div class="portlet-msg error">ErrorDiv</div>

so, jetzt gehst du im CSS her und definiert dir quasi eine klasse die alle gleichen Eigenschaften beinhaltet und dann eben die für info oder error spezifischen, so haste das problem gelöst

Code:
/* Default Container. */
.portlet-msg {
font-family: 'Trebuchet MS', Arial, Helvetica, Sans-Serif, sans-serif;
font-size: 12px;
}

/* Info messages. */
.-info {
font-style: italic;
color: #000;
}

/* Error messages. */
.error {
color: red;
font-weight: bold;
}

das wäre die eleganteste Lösung, wenn du jetzt einfach irgenteiner Klasse überschreiben willst machste einfach

Code:
/* Error messages. */
.portlet-msg-error {
color: red !important;
}

dann musste aber trotzdem für ein div beide Klassen benutzen, was ich höchst sinnfrei finde...
 
Zurück
Oben