"We are back" « oc.at

div problem (zentrieren)

Spikx 23.09.2004 - 11:01 2291 37
Posts

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
So, i post jetzt noch meine Erkenntnisse :D

1) Also, die pure Variante |variabel|fix|variabel| kann ma gleich mal vergessen. Es is ja auch logisch, dass des net funktioniert, wie da funka scho erwähnt hat. Außer, man verwendet im CSS JavaScript, um die aktuelle Fensterbreite zu bekommen. Aber wer weiß ob man über haupt JS verwenden will :)

2) Es ging darum, dass ich in den äußeren divs ein background-image wiederholen lassen wollte. Dafür reicht aber auch ein div, wenn man zb nur imgs hat, die man mit text-align:center zentrieren kann. Will man aber außen jeweils noch ein anderes Bild unterbringen reicht das natürlich nicht mehr.

3) Mit 5 divs erreicht man das ergebnis auch. 3 divs mit zB 25%,50%,25% und im 50% div dann noch 2 weitere divs, die zentriert werden (2, da IE fix benötigt wird).
Code: PHP
<div style="float:left; width:25%; height:50px; background-color:#FF0000"></div>
<div style="float:left; width:50%; height:50px; background-color:#FF0000; text-align:center">
	<div style="text-align:center">
		<div style="text-align:left; width:400px; height:50px; margin-left:auto; margin-right:auto; background-color:#0000FF"></div>
	</div>
</div>
<div style="float:left; width:25%; height:50px; background-color:#FF0000"></div>
Eigentlich is die Lösung ja sogar relativ elegant :)

Aber hier kommen wir gleich zu Punkt
4) IE is ******e... die Leut die Lösung 3) ausprobieren, werden bemerken, dass sie eigentlich doch nicht funktioniert im IE. Des letzte div rutscht runter. Aber jetzt kommts, verändert ma die Browsergröße dann passts abwechselnd und dann mal wieder nicht. zB passts in 1024 aber in 1280 nicht mehr. Aaaber, wenn man jetzt im body a margin-right:2px macht, dann passts :confused: :p (bei 1px scho wieda nimma, oda bei 3px).

So, i hoff i hob nix vergessen
Bearbeitet von Spikx am 24.09.2004, 12:31

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
floats sind dafuer da dass es runter rutscht wenns sich nicht mehr ausgeht

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
Ja, es geht ja darum, dass es sich normalerweise ausgehen sollte (25%+25%+50% = 100%) und im IE tut es das manchmal nicht, aufgrund eines Rundungsfehlers, hab i ma sagen lassen.

Btw., ich bin ja kein Verfechter von Tabellen, aber ich würde jetzt endlich gern mal wissen, aus welchen Grund ich mich solange mit den divs spiele, damit es funktioniert, obwohl es mit tables prinzipiell ja viel einfacher geht :)

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4470
Weil du den Sinn von HTML und Semantik verstehst, desshalb.

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
warum sollte man jemanden etwas erklaeren wenn es simpler ist ihn einfach die fehler machen zu lassen

duerften in diesem fall wirklich rundungsfehler sein
normalerweise sind hier die typischen fehler das man border + margin + padding vergisst mitzurechnen

warum machst du nicht einfach eine box und in dieser box die andere box zentriert
was du da machst ist eignetlich umstaendlichstes table design mit divs nachbauen
Code:
[    [ box ]     ]
so ca

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
Zitat von Rektal
Weil du den Sinn von HTML und Semantik verstehst, desshalb.
Aber was nützt mir das, wenn die Semantik von CSS in verschiedenen Browsern noch immer anders is. Was bei tables afaik nicht der Fall ist. Ok, man lernt ja für die Zukunft, wo das hoffentlich auch für divs und CSS gilt :)
Aber das habe ich ja eigentlich nicht gemeint, mir fehlt noch immer der Vorteil der div constellation..

@funka, das is eh Lösung 3). Nur in meiner Ausführung hab i halt noch die äußeren divs verwendet, die könnte man natürlich genausogut weglassen, wenn man keine Elemente außen anbringen will.

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
die loesung muss dem problem natuerlich angemessen sein
aber k.a. was das problem ist
dieses div monster ist definitiv nicht notwendig ;)

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
Wieso, wie würdest du des machen, wenn du zB zentriert a nav Element haben willst und link und rechts jeweils ganz außen noch irgenda... Büd :)

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von Spikx
So, i post jetzt noch meine Erkenntnisse :D

