linksb. Tabelle in zentr. div-Objekt im Opera
Holger
- css
0 Sven Rautenberg0 Holger0 Sven Rautenberg
Hallo allerseits,
seit Tagen kämpfe ich mit folgendem schlichten Problem herum: Ich möchte einen linksbündigen Text (in einer Tabelle) innnerhalb eines zentrierten div-Objekts. Das ist schon alles ;-) Aber das in allen Browsern. Eben hab ich schnell mal versucht, mein Problem zu "isolieren":
<html>
<head>
<title>Warum verstehen mich die Browser nur nie?</title>
<style type="text/css">
<!--
div.box {
width:70%;
background-color:white;
border-style:solid;
border-width:thin;
border-color:white;
}
-->
</style>
</head>
<body bgcolor=black>
<center>
<div class="box">
<div align="left">
<table>
<tr>
<td>Tja, dieser Test soll nun linksbündig
in der zentrierten div-Box erscheinen...
</td>
</tr>
</table>
</div>
</div>
</center>
</body>
</html>
Das ist das "Maximum" an Browser-Kompatibilität, was ich herausholen kann. So verstehen mich Konquerer, Netscape 4.7 (der will den guten alten <center>-Tag), Netscape 6.01 (der wiederum möchte das linksbündige <div> im zentrierten <div>), IE 4, 5 und ein paar andere. Leider nicht mein geliebter Opera 5, der zentriert mit <center>-Tag auch den Text, ohne macht er die Box linksbündig (da kann ich ihm mit CSS kommen, wie ich will).
Hat jemand eine Idee, wie auch Opera gehorchen würde, ohne daß die anderen wieder aufgeben? Im Übrigen wäre mein Ziel "so viel CSS / so wenig HTML wie möglich", aber in solchen Sachen ist CSS ja immer heikel.
Gruß, Holger
seit Tagen kämpfe ich mit folgendem schlichten Problem herum: Ich möchte einen linksbündigen Text (in einer Tabelle) innnerhalb eines zentrierten div-Objekts. Das ist schon alles ;-) Aber das in allen Browsern.
Die Frage ist, was du erreichen willst. Ich kann mir nicht vorstellen, daß die Browser es nicht fertigbringen, eine Tabelle zentriert darzustellen und den Text darin linksbündig.
<body>
<table width="70%" border="1" align="center">
<tr>
<td>Tja, dieser Test soll nun linksbündig
in der zentrierten div-Box erscheinen...
</td>
</tr>
</table>
</body>
Klappt bei mir in Opera, und ich habe auch keine Zweifel, daß es in anderen Browsern ebenso klappt.
Aber das scheint ja für dein Problem zu einfach gedacht. Wo ist das Problem?
- Sven Rautenberg
Hi,
seit Tagen kämpfe ich mit folgendem schlichten Problem herum: Ich möchte einen linksbündigen Text (in einer Tabelle) innnerhalb eines zentrierten div-Objekts. Das ist schon alles ;-) Aber das in allen Browsern.
Die Frage ist, was du erreichen willst. Ich kann mir nicht vorstellen, daß die Browser es nicht fertigbringen, eine Tabelle zentriert darzustellen und den Text darin linksbündig.
Richtig, ich habe das Problem wohl doch zu sehr verkürzt ;-) Der Punkt ist halt, daß ich gerne beim <div>-Tag bleiben würde, welcher die Tabelle umschließen soll, um ihn anderweitig per CSS formatieren zu können. Ein <table>-Tag verhält sich ja bei der CSS-Formatierung nicht identisch (bsplsw. was den Hintergrund betrifft - zumal im Netscape).
Der konkrete Verwendungszweck ist ein Gästebuchskript, welches ich zum Download anbiete. Hier wäre es schön, wenn die User so viel wie möglich über eine zentrale CSS-Datei formatieren könnten. Aber darauf kommts mir jetzt wie gesagt gar nicht an, sondern das Problem ist, daß ich nur mit dem <div>-Tag das gewünschte Design hinbekomme. Mit Ausnahme eben der Ausrichtung in Opera...
Gruß, Holger
Richtig, ich habe das Problem wohl doch zu sehr verkürzt ;-) Der Punkt ist halt, daß ich gerne beim <div>-Tag bleiben würde, welcher die Tabelle umschließen soll, um ihn anderweitig per CSS formatieren zu können. Ein <table>-Tag verhält sich ja bei der CSS-Formatierung nicht identisch (bsplsw. was den Hintergrund betrifft - zumal im Netscape).
<table width="100%"> hilft!
Wenn du dir mit border="1" mal die Tabelle angesehen hättest, dann wäre dir aufgefallen, daß diese zentriert in der DIV-Box hängt und den Text komplett umschließt. Da kann nichts mehr linksbündig gemacht werden. ;)
- Sven Rautenberg
Ein <table>-Tag verhält sich ja bei der CSS-Formatierung nicht identisch (bsplsw. was den Hintergrund betrifft - zumal im Netscape).
<table width="100%"> hilft!
*Yess*, vielen Dank! Mein Gott nochmal, is ja peinlich.
Wenn du dir mit border="1" mal die Tabelle angesehen hättest, dann wäre dir aufgefallen, daß diese zentriert in der DIV-Box hängt und den Text komplett umschließt. Da kann nichts mehr linksbündig gemacht werden. ;)
Daß die Tabelle selbst (und nicht nur der Text darin) falsch ausgerichtet war, habe ich durchaus für im Bereich des Möglichen gehalten ;-) Trotzdem konnte ja wie gesagt sehr wohl was mit <div align=left> gemacht werden - eben mit allen Browsern bis auf Opera. Aber is ja völlig egal :-)
Bleibt trotzdem noch zu meckern, daß man in vielen Fällen nicht ordentlich mit CSS arbeiten kann, zumindest wenn man ohne Browser-Abfragen auskommen will.
Nochmals thanx
Holger
Bleibt trotzdem noch zu meckern, daß man in vielen Fällen nicht ordentlich mit CSS arbeiten kann, zumindest wenn man ohne Browser-Abfragen auskommen will.
Definiere "ordentlich". Ich denke, im Hinblick auf möglicherweise ältere Browser, die noch unterwegs sind, sollte man eine gesunde Mischung zwischen CSS und HTML-Formatierung versuchen. Damit hat man zwar nicht die neuesten Features drin, aber der Netscape 4 wirds einem danken (und Besucher mit ganz anderem Zeugs, das kein CSS versteht, auch).
Wohlgemerkt: Ich bin absolut gegen <font>. Irgendein Spinner, dessen Seite ich beruflicherseits überarbeiten mußte, hat es sogar fertiggebracht, das FONT-Tag per CSS zu formatieren:
<style type="text/css" ...>
font { font-family:Arial,Helvetica; font-size:12px;}
</style>
Aber das vorhandensein von CSS spricht nicht dagegen, <b> und <i> zu benutzen. :)
- Sven Rautenberg
Bleibt trotzdem noch zu meckern, daß man in vielen Fällen nicht ordentlich mit CSS arbeiten kann, zumindest wenn man ohne Browser-Abfragen auskommen will.
Definiere "ordentlich". Ich denke, im Hinblick auf möglicherweise ältere Browser, die noch unterwegs sind, sollte man eine gesunde Mischung zwischen CSS und HTML-Formatierung versuchen. Damit hat man zwar nicht die neuesten Features drin, aber der Netscape 4 wirds einem danken (und Besucher mit ganz anderem Zeugs, das kein CSS versteht, auch).
Wem sagst Du das, hin und wieder surfe ich mit lynx ;-) Nichtsdestotrotz finde ich die Idee, das Layout zentral definieren zu können, so gut, daß mich das extrem unterschiedliche rendering der verschiedenen Browser, die CSS *können*, halt nervt. Netscape 3 oder lynx ignorieren die CSS-Befehle - mich "ärgert" nicht weiter, daß ich die Seiten für solche Browser übersichtlich halten muß (zumal das nicht weiter schwer ist). Ärgerlich (und viel schwieriger) ist nur der Punkt, daß ich mit margin: 1cm im Netscape 4 einen dreimal so großen Abstand wie im IE erzeuge, so daß es im Netscape 4 viel schlimmer aussieht als mit lynx. Naja, das sind halt die ganz normalen Probleme der Webseiten-Erstellung :-)
Aber das vorhandensein von CSS spricht nicht dagegen, <b> und <i> zu benutzen. :)
Nee, das war auch nicht mein Punkt. Das "Maximum an CSS" war mir nur im Zusammenhang mit dem CGI-Skript wichtig (bei dem ich möglichst um Templates o.ä. herumkommen möchte und neben der CSS-Formatierung nicht mehr allzuviel Gestaltungsspielraum bleibt).
Gruß, Holger
Richtig, ich habe das Problem wohl doch zu sehr verkürzt ;-) Der Punkt ist halt, daß ich gerne beim <div>-Tag bleiben würde, welcher die Tabelle umschließen soll, um ihn anderweitig per CSS formatieren zu können. Ein <table>-Tag verhält sich ja bei der CSS-Formatierung nicht identisch (bsplsw. was den Hintergrund betrifft - zumal im Netscape).
<table width="100%"> hilft!
Hatte mich zu früh gefreut, das war doch noch nicht die Lösung :-( Die 100% Breite zu forcieren führt dazu, daß bei sehr kurzen Gästebucheinträgen ("Hi wie gehts?") die Spalten verbreitert werden (um auf die "100%" zu kommen), was natürlich nicht gewünscht ist. Mein Problem bleibt also nach wie vor: Wie richte ich eine Tabelle linksbündig in einem div-Objekt aus?
Gruß, Holger
Die 100% Breite zu forcieren führt dazu, daß bei sehr kurzen Gästebucheinträgen ("Hi wie gehts?") die Spalten verbreitert werden
Allerdings nicht, wenn man <td width=1> schreibt. Ich hasse Leute, die immer genau 1 Sekunde nach dem posten auf die (einfache!) Idee kommen ;-) Gleich zweimal blamiert in einem thread - hoffe doch sehr, daß das nicht archiviert wird...
Sorry!
*rot angelaufener* Holger