XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   (X)HTML (http://xhtmlforum.de/forumdisplay.php?f=72)
-   -   DIV an Breite anpassen... (http://xhtmlforum.de/showthread.php?t=44965)

GELight 17.03.2007 15:11

DIV an Breite anpassen...
 
Hallo alle zusammen,

Ich versuche so langsam auch mehr und mehr DIVs einzusetzen.
Allerdings macht es oft einfach keinen Spaß damit zu arbeiten.

Ich setze ( auch wenn es einigen von euch nicht gefallen würde ) oft auch Tabellen ein um meine Layouts einfach so hinzubekommen, dass ich nicht mit DIVs und dem float durchdrehen muss. 8)

Okay... 2 Fragen hab ich mal.
1. Was muss man genau machen, damit für einen Inhalt eines DIV dieses vertical-align funktioniert?

2. Wie kann ich einem DIV sagen, dass er sich seinem Inhalt in der Breite anpassen soll? Der soll bei einem Menüpunkt zB. nicht immer 100% der Breite einnehmen aber darf auch keine Feste Breite haben.

Dank euch... Mario

gato 17.03.2007 15:26

Zitat:

Ich versuche so langsam auch mehr und mehr DIVs einzusetzen.
Allerdings macht es oft einfach keinen Spaß damit zu arbeiten.
Das eigentliche Problem ist meist, dass sich die Anwender nicht von einer Welt lösen können, die aus Zeilen, Spalten und Elementen besteht.

Tabellenlose Layouts können nicht alles, was Tabellenlayouts können, aber andersrum ist das genauso!

Zitat:

1. Was muss man genau machen, damit für einen Inhalt eines DIV dieses vertical-align funktioniert?
Zunächst verstehen, was vertical-align eigentlich bewirkt!
Damit werden nämlich nicht Elemente innerhalb eines Elements vertikal ausgerichtet, sondern Inlineelemente relativ zueinander (z.B. 1em großer Text mit 1.5em großem text vermischt).

Dass der Inhalt sich in Tabellenzellen so verhält, wie du es gerne möchstest, liegt an der besonderen Beschaffenheit dieser. Zur Not könntest du display: table-cell; verwenden, allerdings versteht das der IE nicht (Beschwerde bitte an MS, nicht CSS).

Ob eine vertikale Positionierung eines Inhalts so möglich ist, ist mir gerade nicht bekannt, sowas habe ich noch nie gestaltet.

Zitat:

2. Wie kann ich einem DIV sagen, dass er sich seinem Inhalt in der Breite anpassen soll? Der soll bei einem Menüpunkt zB. nicht immer 100% der Breite einnehmen aber darf auch keine Feste Breite haben.
Es gibt mehrere mögliche Angabe zu Breite und Höhe eines Elements: min-width gibt an, wie breit das Element mindestens sein soll. max-width, wie breit es maximal sein darf. width gibt an, die breit es exkt sein soll.
Hinweis: Frühere IE-Versionen und dessen Quirksmode interpretieren width wie min-width.

Die selben Varianten gibt es auch bei height: heigh, max-height, min-height.

heiko_rs 17.03.2007 15:45

Zitat:

Zitat von gato (Beitrag 327681)
Frühere IE-Versionen und dessen Quirksmode interpretieren width wie min-width.

Nicht wirklich: Ein div mit min-width: 300px; nimmt im FX auch bei einer 1280er-Auflösung die volle Breite ein, im IE 5/6 mit width: 300px; dagegen nicht (sondern nur 300px). Erst z.B. mit white-space: nowrap; zeigt der IE sein Fehlverhalten und dehnt das div aus.

Die einzigen Eigenschaften, die wirklich absolut identisch sind, sind height im IE 5/6 und min-height in den übrigen Browsern.

@GELight zu Punkt 2: Was Du suchst, gibt es nicht (zumindest nicht praxistauglich, d.h. für alle üblichen Browser), aber bei Menüpunkten geht es mit display: inline; für li - dann passen sie sich automatisch der Breite der Links bzw. Linktexte an.

EDIT: GELight, Du weißt schon, daß ein Menü in eine Liste gehört? (Du schreibst von divs im Zusammenhang mit Menüpunkten, aber diese setzt man mit ul/li um.)

GELight 17.03.2007 17:15

Listen
 
@heiko_rs,

Ich habs jetzt mal mit einer Liste versucht meine Punkte nebeneinander zu positionieren. Habe jedem <li> ein float left gegeben aber es entsteht eine irgendwie total unschöne Treppe nach unten.
Was mach ich evtl. falsch?

[EDIT] Das mit den Listen geht aber im IE nicht, wie ich sehe.... ich brauchs aber leider "auch" dort.

Mario

fricca 17.03.2007 17:25

Zitat:

Zitat von GELight (Beitrag 327693)
Was mach ich evtl. falsch?

Das kann dir sicher jemand sagen, wenn du deinen Code postest.
Lies bitte: http://xhtmlforum.de/40080-fuer-frag...twortende.html

BTW: Fragen zu CSS sind im entsprechenden Forenbereich besser aufgehoben.

heiko_rs 17.03.2007 19:42

Hier ist alles erklärt: http://xhtmlforum.de/40267-faq-haeuf...tml#post296439 (Abschnitt über horizontale Menüs)


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:23 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023