(&CSS?) Tabelle
Daniel
- html
Ahoi an alle,
ich habe da ein kleines problemchen mit dem IE. ich habe folgenden code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>
<body style="height:100%; width:100%; margin: 0; padding: 0;">
<table style="height:100%; width:100%; margin: 0; padding: 0;">
<tr style="height: 3em;" >
<th colspan="2" align="center" style="width: 80%; heigth: 3em;"> </th>
<th valign="top" rowspan="3" align="center"> </th>
</tr>
<tr valign="top" style="height: 3em;" >
<th class="news" valign="top" style="height: 3em;" > </th>
<th style="height: 3em;" > </td>
</tr>
<tr class="news" valign="top">
<td class="news" colspan="2" style="height: 100%;" > </td>
</tr>
</table>
</body>
</html>
=> diese tabelle:
-----------------------
| 1 | 2 |
----------------| |
| 3 | 4 | |
----------------| |
| | |
| 5 | |
| | |
| | |
| | |
| | |
-----------------------
dumemrweise wird feld 5 im IE auch bei wenig inhalt zu weit gestreckt :( wie kann ich das verhindern? im FF siehts gut aus.
MfG
dumemrweise wird feld 5 im IE auch bei wenig inhalt zu weit gestreckt :( wie kann ich das verhindern? im FF siehts gut aus.
Hast Du wirklich tabellarische Daten oder brauchst Du gar keine Tabelle?
Hallo Daniel.
ich habe da ein kleines problemchen mit dem IE. ich habe folgenden code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
Bitte verlasse den [Quirksmodus](http://de.selfhtml.org/css/formate/box_modell.htm#doctype_switch).
> ~~~html
<html>
> <head>
> <title></title>
> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
> </head>
> <body style="height:100%; width:100%; margin: 0; padding: 0;">
Bitte verzichte auf das style-Attribut und nutze die zentrale bzw. externe Ablagemöglichkeit.
=> diese tabelle:
| 1 | 2 |
----------------| |
| 3 | 4 | |
----------------| |
| | |
| 5 | |
| | |
| | |
| | |
| | |
Du bist sicher, dass du eine Tabelle zum Layouten missbrauchen möchtest?
Es gibt weitaus brauchbarere Alternativen.
Einen schönen Montag noch.
Gruß, Ashura
Ahoi Ashura,
Bitte verlasse den Quirksmodus.
laut http://de.selfhtml.org/css/formate/anzeige/box_modell_html_401_strict.htm
soll man das verwenden da dies angeblich bei den meisten brwosern das
gleiche rausschmeißt, oder was willst du mir damit sagen?
Bitte verzichte auf das style-Attribut und nutze die zentrale bzw. externe Ablagemöglichkeit.
ist alles in ner css ausgelagert, habs halt etwas zusammenfassender gepostet.
Du bist sicher, dass du eine Tabelle zum Layouten missbrauchen möchtest?
die tabelle dient weder zum layouten noch zum missbrauchen. ich habe
mehrere unterschiedliche daten. in feld 1 steht der header (mehr oder
weniger) in feld 2 werden in bezug zu dem angezeigten bild
dargetellt. in 3 eine überschrift und 4 seitwann es diesen Artikel
gibt und in 5 eine gaaaaaaaaaaaaaanz lange beschreibung. und hey,
immerhin kein frameset.
IMHO sind dies tebellarische daten daher wird die tabelle nicht missbraucht.
Es gibt weitaus brauchbarere Alternativen.
ich weiß. aber mir ist das mit div viel zu kompliziert.
MfG
Hallo Daniel.
laut http://de.selfhtml.org/css/formate/anzeige/box_modell_html_401_strict.htm
soll man das verwenden da dies angeblich bei den meisten brwosern das
gleiche rausschmeißt, [...]
Wo steht dies auf der von dir verlinkten Seite?
oder was willst du mir damit sagen?
Ich möchte dir damit sagen, dass du dein Dokument auf die standardkonforme Ansicht ausrichten und nicht auf die Fehlerkorrektur des Quirksmodus bauen solltest.
ist alles in ner css ausgelagert, habs halt etwas zusammenfassender gepostet.
Gut.
[...] in feld 2 werden in bezug zu dem angezeigten bild
dargetellt.
Bitte was?
in 3 eine überschrift und 4 seitwann es diesen Artikel
gibt und in 5 eine gaaaaaaaaaaaaaanz lange beschreibung. und hey,
immerhin kein frameset.
Dies ist hier sowieso nicht erforderlich.
IMHO sind dies tebellarische daten daher wird die tabelle nicht missbraucht.
Ja, da stimme ich dir zu. (Die Optik deines ASCII-Arts ließ darauf schlussfolgern.)
Zu deinem Problem:
Du bist selbst dafür verantwortlich, dass Zelle 5 so hoch wird:
<td class="news" colspan="2" style="[code lang=css]height: 100%;
" > </td> [/code]
Der IE beherrscht zwar kein min-height, setzt height aber ähnlich um.
Einen schönen Montag noch.
Gruß, Ashura
Ahoi Ashura,
Zu deinem Problem:
Du bist selbst dafür verantwortlich, dass Zelle 5 so hoch wird:
das hab ich mir fast gedacht.
<td class="news" colspan="2" style="[code lang=css]height: 100%;
" > </td> [/code]
jupp, so siehts aus.
Der IE beherrscht zwar kein min-height, setzt height aber ähnlich um.
das weis ich auch. aber ich hab ja allen eltern elementen
größenangaben verpasst. warum bezieht der hund namens IE sich auf die
ganze tabelle? und nimmt daher die 100% anstatt die restlichen höhe zu
nehmen? wenn der text zu lang wäre, wäre es ja auch OK wenn ers
streckt aber so doch nicht. und es soll aber den rest ausfüllen. ein
heigth:90% erfüllt je nach fenstergröße auch nicht so wirklich das
gewünschte, die oberen zeilen sollen aber diese feste größe haben.
gibts da vll. ein würgaround?
MfG
Ahoi Ashura,
Wo steht dies auf der von dir verlinkten Seite?
http://de.selfhtml.org/css/formate/box_modell.htm#html_4.01_strict
da steht:
Dieses Beispiel wird von allen Browsern korrekt dargestellt.
also, wo ist das problem welches ich übersehen habe?
MfG
Hi,
laut http://de.selfhtml.org/css/formate/anzeige/box_modell_html_401_strict.htm
soll man das verwenden da dies angeblich bei den meisten brwosern das
gleiche rausschmeißt, [...]Wo steht dies auf der von dir verlinkten Seite?
verunsichere Daniel doch bitte nicht.
Rufe diese Seite im IE auf und werfe einen Blick auf das Linial.
Oder nutze den zurück-Link und werfe einen Blick in die Erklärung unter dem Beispiel.
Ab HTML 4.01 Strict muß keine DTD für den standardkompatiblen Modus angegeben werden.
freundliche Grüße
Ingo
Hallo Ingo.
Ab HTML 4.01 Strict muß keine DTD für den standardkompatiblen Modus angegeben werden.
FF gibt dir Recht. Dies war mir ehrlich gesagt noch nicht bewusst.
(Ja, genauer lesen sollte der Mann...)
Einen schönen Montag noch.
Gruß, Ashura
Hi,
Ab HTML 4.01 Strict muß keine DTD für den standardkompatiblen Modus angegeben werden.
FF gibt dir Recht.
nein. FF wendet selbst im schlimmsten quirks mode nie und nimmer das IE-Boxmodell an. ;-)
freundliche Grüße
Ingo
Hallo Ingo.
FF gibt dir Recht.
nein. FF wendet selbst im schlimmsten quirks mode nie und nimmer das IE-Boxmodell an. ;-)
Das meinte ich ja auch nicht. ;-)
Einen schönen Montag noch.
Gruß, Ashura
hi,
ich habe mehrere unterschiedliche daten. in feld 1 steht der header (mehr oder
weniger) in feld 2 werden in bezug zu dem angezeigten bild
dargetellt. in 3 eine überschrift und 4 seitwann es diesen Artikel
gibt und in 5 eine gaaaaaaaaaaaaaanz lange beschreibung. [...]
es handelt sich hier also nur um eine einzelne ausprägung einer datenstruktur.
IMHO sind dies tebellarische daten daher wird die tabelle nicht missbraucht.
ein einzelner datensatz stellt m.E. keineswegs tabellarische daten dar.
ein telefonbuch, in dem du jede menge zusammengehörige namens-, adress- und telefonnummerneinträge findest - ganz klar, tabellarische daten.
eine visitenkarte, auf der dein name, deine adresse und deine telefonnummer stehen - absolut keine tabellarischen daten (selbst wenn der optische aufbau absolut identisch mit der dich betreffenden zeile des telefonbuches wäre).
gruß,
wahsaga
die tabelle dient weder zum layouten noch zum missbrauchen.
Doch. Es sind definitiv keine tabellarischen Daten.
und hey,
immerhin kein frameset.
Dann sag das mal denen, die Deine Tabelle in der Reihenfolge der Zellen vorgelesen bekommen und nur Bahnhof verstehen.
IMHO sind dies tebellarische daten daher wird die tabelle nicht missbraucht.
Nein, sehe ich nicht so. Aber anhand Deiner abstrakten Darstellung kann ich mich natürlich irren. Ausschließen will ich das nicht. Aber ich bin ziemlich überzeugt.
Es gibt weitaus brauchbarere Alternativen.
ich weiß. aber mir ist das mit div viel zu kompliziert.
Was soll denn auch "mit div" bedeuten? Das ist absolut sinnfrei - weil es ein Gerücht ist, das ein CSS-Anfänger zu einem Zeitpunkt in die Welt gesetzt hat, zu der er noch nicht kapiert hat, was CSS-Layout bedeutet.
Und, ich finde, Du belügst Dich nur selbst, wenn Du "ist mir zu schwer" als Ausrede dafür abgibt. Dann sei wenigstens so ehrlich zu Dir selbst, zuzugeben, dass Du es nicht kannst und womöglich einfach zu faul bist, aktuelle Standards zu erlernen und lieber Deinen Besuchern Qualität der 90er Jahre auftischen willst.
Merke: Ich verurteile Dich nicht, weil Du das so machst (auch wenn ich es persönlich nicht gut finde). Da kann es Gründe dafür geben. Aber ich finde, Du belügst Dich selbst mit Deiner Ausrede.
Ahoi Efchen,
Dann sag das mal denen, die Deine Tabelle in der Reihenfolge der Zellen vorgelesen bekommen und nur Bahnhof verstehen.
Was gibts hier falsch zu verstehen: "News >> bild 1, bild2 etc. >>
Ueberschrift >> vom datum >> newstext....." also ich versteh das.
Was soll denn auch "mit div" bedeuten? Das ist absolut sinnfrei - weil es ein Gerücht ist, das ein CSS-Anfänger zu einem Zeitpunkt in die Welt gesetzt hat, zu der er noch nicht kapiert hat, was CSS-Layout bedeutet.
CSS-Layout baut nunmal auf div's & co zumindest kenne ich kein anderes
element mit welchem ich sonst diese darstellung erreichen sollte. und ich ess lieber nudelsuppe als das ich ne div-suppe mache.
Und, ich finde, Du belügst Dich nur selbst, wenn Du "ist mir zu schwer" als Ausrede dafür abgibt. Dann sei wenigstens so ehrlich zu Dir selbst, zuzugeben, dass Du es nicht kannst und womöglich einfach zu faul bist, aktuelle Standards zu erlernen und lieber Deinen Besuchern Qualität der 90er Jahre auftischen willst.
ich benutze schon hi und da mal ne div-suppe, aber nur da wo ich es
für angebracht halte. hier in diesem fall finde ich es nicht
angebracht. werd wohl aber mal testweise, da es mich solangsam ankotz weils entweder im IE oder FF schei*e aussieht in Div umwandeln. wird zwar wohl nicht so einfach aber ich denk ich bekomm da ein nettes süppchen hin.
Merke: Ich verurteile Dich nicht, weil Du das so machst. Da kann es Gründe dafür geben.
jupp, z.B. "frames sind böse", "JS ist böse", etc.
MfG
Was gibts hier falsch zu verstehen: "News >> bild 1, bild2 etc. >>
Das steht in Deinen bisherigern Postings anders.
Und wo ist die Beziehung zwischen einer Spalte und einer anderen? Bei Dir sind ja pro Zeile in einer Spalte verschiedene Bedeutungen untergebracht. Das ist nicht Sinn einer Tabelle. Da werden mehrere Daten einer Spalten in bezug zu anderen Daten gebracht.
CSS-Layout baut nunmal auf div's & co
Nein. Das ist definitiv falsch.
zumindest kenne ich kein anderes
element mit welchem ich sonst diese darstellung erreichen sollte.
Darstellung sollst Du ja auch mit CSS erreichen und nicht mit HTML! Deswegen gibt es kein Element dafür. -> Trennung von Inhalt und Layout.
Mit HTML-Tags zeichnest Du nur die Struktur aus und sorgst nicht für die Darstellung. das macht allein CSS.
und ich ess lieber nudelsuppe als das ich ne div-suppe mache.
Richtig. Aber "Layout mit <div>" wird zur div-Suppe.
ich benutze schon hi und da mal ne div-suppe, aber nur da wo ich es
für angebracht halte.
Außer für abenteuerliche Konstruktionen, die dem Layout dienen, z.B. Rahmen mit Bildern, sind div-Suppen nie nötig.
hier in diesem fall finde ich es nicht
angebracht.
Ich auch nicht. Aber auch Tabellen sind hier nicht angebracht.
werd wohl aber mal testweise, da es mich solangsam ankotz weils entweder im IE oder FF schei*e aussieht in Div umwandeln.
Du hast mich nicht verstanden, oder? "Layout mit <div>" ist sinnfrei. Ein Tabellenlayout ion ein "div-Layout" zu verwandeln ist sinnfrei.
Nimm Deinen Inhalt, zeichne ihn semantisch korrekt aus (dazu gehören divs zum Gruppieren von mehreren Elementen), und wende dann CSS auf Deine Struktur an. DAS ist ein CSS-Layout.
jupp, z.B. "frames sind böse", "JS ist böse", etc.
Hmmm...verstehe zwar den Zusammenhang nicht, aber PAUSCHAL gesagt sind die böse, ja :-)
Weil man mit denen die Nutzbarkeit einer Site beeinträchtigen kann, und DAS ist fatal für eine Website. Wird die Nutzbarkeit nicht beeinträchtigt, ist es auch nicht fatal.
Schönen Feierabend!
-Efchen
Ahoi Efchen,
Das steht in Deinen bisherigern Postings anders.
seh ich nid so.
Und wo ist die Beziehung zwischen einer Spalte und einer anderen?
na da wir in deutschland leben läuft die von links nach rechts und von oben nach unten.
Bei Dir sind ja pro Zeile in einer Spalte verschiedene Bedeutungen untergebracht.
die gleiche wäre wohl auch sinnfrei.
Das ist nicht Sinn einer Tabelle. Da werden mehrere Daten einer Spalten in bezug zu anderen Daten gebracht.
stehen sie ja auch.
CSS-Layout baut nunmal auf div's & co
Nein. Das ist definitiv falsch.
natürlich, ohne div's ist meines erechtens ein Layout mit CSS nicht möglich
Darstellung sollst Du ja auch mit CSS erreichen und nicht mit HTML! Deswegen gibt es kein Element dafür. -> Trennung von Inhalt und Layout.
es ist getrennt.
Mit HTML-Tags zeichnest Du nur die Struktur aus und sorgst nicht für die Darstellung. das macht allein CSS.
schon klar.
hier in diesem fall finde ich es nicht
angebracht.
Ich auch nicht. Aber auch Tabellen sind hier nicht angebracht.
wie denn dann?
Nimm Deinen Inhalt, zeichne ihn semantisch korrekt aus (dazu gehören divs zum Gruppieren von mehreren Elementen), und wende dann CSS auf Deine Struktur an. DAS ist ein CSS-Layout.
da siehstes, sagst ja selber DIV!
Weil man mit denen die Nutzbarkeit einer Site beeinträchtigen kann, und DAS ist fatal für eine Website.
tu ich doch garnicht.
hier jetzt mal der umbau in DIV:
mein.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>Test</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="mein.css">
</head>
<body>
<div class="links">
<div class="news">News</div>
<div class="ueber"><div class="schrift">TEST-Überschrift</div>
<div class="datum">25.07.2005</div>
</div>
<div class="newstext">Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text Test-text </div>
</div>
<div class="rechts">
<img's>
</div>
</body>
</html>
mein.css
html { color: #696969; font-size: 9pt; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; background: #fff; margin: 0em; padding: 0em; border: 0em; height: 100%; width: 100%;}
body {width: 100%; height: 100%; margin: 0; padding: 0; vertical-align: top; text-decoration: none;}
h1{font-size: 19pt;}
a { color: #696969; font-weight: bold; text-decoration: none; border: 0em; }
img { border: 0em; }
div.links{width: 70%; height: 100%; float: left;}
div.rechts{width: 20%; height: 100%; float: left;}
div.news{width: 99%; height: 3em; text-align: center; font-weight: bold; margin-top: 1em; padding-top: 1em; vertical-align: middle; border: 2px solid #696969; float: left;}
div.ueber{width: 100%; height: 3em; text-align: center; font-weight: bold; border: 0em; padding-top: 1em; vertical-align: middle; float: left;}
div.schrift{width: 70%; height: 3em; text-align: left; font-weight: bold; border: 0em; padding-top: 1em; vertical-align: middle; float: left;}
div.datum{width: 29%; height: 3em; text-align: right; font-weight: bold; border: 0em; padding-top: 1em; vertical-align: middle; float: left;}
div.newstext{width: 99%; height: 100%; text-align: left; font-weight: normal; border: 0em; padding-top: 1em; vertical-align: top; float: left;}
img.news{width: 100%; border: 0em; vertical-align: top;}
MfG
hi,
Bei Dir sind ja pro Zeile in einer Spalte verschiedene Bedeutungen untergebracht.
die gleiche wäre wohl auch sinnfrei.
eine tabelle ist nur dann sinnvoll, wenn die spalten in jeder zeile die gleiche bedeutung haben (bzw. umgekehrt, wenn du sie um 90° "drehst").
bedeutung != inhalt
lerne bitte sprachlich zu differenzieren.
Das ist nicht Sinn einer Tabelle. Da werden mehrere Daten einer Spalten in bezug zu anderen Daten gebracht.
stehen sie ja auch.
ich erwähnte es auch schon: bei deinem beispiel kann ich _mehrere_ daten(sätze) gar nicht erkennen, sondern lediglich _eine_ ausprägung einer datenstruktur.
natürlich, ohne div's ist meines erechtens ein Layout mit CSS nicht möglich
und warum das nicht?
Nimm Deinen Inhalt, zeichne ihn semantisch korrekt aus (dazu gehören divs zum Gruppieren von mehreren Elementen), und wende dann CSS auf Deine Struktur an. DAS ist ein CSS-Layout.
da siehstes, sagst ja selber DIV!
*seufz*
ja, Efchen redet von divs zum _gruppieren_ zusammengehöriger element.
_nicht_ zum auszeichnen der struktur der daten selber.
s.o. - lerne bitte sprachlich zu differenzieren.
gruß,
wahsaga
Ahoi wahsaga,
*seufz*
ja, Efchen redet von divs zum _gruppieren_ zusammengehöriger element.
_nicht_ zum auszeichnen der struktur der daten selber.
s.o. - lerne bitte sprachlich zu differenzieren.
und was hab ich jetzt gemacht? hab den code ja gepostet. ist das jetzt
gruppiert oder nicht? zur auszeichnung benutzt oder nicht? jetzt bin ich
irgendwie restlos verwirrt.
MfG
hi,
und was hab ich jetzt gemacht? hab den code ja gepostet.
da zu diesem von dir kein weiterer kommentar zu finden war, hatte ich mich diesbezüglich ebenfalls enthalten ...
ist das jetzt gruppiert oder nicht? zur auszeichnung benutzt oder nicht?
großer nonsense, und "div-suppe" wie sie im buche steht.
schauen wir doch mal, was diese divs dir zu sagen haben:
<div class="news">News</div>
"ich möchte eine überschrift sein, bitte bitte lass mich ein <hX> sein!"
<div class="ueber"><div class="schrift">TEST-Überschrift</div>
"ich möchte auch eine überschrift sein. damit mein vorgänger mich nicht für zu anmaßend hält, würde es mir vollkommen reichen, eine überschrift von der ordnung X-1 zu sein ..."
<div class="datum">25.07.2005</div>
"ich bin evtl. der einzige hier, der sich hier nicht schämen muss, ein div zu sein."
</div>
<div class="newstext">Test-text Test-text Test-text Test-text
"ich möchte furchtbar gern ein textabsatz sein, bitte bitte lass mich doch ...!!!1"
gruß,
wahsaga
Grundlage für Zitat #445.
Ahoi wahsaga,
<div class="news">News</div>
"ich möchte eine überschrift sein, bitte bitte lass mich ein <hX> sein!"
ok, habn h1 draus gemacht.
<div class="ueber"><div class="schrift">TEST-Überschrift</div>
"ich möchte auch eine überschrift sein. damit mein vorgänger mich nicht für zu anmaßend hält, würde es mir vollkommen reichen, eine überschrift von der ordnung X-1 zu sein ..."
ok habn h2 draus gemacht
<div class="datum">25.07.2005</div>
"ich bin evtl. der einzige hier, der sich hier nicht schämen muss, ein div zu sein."
ok hab ich gelassen
</div>
<div class="newstext">Test-text Test-text Test-text Test-text"ich möchte furchtbar gern ein textabsatz sein, bitte bitte lass mich doch ...!!!1"
ok habn p draus gemacht.
sieht jetzt im FF und IE zwar etwas anders aus hällt sich aber in
grenzen. etwas margin und paddingspielerei dürfte das lösen.
vielen dank für diese nun sinnvollen kommentare. mit denen ich auch was anfangen kann.
MfG
CSS-Layout baut nunmal auf div's & co
Nein. Das ist definitiv falsch.
natürlich, ohne div's ist meines erechtens ein Layout mit CSS nicht möglich
Dann ist Dein Erachten halt falsch.
Du meinst sicher, dass ein schönes, komplexes Layout mit korrekter Semantik nicht ohne <div>s möglich ist. Das kommt der Sache sicher schon näher. Aber ein Layout bedarf keiner <div>s. Ein <div> ist auch nur ein Block-Element. <p> auch. Man könnte hergehen, und alle <div>s durch <p> oder <h1> oder andere Block-Elemente ersetzen, aber das meine ich nicht. Auch mit korrekter Semantik ist ein <div> nicht zwingend nötig.
Nimm Deinen Inhalt, zeichne ihn semantisch korrekt aus (dazu gehören divs zum Gruppieren von mehreren Elementen), und wende dann CSS auf Deine Struktur an. DAS ist ein CSS-Layout.
da siehstes, sagst ja selber DIV!
Wo steht denn da, dass ich sage, dass Du zwingend ein <div> brauchst, oder dass Du Dein Layout mit <div>s aufbaust?
Sofern Du mir nicht verklickern kannst, dass Du mich nicht veräppelst, werde ich es einstellen, Dir das zu erklären.