Background Problem bei div mit Bild und Text

Bild soll neben Text fließen und der Background sichtbar sein. Hier stelle ich meine CSS Lösungen vor.

div Container umfasst nicht das Bild 
 Div Container und das Bild hängt über den Div Container hinaus

Man hat einen Div Container und darin soll ein Bild um den Text fließen – alles funktioniert wunderbar. Bloß der Hintergrund spielt nicht mit. Ein kleiner Balken wird gefärbt, das andere nicht. Andere beschreiben dieses Problem so: Das Bild geht über den Container hinaus. Dann wird gefragt, wie kann man das div so hoch machen, dass es das Bild einfasst – und zwar wenn man ständig unterschiedlich hohe Bilder hat.

Für dieses Problem gibt es unterschiedliche Lösungsansätze. Oft hat man eine Lösung mal gefunden und nutzt dann nur mehr die, doch wie meist: Probleme haben selten 1 Lösung :zwinker: So stelle ich hier einige mir bekannte Lösungen für das Problem: “Bild fließt um Text und der Background ist nicht gleich hoch” vor.

Bild soll neben Text fließen und der Background sichtbar sein-meine Lösungsansätze

0 weiteren Div Containe drumherum

Die allererste Lösung, die den meisten einfällt ist einfach einen weiteren Div Container drumherum geben und in diesem den Background definieren. Ich bin sicher keine, die am Mark Up spart wo es nur geht -also weit vom Puristentum entfernt – doch dies sollte nur die absolute Notfalllösung sein.

So widme ich mich kurz den Grundvoraussetzungen:

padding fehlt
 IE braucht Padding

Das Div braucht ein padding, sonst erkennen sehr viele Browser nicht die Höhe des Bildes und schneiden es unten ab, es ist fast egal, wie gering das padding ist, es muss nur da sein.

Das Grund CSS meiner Beispiele ist daher:

Beispiel 1

Der Div Container hat die class bild, das Bild hat die class left.

.bild{background-color:#868686;color:#000;width:400px;padding:0.3em;}
.left{float:left;margin:10px;}

Dies reicht dem IE aus, um den Div Container in voller Höhe zu zeigen. Mozilla Browser wie der Firefox, Flock und der Opera machen dies nicht. Siehe 1. Bild in dem Artikel.

Dem Div Container eine fixe Höhe zuweisen

Beispiel 2

.bild2{background-color:#868686;color:#000;width:400px;padding:0.3em;height:180px;}

Gibt man dem Div eine fixe Höhe zeigen alle Browser den Hintergrund gut an, doch dies ist nicht immer realisierbar.

Display table hilft auch aus

Beispiel 3

.bild3{background-color:#868686;color:#000;width:400px;display:table;padding:0.3em;}

Gibt man dem Div Container die Angabe display table zeigt sich auch der volle Background, allerdings nur unter bestimmten Voraussetzungen, die man hier bei Quircksmode gut nachlesen kann. Dass dies der IE nicht kann ist irrelevant, weil er sowieso die volle Höhe des Div Containers anzeigt.

Clearfix – Auflösen des float hilft auch.

Beispiel 4

Positioneverthing hat vor Jahren bereits einen CSS Hack beschrieben der unser Problem ebenfalls gut löst.

Ich gab dem Div Container eine 2. class mit nämlich clearfix und die beschreibt sich so:

/*--clear--*/
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
/* Hides from IE-mac \*/
* html .clearfix {
	height: 1%;
}
/* End hide from IE-mac */

Das Div selbst auch fließen lassen float left

Beispiel 5

.bild5{background-color:#868686;color:#000;width:400px;float:left;padding:0.3em;}

Läßt man den Div Container selbst auch nach Links fließen mit der Angabe float left, zeigen die Browser ebenfalls die volle Höhe des Containers an.

Welche Methode bevorzugst Du? Wo siehst Du troubles bei den hier vorgestellten Lösungsmöglichkeiten?

Code kann aus Sicherheitsgründen nicht in den Kommentaren getippt werden. Bitte entities nutzen- Danke :-) .

mts


Basis Know-how CSS
InternetmarketingInternetmarketing Buchempfehlung

Top

1Kommentare zu : Background Problem bei div mit Bild und Text

1 Kommentar
  1. 1

    In älteren bestehenden Projekten verwende ich auch die “Clearfix-Variante”, ansonsten versuche ich es bei neuen Projekten zu vermeiden.

Deine Meinung
... zum Thema
Name und E-mail sind nötig


WebDesign Angebot

mein Angebot

Ich biete benutzerfreundliches, barrierefreies WebDesign und InternetMarketing, denn was nützt die schönste Homepage, wenn sie keiner findet. Schalk und Support ist inclusive.
Kontakten Sie mich einfach » E-Mail

InternetMarketing Angebot

Mieten Sie meine Kreativität

Ich habe jede Menge Idee und Können, wie man auch ihren Shop, ihre Homepage und ihr Business im Internet bekannt macht.
Kontakten Sie mich einfach » E-Mail

WebDesign Preise

Preise by mts

Professionelles WebDesign ist eine Investition. Billig und günstig sind andere ..ich bin gut und bezahlbar.
Kontakten Sie mich einfach » E-Mail


Achtung: Sie haben JavaScripts und/oder CSS deaktiviert. Sie können diese Inhalte nutzen, einiges an Funktionen steht jedoch nicht zur Verfügung.

Zu den Inhalten springen

« zurück

vor »

  • WebDesign Icon

    WebDesign

    WebDesign ist mehr als Grafik- und Printdesign. WebDesign und Website Marketing sind Geschwister. Rund um WebDesign.
  • WebDesign Tutorials Icon

    WebDesign Tutorial

    Kein WebDesigner fällt vom Himmel. Mal ein Online Shop, mal Community, mal Web 2.0 social Media oder Wiki. Erfahrungen uvm.
  • CSS Icon

    CSS

    Ich habe zig CSS Beispiele, Erkenntnisse irgendwo auf der Festplatte meines PCs und Gehirns. Ich gebe diese gern weiter :-).
  • InternetMarkering Icon

    InternetMarketing

    Wie verkauft man im WWW unter Ausnutzung der SUMAs, der Social Media Dienste. Internet Marketing Praxis uvm..
    und Website Promotion
  • SEO Icon

    SEO

    SEO ist weder Geheimwissen noch 0815 Tätigkeit, - schlicht notwendig für den Erfolg im WWW. Meine Erfahrung mit SEO.
  • Internet Recht Icon

    Internet Recht

    Was tun bei Abmahnungen. Rechtsfallen sind u.a. free Download, Fotos, Marken, Forum, Kommentare. Wo gibt es Hilfe.
  • Schokolade Icon

    ..und außerdem ...

    mein Blog | mein Netzwerk | barrierefreies WebDesign | Usability im WebDesign | Net-Lexikon | WordPress Themes

©  2004 - 2010Professional Webdesign barrierefrei auf WebDesign-in.de, ImpressumImpressum Lizenz||Top