mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 22:43 Benutzername: Passwort: Auto-Login

Thema: [CSS] Floating DIV und Hintergrund anderer DIVs vom 14.12.2010


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Allgemeines - Nonprint -> [CSS] Floating DIV und Hintergrund anderer DIVs
Autor Nachricht
taccett
Threadersteller

Dabei seit: 15.05.2006
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 14.12.2010 12:43
Titel

[CSS] Floating DIV und Hintergrund anderer DIVs

Antworten mit Zitat Zum Seitenanfang

Hallo!

Ich hab eine kleines Problem mit eine "gefloateden" DIV.

Minimalbeispiel:

Code:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<style>
html, body {
   font-family:Verdana, sans-serif;
   font-size:12px;
}
#aussen {
   width:900px;
   border:1px solid black;
   padding:10px;
}
#rechts {
   float:right;
   width:150px;
   background:#ccc;
   border:1px solid #555;
   padding:10px;
}
.hintergrund {
   border:1px solid green;
   background:#777;
}
</style>
</head>

<body>

<div id="aussen">

<div id="rechts">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et
dolore magna aliquyam erat, sed diam voluptua.
</div>

<p class="hintergrund">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et
dolore magna aliquyam erat, sed diam voluptua.
</p>

<div class="hintergrund">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et
dolore magna aliquyam erat, sed diam voluptua.
</div>

</div>
<div style="clear:both;"></div>
</body>
</html>


Wie bekommen ich es hin, dass die divs und p "hintergrund" mit dem dunkelgrauen Hintergrund am div "rechts" aufhören? Der Hintergrund geht immer unter das div...
Ist das überhaupt möglich?

mfg
taccett


Zuletzt bearbeitet von taccett am Di 14.12.2010 12:45, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
heiko_rs

Dabei seit: 06.02.2008
Ort: Berlin
Alter: -
Geschlecht: Männlich
Verfasst Di 14.12.2010 13:08
Titel

Antworten mit Zitat Zum Seitenanfang

Floats werden nicht per default von anderen Elementen eingeschlossen. Dem kannst Du durch einen eigenen sog. "Block Formatting Context" (Google) für den Floatholder abhelfen, oder durch ein clearendes Element (auf Blocklevel) unmittelbar vor dem schließenden tag des Floatholders. Dieses Element hast Du bereits, nur an der falschen Stelle.

Bessere Alternative: Dieses leere (und daher sinnlose) Element aus dem HTML werfen und es stattdessen per CSS erzeugen - google "Clearfix" bzw. "Easy Clearing".


Zuletzt bearbeitet von heiko_rs am Di 14.12.2010 13:09, insgesamt 3-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
trashmaster

Dabei seit: 20.01.2010
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 14.12.2010 19:04
Titel

Antworten mit Zitat Zum Seitenanfang

Hi taccett,
die einfachste Lösung wäre wahrscheinlich, deinen .hintergrund-Elementen eine feste Breite zu geben, sodass sie nicht mehr bis zum rechten Rand des außen-divs laufen.

Und - wie heiko bereits erwähnte - damit die Floats korrekt aufgehoben werden, müsste dein
Code:
<div style="clear:both;"></div>
als letztes Element in das außen-div, oder du nimmst den sauberen Weg und schaust bei Google nach seinem Alternativvorschlag Lächel
  View user's profile Private Nachricht senden
taccett
Threadersteller

Dabei seit: 15.05.2006
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 15.12.2010 10:31
Titel

Antworten mit Zitat Zum Seitenanfang

Danke schonmal für eure Antworten.

Das richtige Clearing behebt leider nicht mein eigentliches Problem... Die dunkelgrauen Boxen gehen immer noch unter die rechte Box.
Feste Breite geben ist auch nicht möglich, da das ganze mit einem CMS eingesetzt werden soll, und die rechte Box nicht immer da ist.
  View user's profile Private Nachricht senden
heiko_rs

Dabei seit: 06.02.2008
Ort: Berlin
Alter: -
Geschlecht: Männlich
Verfasst Mi 15.12.2010 12:19
Titel

Antworten mit Zitat Zum Seitenanfang

taccett hat geschrieben:
Das richtige Clearing behebt leider nicht mein eigentliches Problem

Dann ist es auch nicht richtig. Code?
  View user's profile Private Nachricht senden
taccett
Threadersteller

Dabei seit: 15.05.2006
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 15.12.2010 12:38
Titel

Antworten mit Zitat Zum Seitenanfang

Ich habs mit der Easy Clearing Methode versucht:

Code:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<style>
html, body {
   font-family:Verdana, sans-serif;
   font-size:12px;
}
#aussen {
   width:900px;
   border:1px solid black;
   padding:10px;
}
#aussen:after {
  content: ".";
  display: block;
  clear: both;
  font-size: 0;
  height: 0;
  visibility: hidden;
}
#rechts {
   float:right;
   width:150px;
   background:#ccc;
   border:1px solid #555;
   padding:10px;
}
.hintergrund {
   border:1px solid green;
   background:#777;
}
</style>
</head>

<body>

<div id="aussen">

<div id="rechts">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et
dolore magna aliquyam erat, sed diam voluptua.
</div>

<p class="hintergrund">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et
dolore magna aliquyam erat, sed diam voluptua.
</p>

<div class="hintergrund">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et
dolore magna aliquyam erat, sed diam voluptua.
</div>

</div>
</body>
</html>


Die rechte Box ist jetzt zwar schon Innerhalb der "aussen"-Box, die .hintergrund Elemente "fliessen" aber immer noch unter die rechte Box...
  View user's profile Private Nachricht senden
heiko_rs

Dabei seit: 06.02.2008
Ort: Berlin
Alter: -
Geschlecht: Männlich
Verfasst Mi 15.12.2010 12:48
Titel

Antworten mit Zitat Zum Seitenanfang

Dieses normale Verhalten von Blockelementen (nur ihre inline-Elemente weichen einem Float aus) lässt sich z.B. beheben, indem sie horiz. margin bekommen.
  View user's profile Private Nachricht senden
 
Ähnliche Themen Zentrieren von floating DIVs
Mehrere divs im einem gesamt-div und ein floating Problem
[CSS] Hintergrund bei verschachtelten DIVs
Hintergrund eines Divs mit echten Ascii-Zeichen füllen
Floating mit Javascript
css floating problem
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Allgemeines - Nonprint


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.