1) Also, die pure Variante |variabel|fix|variabel| kann ma gleich mal vergessen. Es is ja auch logisch, dass des net funktioniert, wie da funka scho erwähnt hat. Außer, man verwendet im CSS JavaScript, um die aktuelle Fensterbreite zu bekommen. Aber wer weiß ob man über haupt JS verwenden will :)

2) Es ging darum, dass ich in den äußeren divs ein background-image wiederholen lassen wollte. Dafür reicht aber auch ein div, wenn man zb nur imgs hat, die man mit text-align:center zentrieren kann. Will man aber außen jeweils noch ein anderes Bild unterbringen reicht das natürlich nicht mehr.

3) Mit 5 divs erreicht man das ergebnis auch. 3 divs mit zB 25%,50%,25% und im 50% div dann noch 2 weitere divs, die zentriert werden (2, da IE fix benötigt wird).
Code: PHP
<div style="float:left; width:25%; height:50px; background-color:#FF0000"></div>
<div style="float:left; width:50%; height:50px; background-color:#FF0000; text-align:center;">
	<div style="text-align:center">
		<div style="text-align:left; width:400px; height:50px; margin-left:auto; margin-right:auto; background-color:#0000FF;"></div>
	</div>
</div>
<div style="float:left; width:25%; height:50px; background-color:#FF0000"></div>
Eigentlich is die Lösung ja sogar relativ elegant :)

Aber hier kommen wir gleich zu Punkt
4) IE is ******e... die Leut die Lösung 3) ausprobieren, werden bemerken, dass sie eigentlich doch nicht funktioniert im IE. Des letzte div rutscht runter. Aber jetzt kommts, verändert ma die Browsergröße dann passts abwechselnd und dann mal wieder nicht. zB passts in 1024 aber in 1280 nicht mehr. Aaaber, wenn man jetzt im body a margin-right:2px macht, dann passts :confused: :p (bei 1px scho wieda nimma, oda bei 3px).

So, i hoff i hob nix vergessen
hmm, ist dir eigentlich klar dass man dem body-tag auch hintergrund-bilder zuweisen kannß :confused:

edit: die lösung deiner probleme heisst absolute positionierung ;)
mit der richtigen codestruktur zerreisst du auch nicht die struktur für non-css-browser...
Bearbeitet von watchout am 24.09.2004, 12:28

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
Zitat von watchout
hmm, ist dir eigentlich klar dass man dem body-tag auch hintergrund-bilder zuweisen kannß :confused:
ja natürlich... aber was hat das jetzt mit dem hier zu tun?

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von Spikx
ja natürlich... aber was hat das jetzt mit dem hier zu tun?
ohne abolutes positioning - mit background-positioning:
Code:
<body id="overall-background">
  <div id="linkesbild">
    <div id="rechtesbild">
      [content_zentrierungs_divs]
    </div>
  </div>
</body>
http://de.selfhtml.org/css/eigensch...ground_position

ps: ich hab erst nachher bemerkt dass ich dich flasch verstanden hab' :D

edit: <mod> mach bei deinem post oben die lange css-zeile bissi kürzer - bzw. füg nach den ; leerzeichen ein, damit der brower umbrechen kann
Bearbeitet von watchout am 24.09.2004, 12:27

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
Ah, des klingt guat (de div Lösung) :) Da sollte es ja dann auch keine Probleme mehr mitn IE geben.
Zitat von watchout
edit: <mod> mach bei deinem post oben die lange css-zeile bissi kürzer - bzw. füg nach den ; leerzeichen ein, damit der brower umbrechen kann
jawoll
Bearbeitet von Spikx am 24.09.2004, 12:32

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von Spikx
Ah, des klingt guat (de div Lösung) :) Da sollte es ja dann auch keine Probleme mehr mitn IE geben.
ka, von der struktur her tät glaubich absolutes positionieren besser sein, leider hat das wieder andere bugs... :rolleyes:

ps: <mod> danke ;)

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
naja, aber wie soll ma mit absoluter Positionierung irgendein Element immer am rechten Rand ausrichten lassen?

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von Spikx
naja, aber wie soll ma mit absoluter Positionierung irgendein Element immer am rechten Rand ausrichten lassen?
right:0px; ;)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz