"We are back" « oc.at

html/css: 2 spalten nebeneinander

kleinerChemiker 09.10.2006 - 22:42 2384 16
Posts

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4303
ich weiß nicht, wo der fehler ist. ich hab im grunde 2 divs. eines fürs menü und eines für den content.

hier die styles:
Code:
body {
	background-color: #F0FFF0;
	color: #000000;
	margin: 0px;
	padding: 5px;
}

div.menu {
	background-color: #FFFFFF;
	color: #000000;
	border: 2px dotted #800000;
	left: 0px;
	top: 0px;
	float: left;
	padding: 6px;
	max-width: 300px;
}

div#txt {
	background-color: #FFFFFF;
	color: #000000;
	border: 2px dotted #800000;
	padding: 6px;
}

ich will das menü nicht mit einer fixen breite haben, wenn es sich vermeiden läßt. aber entweder klebt der content unter dem menü (und wird vom menü z.t. verdeckt), oder wenn ich ihm einen float:right hinzufüge, paßt es im ie, aber im ff beginnt der content erst, wo das menü aus ist.

tia

mik

ica

hmm
Avatar
Registered: Jul 2002
Location: Graz
Posts: 9822
beide float:left, darunter ein div mit style clear:both

Frys_Assassin

information keeper
Avatar
Registered: Oct 2001
Location: New New York
Posts: 2503
Wobei sich der IE meiner Erfahrung nach bei clear:both teilweise ordentlich ins Hoserl gemacht hat. Imho reicht ein clear:left.
Anmerkung: Bei Darstellungsfehlern (IE) mit high-sophisticated float Strukturen hilft dir das Stichwort Peekabo Bug sicher weiter :)

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4303
ändert leider gar nichts. das seltsame ist ja, der ie stellts richtig dar, der ff falsch.

hier die gesamte seite mit stylesheet zum selber ansehen:
Testseite

so sollte es aussehen und sieht es im ie aus:
click to enlarge

so sieht es im ff aus:
click to enlarge

tia

mik

ica

hmm
Avatar
Registered: Jul 2002
Location: Graz
Posts: 9822
ist auch klar wenn du ewig langen text reinschreibst. du musst schon dafür sorgen, dass auch zeilenumbrüche vorkommen - html macht das nicht für dich.

also entweder du begrenzt die länge der maximalen zeichen in einer zeile per skript oder du schreibst normale sätze und kopierst nicht irgendeinen schwachsinn rein :)

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4303
in dem text sind jede menge leerzeichen, an denen normalerweise ein zeilenumbruch stattfindet, wie der ie ja auch macht. da der zeilenlänge ja bei jedem anders ist aufgrund der auflösung und ob er seinen browser maximiert hat oder nicht, kann ich keine zeilenumbrüche fix integrieren. da könnte ich ja gleich die breite fix vorgeben, aber genau das will ich ja nicht.
ich hätte gerne, daß das menu so breit ist, wie es sein muß und der restliche platz in der breite vom content aufgebraucht wird. also 2 spalten nebeneinander, deren breite sich anpaßt.

Luzandro

Here to stay
Avatar
Registered: Mar 2006
Location: 2482
Posts: 708
Theoretisch könntest du per javascript die Breite des Menüs abfragen und beim Text einen entspr. Margin setzen, aber ob das die ideale Lösung ist...
Rein mit CSS geht das allerdings denk ich nicht, denn der Block nimmt sich den meisten Platz, den er bekommen kann und das sind hier eben 100%

fatmike182

Agnotologe
Registered: Oct 2005
Location: VIE
Posts: 4223
also dümmster Ausweg - wenn auch FALSCH - wäre halt dann doch die Tabelle ...

ich versteh, warum der firefox das so macht & auch warum der ie das anders macht. Aber entweder musst dann für den firefox eine andere css laden oder irgendwie die breite festlegen.
Was ist das Gegenargument gegen fixe Breite? Auflösung?
Frag die ab & behndle das seperat für diesen konkreten Style. Ist imho das eleganteste & auch kein allzugroßer Aufwand.

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4303
bevor ich beginnne mit js zu hantieren, nehme ich eine tabelle. eine tabelle ist vielleicht unschön (ich sehe nichts falsches daran), aber sie funktioniert in jedem browser. js ist viel eher deaktiviert, als daß ein browser keine tabellen anzeigen kann.
ich sehe keinen sinn, daß ein menü fast leer ist, nur weil eventuell einmal ein langer name im menü auftaucht. ebenso kann die schriftgröße unterschiedlich eingestellt werden.

aber eigentlich verstehe ichs nicht, warum die txt-spalte unterhalb beginnt. wäre es kein div, sondern text, würde er auch oben beginnen und um das menü herumlaufen.

Luzandro

Here to stay
Avatar
Registered: Mar 2006
Location: 2482
Posts: 708
Zitat von kleinerChemiker
aber eigentlich verstehe ichs nicht, warum die txt-spalte unterhalb beginnt. wäre es kein div, sondern text, würde er auch oben beginnen und um das menü herumlaufen.

weil ein div als display:block formatiert wird

fatmike182

Agnotologe
Registered: Oct 2005
Location: VIE
Posts: 4223
gute Wahl *µ*...
falsch in dem Sinn, weil bei hardcore-csslern ein Tabellenformat nicht missbraucht werden darf & das von dir ja defacto keine Tabelle in dem Sinn ist. (Argument gabs eines, aber k.A. mehr)
btw. gabs mal die Überlegung einer Pseudo-tabelle in css, obs das schon/noch gibt/unterstützt wird... wurscht

EDIT:
weitere Gründe, aber bei dir eh vollkommen egal:
http://www.css4you.de/wslayout1/index.html

weiters:
warum du die y-position nicht definierst, versteh ich auch nicht... was würde dagegensprechen?
Bearbeitet von fatmike182 am 10.10.2006, 23:13

Luzandro

Here to stay
Avatar
Registered: Mar 2006
Location: 2482
Posts: 708
Zitat von fatmike182
(Argument gabs eines, aber k.A. mehr)
Argument war u.a., dass es für Screenreader suboptimal klingt, besonders bei wilden Verschachtelungen - in deinem Fall ist nicht viel daran auszusetzen

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4303
konnte ich auch nichts finden, wie man 2 spalten mit variabler breite macht.

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
http://www.positioniseverything.net...layout/anyorder
Sind halt drei Spalten, aber funktioniert analog mit zwei.

Oder aber ich kapiere nicht, was du machen willst.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz