CSS, tables und span

Heat Vision

Heat Vision

Aktives Mitglied
Thread Starter
Dabei seit
26.01.2005
Beiträge
399
Reaktionspunkte
98
Hallo zusammen,

ich habe ein kleines Problem, meine Tabelle mit CSS zu formatieren. Diese sieht etwa so aus:

<table>
<tr>
<td class="caption">...</td>
<td class="data">...</td>
</tr>
<tr>
<td class="caption">...</td>
<td class="data">...</td>
</tr>
<span class="highlight">
<tr>
<td class="caption">...</td>
<td class="data">...</td>
</tr>
</span>
</table>

Ich möchte nun gern einzelne Tabellenzellen der Klasse data mit nem roten Rahmen versehen, und zwar, indem ich ein span-Tag um die ganze Zeile herum setze, und das dort enthaltene td-Element dann entsprechend formatiert wird (die einzelnen Zeilen werden von einem XSLT-Stylesheet erzeugt, deshalb ist das span-Tag um die ganze Zeile herum).

Die CSS-Klassen sind etwa so...

.caption {
font-weight: bold;
vertical-align: top;
background-color: #FFD79F;
}
.data {
background-color: #FFD79F;
}
span[ class= highlight] ???? {
border: 2px solid red;
}

Was ich jetzt nicht gebacken kriege, ist ein CSS-Ausdruck, der sagt, daß:

ein innerhalb eines span-Elements mit der Klasse "highlight" enthaltenes td-Element mit der Klasse "data" zusätzlich einen roten Rahmen erhält.

Ist das überhaupt so lösbar?

cheers,
oLi
 
Dem TR-Tag kann man doch auch einen Rahmen geben?!

Wobei man einen Tabellenabschnitt nicht einrahmen kann. Dies liegt daran, dass eine Tabelle und die dazugehörigen Zellen und Spalten ein ganzes ergeben und keine Einzelteile wie bei DIV-Tags. Einfach gesagt heißt es, dass man durch eine Mauer nicht mit dem Auto kommt. :D
 
Aber einer Zelle kann man doch einen Rahmen geben, oder?
 
span ist m.E. an dieser stelle nicht erlaubt.
> Aber einer Zelle kann man doch einen Rahmen geben, oder?
ja, das geht.

mit:

<tr class=hightlight>
<td class="caption">...</td>
<td class="data">...</td>
</tr>

css:

tr.highlight td.data{ /* rot machen */}
 
Kannst Du, aber ich würde erst einmal den fehler in der Tabelle ausbügeln. Den SPan Tag in eine <tr><td> verpacken.

Im Stylesheet kannst Du dann folgendes schreiben:

td.span {
border: 1px;
}

Da war ich glatt zu langsam! :D
 
Liebe MacUser, Ihr seid Spitze!!! Tausend Dank (da war ich wohl ein Stückchen auf der falschen Fährte :rolleyes: )!
 
Kauf Dir einfach ein paar Bücher über HTML und CSS. Das hilft immer. ;)
 
Selfhtml und Goggle helfen auch einiges! :D
 
Zurück
Oben Unten