XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   CSS (http://xhtmlforum.de/forumdisplay.php?f=73)
-   -   Elemente in einem Div Container links & rechts ausrichte (http://xhtmlforum.de/showthread.php?t=32815)

oliwa 14.07.2004 12:27

Elemente in einem Div Container links & rechts ausrichte
 
Hallo zusammen, bin froh dieses Forum entdeckt zu haben :D

Meine Frage ist folgende: Wie kann ich am einfachsten und ohne viel Extra-Schnickschnack Elemente in einem DIV Container links und rechts platzieren? Momentan benutze ich 2 span-klassen, wie in dem unten gezeigten Beispiel:

#topline {
width: 780px;
}

#topline span.left {
float: left;
width: 80%;
}

#topline span.right {
float: right;
text-align: right;
}

Der Nachteil: Wenn ich in der rechten Ecke eine Suchformular platzieren will, gibts Validator-Gemecker, weil man ja Block-Elemente (Form) nicht in Inline-Elementen (span) platzieren darf.

Nun will ich aber auch nicht für jedes rechts-links-Gedöhne neue DIVS aufmachen....

Hat jemand da eine gute Idee?

toscho 14.07.2004 15:39

Ich habe neulich ein (hoffentlich) in vielen Browsern funktionierendes Beispiel gepostet, und zwar hier:
http://www.xhtmlforum.de/viewtopic.p...ighlight=#6324

Zitat:

Nun will ich aber auch nicht für jedes rechts-links-Gedöhne neue DIVS aufmachen.
Aber ein <span>? Was ist der Unterschied?

oliwa 16.07.2004 10:02

Zitat:

Ich habe neulich ein (hoffentlich) in vielen Browsern funktionierendes Beispiel gepostet, und zwar hier:
http://www.xhtmlforum.de/viewtopic.p...ighlight=#6324
danke, das ist doch schon mal eine verbesserung gegenüber meiner lösung....

Zitat:

Nun will ich aber auch nicht für jedes rechts-links-Gedöhne neue DIVS aufmachen.
Aber ein <span>? Was ist der Unterschied?[/quote]

nunja, ich seh das ähnlich wie verschachtelte Tabellen.... möglichst vermeiden und so wenig DIVs wie nur geht... vielleicht denk ich da auch falsch?

ulle 16.07.2004 10:14

Skills

Code:

span.block {
  display: block;
}

so nun habe ich aus dem inline-Element ein block-Element gemacht.

Code:

<span class="block">ich bin wie ein div-Tag</span>
:idea: geht Dir nun ein Licht auf

Es ist egal welchen Tag Du benutzt, die Eigenschaften der Tags die Du kennst (defaults) sind auch nur definiert worden, und können somit jederzeit überschrieben werden :!:

In XML geht es dann noch weiter, da gibt es keine vordefinierten Tags mehr, da definierst DU alle :arrow:

Code:

mytollertag {
  display: block;
}

Code:

<mytollertag>ich bin wie ein div-Tag</mytollertag>
_____________________
table :arrow:

Verschachteln ist nicht das Thema,

Du sollst keine Tabellen für Layouts benutzen

toscho 16.07.2004 10:23

So wenig Divs, wie nur möglich — im Prinzip schon richtig. Aber der einzige Unterschied zu <span> besteht doch in der initialen Darstellung. Beide sind semantisch leer.

Wenn du kein passendes Element für deinen Zweck findest, nimm <div> oder <span>. Deren Einsatz ist nur dann »böse«, wenn sie richtiges HTML ersetzen, also Spielereien wie:
Code:

<div class="h1">Ich hätte eine fantastische Überschrift sein können!</h1>
… sind »böse«, ein:
Code:

<span class="eigenname">Lufthansa</span>
… wird dir aber niemand vorwerfen können. ;)

ulle 16.07.2004 10:37

toscho meinte bestimmt :arrow:
Code:

<div class="h1">Ich hätte eine fantastische Überschrift sein können!</div>
beachte den Schluß-Tag (</h1> durch </div> ersetzt)


class="h1" meinte er eine Class die selbst definiert wurde, aber wie ein h1-Tag aussieht - nicht das jemand glaubt man könnte Tag-Namen einfach als Klassen verwenden.

sorry toscho, aber einen Anfänger könnte es verwirren.

toscho 16.07.2004 10:58

Ulle? Natürlich kann man Element-Namen* als Klassennamen verwenden. Nur bleibt dann, wie ich erklärt habe, die Semantik auf der Strecke.

Ahh, noch was:
Zitat:

Code:

span.block {
  display: block;
}

so nun habe ich aus dem inline-Element ein block-Element gemacht.
Nein. Das geht mit CSS nicht. »block« und »inline« sind in HTML Inhaltsmodelle, in CSS Darstellungsmodelle. Die Namensgleichheit bei einigen Werten von »display« ist leider etwas unglücklich. Das Inhaltsmodell eines Elementes wird in HTML aber in der DTD festgelegt und kann durch CSS nicht geändert werden.

Zitat:

Du sollst keine Tabellen für Layouts benutzen
Besser als ungekonnte »DIV-Layouts« sind Tabellen allemal. Ich würde da nicht so ein hartes Diktum aufstellen. CSS ist nunmal hier und da komplizierter als Tabllenlayout; wenn jemand noch beim Lernen ist, soll er ruhig Tabellen benutzen, solange er es nicht übertreibt und die Reihenfolge des Codes auch beim Linearisieren der Tabelle noch Sinn ergibt.

________________
Bitte sag nicht »Tag«, wenn du »Element« meinst; das sind zwei sehr unterschiedliche Dinge.

ulle 16.07.2004 11:47

Zitat:

Natürlich kann man Element-Namen* als Klassennamen verwenden.
Ich wolllte vermeiden das jemand glaubt das damit auch die Eigenschaften des Elementen-Namen automatisch übernommen werden.

Glücklicher wäre wohl gewesen:

Code:

class="wieH1"
Manoman........ ich dachte ich bringe Klarheit damit, aber jetzt ist der THREAD verschlimmbessert :?

oliwa 16.07.2004 15:39

Ich für meinen Teil bin auf jeden Fall ein bisschen schlauer geworden... ;) Danke & Peace


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

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

© Dirk H. 2003 - 2023