PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : css classen auf eine tabelle anwenden



msi
06-03-2004, 22:48
Hallo,

ich habe eine Tabelle

(zB)


<table><caption>test</caption><tr><td>test</td><td>adsf</td></tr><tr><td>test</td><td>adsf</td></tr></table>


und möchte gerne, dass meine css klasse myclass auf alle teile angewendet wird.
das ist meine Klasse:


table.myclass {
/* border-collapse: collapse;*/
border-spacing: 1px;
border: 1px solid #dddddd;
margin: 0px 10px 0px 10px;
}

caption.myclass {
text-align:left;
font-size:10pt;
background-color: #dddddd;
margin: 0px 0px 0px 0px;
padding: 2px 10px 2px 10px;

}

th.myclass {
background-color: #e3e3e3;
}

td.myclass {
background-color: #eeeee6;
text-align:left;
padding: 0px 2px 0px 2px;
}


ich möchte, dass ich nur einmal angeben muss, dass die Klasse myclass verwendet werden soll.
also nicht


<table class=myclass><caption class=myclass>test</caption><tr class=myclass><td class=myclass>test</td><td class=myclass>adsf</td></tr><tr .....

!

wie mache ich das, mit span und div hab ichs nicht hingekriegt :(

markus

Pingu
07-03-2004, 08:08
Wie wäre es hiermit?

Original geschrieben von msi



<table class=myclass>
<caption>test</caption>
<tr>
<td>test</td>
<td>adsf</td>
</tr>
[...]
</table>


table.myclass {
/* border-collapse: collapse;*/
border-spacing: 1px;
border: 1px solid #dddddd;
margin: 0px 10px 0px 10px;
}

table.myclass caption {
text-align:left;
font-size:10pt;
background-color: #dddddd;
margin: 0px 0px 0px 0px;
padding: 2px 10px 2px 10px;

}

table.myclass th {
background-color: #e3e3e3;
}

table.myclass th {
background-color: #eeeee6;
text-align:left;
padding: 0px 2px 0px 2px;
}



Mehr dazu bei SELFHTML (http://selfhtml.teamone.de) im Kapitel Formate für verschachtelte HTML-Elemente definieren (http://selfhtml.teamone.de/css/formate/zentrale.htm#verschachtelte_elemente).

Pingu

msi
07-03-2004, 15:26
wow vielen dank, so geht es!!

edit: danke für den link, jetzt versteh ich wie das funktioniert :)

msi
07-03-2004, 17:09
und wie krieg ich dann ein element rein, welches zu einer anderen Klasse gehört??
also ich möchte zB. eine Spalte hervorheben und eine besondere Klasse für die td's dort verwenden, wie kann ich das machen, eine eigene Klasse mit

td.neueklasse

definieren und dann <td class="neueklasse"> geht scheinbar nicht, da er dann noch die elemente von table.myclass td nachläd und meine werte überschreibt.

Pingu
08-03-2004, 08:12
Hi msi,

die Reihenfolge in der CSS-Datei ist wichtig.

Also z.B.: für folgendes HTML:

<table class="tableclass">
<caption>test</caption>
<tr>
<td>test</td>
<td>adsf</td>
</tr>
<tr class="specialrow">
<td>test</td>
<td>adsf</td>
</tr>
</table>

Ist richtig:

.tableclass {
/* border-collapse: collapse;*/
border-spacing: 1px;
border: 1px solid #dddddd;
margin: 0px 10px 0px 10px;
}

.tableclasse caption {
text-align:left;
font-size:10pt;
background-color: #dddddd;
margin: 0px 0px 0px 0px;
padding: 2px 10px 2px 10px;
}

.tableclass tr {
}

.tableclass th {
background-color: #e3e3e3;
}

.tableclass td {
background-color: #eeeee6;
text-align:left;
padding: 0px 2px 0px 2px;
}

.specialrow {
}

Ist falsch:

.specialrow {
}

.tableclass {
/* border-collapse: collapse;*/
border-spacing: 1px;
border: 1px solid #dddddd;
margin: 0px 10px 0px 10px;
}

.tableclasse caption {
text-align:left;
font-size:10pt;
background-color: #dddddd;
margin: 0px 0px 0px 0px;
padding: 2px 10px 2px 10px;
}

.tableclass tr {
}

.tableclass th {
background-color: #e3e3e3;
}

.tableclass td {
background-color: #eeeee6;
text-align:left;
padding: 0px 2px 0px 2px;
}

Spätere Einträge in der CSS überschreiben vorhergehende.

Gruß

Pingu