html/css: 2 spalten nebeneinander

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/html_css_2_spalten_nebeneinander_169823/page_1 - zur Vollversion wechseln!


kleinerChemiker schrieb am 09.10.2006 um 22:42

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 schrieb am 09.10.2006 um 23:29

beide float:left, darunter ein div mit style clear:both


Frys_Assassin schrieb am 09.10.2006 um 23:39

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 schrieb am 10.10.2006 um 09:49

ä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 schrieb am 10.10.2006 um 09:58

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 schrieb am 10.10.2006 um 10:19

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 schrieb am 10.10.2006 um 21:45

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 schrieb am 10.10.2006 um 21:52

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 schrieb am 10.10.2006 um 22:32

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 schrieb am 10.10.2006 um 22:34

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 schrieb am 10.10.2006 um 22:38

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?


Luzandro schrieb am 10.10.2006 um 22:53

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 schrieb am 18.10.2006 um 23:11

http://www.positioniseverything.net.../onetruelayout/ sollte helfen (Ergebisse: http://www.positioniseverything.net...layout/examples).


kleinerChemiker schrieb am 18.10.2006 um 23:15

konnte ich auch nichts finden, wie man 2 spalten mit variabler breite macht.


jives schrieb am 18.10.2006 um 23:20

http://www.positioniseverything.net...layout/anyorder
Sind halt drei Spalten, aber funktioniert analog mit zwei.

Oder aber ich kapiere nicht, was du machen willst.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025