XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   CSS (http://xhtmlforum.de/forumdisplay.php?f=73)
-   -   Caption exakt so breit wie Tabelle (http://xhtmlforum.de/showthread.php?t=37937)

AndreasB 15.12.2005 10:59

Caption exakt so breit wie Tabelle
 
Hallo,

ich möchte gerne mit schlankem und elegantem (also gerne ohne Verrenkungen) CSS erreichen, dass CAPTION stets exakt die gleiche Breite einnimmt wie die zugehörige Tabelle.

Details:

* Tabelle ist mit kollabierenden Rahmen gestaltet
* Zellen und Caption besitzen dasselbe Padding
* Caption soll keinen Rahmen besitzen
* Caption soll sich von Aussenkante Rahmen links bis Aussenkante Rahmen rechts erstrecken.

In Firefox z.B. bleibt beim Testcase stets eine "Treppenstufe" zwischen Caption und Tabelle.
In Opera oder IE nicht.

Vermutlich habe ich Tomaten auf den Augen. Oder doch nicht?

Testcase:

http://borumat.de/test-caption.php

Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="de" xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
<title>Tabelle mit Caption</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
body{
background: gray;
}
table{
border-collapse: collapse;
}
table caption{
background: green;
padding: 0.3em;
margin: 0;
}
table th{
background: red;
border: 5px solid white;
padding: 0.3em;
}
table td{
background: yellow;
border: 5px solid white;
padding: 0.3em;
}

</style>
</head>
<body>
<h1>Tabelle mit Caption </h1>
<table>
        <caption>Lorem</caption>
        <tr>
                <th>Ipsum</th>
                <td>Doloret</td>
        </tr>
        <tr>
                <th>Sit</th>
                <td>Amet</td>
        </tr>
</table>
</body>
</html>

[/code][/quote]

IChao 16.12.2005 18:40

Du hast keine Tomaten auf den Augen. Aber Firefox und Safari folgen hier der Spezifikation, auch wenn es unsinnig erscheint.

http://www.w3.org/TR/CSS21/tables.ht...apsing-borders
The collapsing border model

weiter unten, unter der Grafik:

Zitat:

Note that in this model, the width of the table includes half the table border.
Wenn die caption nun die Breite der Tabelle einnimmt, so fehlt ihr zweimal die Hälfte der Border zur optische Weite dieser Tabelle.

AndreasB 17.12.2005 01:44

@IChao

Danke für die Aufklärung - auch wenn es eine schlechte Nachricht ist.

Beim Modell mit trennenden Rahmen lässt sich die erwünschte Gestaltung erreichen:

Code:

table{
border-collapse: separate;
border-spacing: 5px;
background: white;
}
table caption{
background: green;
padding: 0.3em;
margin: 0;
}
table th{
background: red;
padding: 0.3em;
}
table td{
background: yellow;
padding: 0.3em;
}

Mit Tabellengestaltung habe ich bisher nicht viel experimentiert.

Sehe ich es richtig, dass man beim Modell mit trennenden Rahmen nicht erreichen kann, dass
1 links von der ganz linken Spalte,
2 rechts von der ganz rechten Spalte und
3 unter der untersten Zeile
kein Border-Spacing angezeigt wird?


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:27 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2021, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2020