Element in Div-Box rechts unten platzieren - wie?

Hallo Profis,

das (vermutlich alte) Problem: Ich möchte innerhalb einer Div-Box ein Bild bzw. anderes Element rechts-unten positionieren. Aber ich beiße mir an dieser Aufgabe und dem dazugehörenden Googeln erfolglos die Zähne aus. Das hier hielt ich für sinnvoll, aber es funktioniert nicht:

#außen {
    float: left;
    position: relative;
}




# bild {
    float: right;
    right: 0;
    bottom: 0;
    position: absolute;
}




 
**Lorem ipsum dolor sit amet, consectetur, adipisci velit** viel Text und Zeugs ...

Hat jemand das Wissen, wie diese Aufgabe zu meistern ist?

Vielen Dank und ein schönes Wochenende
JayKay

Hallo,

machen Sie mal aus dem #außen ein #aussen und das # bild bitte zusammen.

Gruß
Simon

Frage ist noch völlig offen… Wer kann helfen?
Hallo Simon,

machen Sie mal aus dem #außen ein #aussen und das # bild bitte
zusammen.

Na, das hatte ich nur unglücklich übertragen und selbstverständlich nicht in meinen Dateien so stehen. :wink:

Viele Grüße
JK

Hallo ,

Du hast ein DIV ohne Größe und willst dann das das Bild unten rechts sein soll ?

Sorry , aber wo ist unten rechts wenn Größe gleich Inhalt ist ?

Hallo TechPech,

Du hast ein DIV ohne Größe und willst dann das das Bild unten
rechts sein soll ?

Sorry , aber wo ist unten rechts wenn Größe gleich Inhalt ist

Wieso ohne Größe? Die Größe des umgebenden DIVs ergibt sich doch aus seinem Inhalt („Lorem ipsum …“)
JK

bei deinem konstrukt sehe ich aber das der inhalt so groß wie das div ist .

geheime css anweisungen irgendwo vergraben ???

schau dir doch einfach mal an was du gepostet hast .

ach ich mach es mal selber .

dein html sagt , box mit text dann folgt bild.

was soll da also unten rechts sein , der text ist sagen wir mal 14px hoch , damit ist das bild größer als der text , somit ist das div so groß wie der text.
vielleicht wolltest du irgendwas floaten , so das der text um das bild fließt .
aber du sagst nur unten rechts , und dafür ist das was du da angegeben hast ungenügend .
Ohne höhen angabe ist der inhalt wichtig und der scheint ja der text zu sein .

wie auch immer ich es drehe , ohne höhen angabe gibt es kein unten , ohne breite kein rechts .

Die letzte Möglichkeit wäre das du den viewport meinst, aber der hat dann nichts mit dem DIV zu tun .

also kläre uns auf , so ist das milde gesagt ein unsinniges Beispiel .

Also gut. Nochmal gaaaanz ausführlich

was soll da also unten rechts sein , der text ist sagen wir
mal 14px hoch , damit ist das bild größer als der text , somit
ist das div so groß wie der text.
vielleicht wolltest du irgendwas floaten , so das der text um
das bild fließt .
aber du sagst nur unten rechts , und dafür ist das was du da
angegeben hast ungenügend .
Ohne höhen angabe ist der inhalt wichtig und der scheint ja
der text zu sein .
[…]
also kläre uns auf , so ist das milde gesagt ein unsinniges
Beispiel .

Naja, also ich dachte das funktionale Konzept von „Lorem ipsum“ sei bekannt. Dann eben nochmal ausführlich:

#außen {
 float: left;
 position: relative;
 width: 300px;
}

# bild {
 float: right;
 right: 0;
 bottom: 0;
 position: absolute;
}

 
**Lorem ipsum dolor sit amet, consectetur, adipisci velit** viel Text und Zeugs ... (so stehts schon oben, aber es war wohl nicht ganz klar, daß hier wirklich mehr hin sollte, darum noch etwas mehr, damit ich nicht mehr, milde gesagt, Unsinn hier stehen habe). Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.

Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in

Aussehen soll das alles so:

┌──────────────────────────────────────────────┐
│Lorem ipsum dolor sit amet, consectetur, │
│adipisci velit viel Text und Zeugs ... (so │ 
│stehts schon oben, aber es war wohl nicht │
│ganz klar, daß hier wirklich mehr hin sollte, │
│darum noch etwas mehr, damit ich nicht │
│mehr, milde gesagt, Unsinn hier stehen habe). │
│Duis autem vel eum iriure dolor in hendrerit │
│in vulputate velit esse molestie consequat, │
│vel illum dolore eu feugiat nulla facilisis │
│at vero eros et accumsan et iusto odio │
│dignissim qui blandit praesent luptatum │ 
│zzril delenit augue duis dolore te feugait │
│nulla facilisi. Lorem ipsum dolor sit amet, │
│consectetuer adipiscing elit, sed diam │
│nonummy nibh euismod tincidunt ut │
│laoreet dolore magna aliquam erat volutpat. │
│ │
│Ut wisi enim ad minim veniam,┌───────────────┐│
│quis nostrud exerci tation │ ││
│exerci tation ullamcorper │ ││
│suscipit lobortis nisl ut │ IMG ││
│aliquipex ea commodo conse- │ ││
│quat. Duis autem vel eum │ ││
│iriure dolor in hendrerit in └───────────────┘│
└──────────────────────────────────────────────┘

Also nochmal zusammengefaßt: Es gibt eine DIV-Box, die im Beispiel eine variable Höhe und eine feste Breite hat. Die feste Breite ist für die Fragestellung bzw. die Problemschilderung nicht zwingend, scheint aber für das Verständnis hier hilfreich zu sein. In dieser DIV-Box gibt es einiges an Text und ein im Flächenvergleich kleineres Bild. Das Bild soll in der rechten unteren Ecke der DIV-Box positioniert und vom Text umflossen sein.

Jetzt klar? Wie CSSe ich das?

Vielen Dank.

JK

das geht nicht,
text umfliesst ein objekt immer von oben nach unten .

sobald position:absolute genommen wird, ist das textfloating nicht mehr aktive.

möglichkeit das in mehrere teile aufzuteilen , aber wenn dann der untere text zu lang ist wird er auch unten weiter ums bild umflossen . Es ist also nie vorhersagbar ob der text unten bündig ist oder im schlimmstn fall rausrutscht.

Ergebnis: Geht nicht
Hallo TechPech,

Das finde ich ja überraschend, daß dieses banale Layout-Konzept trotz CSS3 nicht umsetzbar ist. Aber vielen Dank. Da ich Deinem „Geht nicht“ traue, weiß ich, daß ich nicht weitersuchen oder ausprobieren muß.

Viele Grüße
JK

Hi,

bild {

float: right;
right: 0;
bottom: 0;
position: absolute;
}

Du musst Dich schon für float oder position:absolute entscheiden. Wenn der Text umfließen soll, kommt nur float infrage. Damit er umfließen kann, muss das Bild vor diesem Text notiert werden.

Genau wird man allerdings kaum hinbekommen, das Bild an der passenden Stelle zu platzieren, damit der Text und das Bild beide bündig abschließen. Es bietet sich allerdings asn, das Bild vor einem Absatz zu platzieren, den es illustrieren soll.

Gruß
Ingo

Hallo Ingo,

Du musst Dich schon für float oder position:absolute
entscheiden. Wenn der Text umfließen soll, kommt nur float
infrage. Damit er umfließen kann, muss das Bild vor diesem
Text notiert werden.

Genau wird man allerdings kaum hinbekommen, das Bild an der
passenden Stelle zu platzieren, damit der Text und das Bild
beide bündig abschließen. Es bietet sich allerdings asn, das
Bild vor einem Absatz zu platzieren, den es illustrieren soll.

das heißt, daß es auch unmöglich ist, ein Bild unten links zu positionieren und floaten zu lassen? Ich bekomme gerade nicht mal das hin und bin sehr erstaunt, daß selbst CSS 3 bei dieser einfachen Aufgabe scheitert.

Viele Grüße
JK

es geht alles von oben nach unten ,
eine box und dahinter und dann darum wird der text gefloatet ,
hat die box padding bleibt es frei (box ist box) .

es geht nie von unten nach oben :smile:

Ergebnis: Unten links geht auch nicht
Hallo TechPech,

es geht alles von oben nach unten ,
eine box und dahinter und dann darum wird der text gefloatet ,
hat die box padding bleibt es frei (box ist box) .

es geht nie von unten nach oben :smile:

Ich bin wirklich zutiefst erstaunt. Daß so etwas einfaches nicht umsetzbar ist - irre!

Aber vielen Dank für Deine und Eure Hilfe. So beiße ich mir an diesem unmöglichen Ding nicht weiter die Zähne aus.

Schönes Wochenende
JK

Hi.

Ich bin wirklich zutiefst erstaunt. Daß so etwas einfaches
nicht umsetzbar ist - irre!

Wie kommst Du eigentlich darauf, dass das einfach wäre? Nur, weil sich ein Problem einfach beschreiben läßt, läßt es sich nicht auch einfach lösen.

Bei geeigneter Wahl von Text und Grafik kann es sogar unmöglich sein, Deine Layout-Anforderung zu erfüllen, weil entweder der Text oder die Grafik um eine Zeilenhöhe überstehen müssten.

Also bitte nicht CSS dafür verantwortlich machen, dass sich der Kreis nicht quadrieren läßt.

Gruß,
KHK

Einfach oder nicht?
Hallo KHK,

Ich bin wirklich zutiefst erstaunt. Daß so etwas einfaches
nicht umsetzbar ist - irre!

Wie kommst Du eigentlich darauf, dass das einfach wäre? Nur,
weil sich ein Problem einfach beschreiben läßt, läßt es sich
nicht auch einfach lösen.

Genau das wollte ich ja damit sagen: es läßt sich einfach beschreiben, es ist eine einfache Struktur und es gibt nur sehr wenige immanenten Bedingungen (unten rechts, Text umfließt rechts). Zu alledem ist das Layout ein absoluter Standard, das seit Jahrhunderten überall Verwendung findet.

Bei geeigneter Wahl von Text und Grafik kann es sogar
unmöglich sein, Deine Layout-Anforderung zu erfüllen, weil
entweder der Text oder die Grafik um eine Zeilenhöhe
überstehen müssten.

Wieso sollte das unmöglich sein? Das ist eine ganz einfache Bedingung. Wenn ich mit Java oder C# eine Bildschirmausgabe implementiere, ist das in nullkommanix erledigt.

Also bitte nicht CSS dafür verantwortlich machen, dass sich
der Kreis nicht quadrieren läßt.

Halte mal den Ball flach - „… Kreis quadrieren …“ Als ginge es um ein besonders exotisches Layout. Ich sage es noch einmal: Es ist eine absolut simple Layoutstruktur, die sich mit CSS nicht umsetzen läßt. Wenn außer Dir noch jemand der Meinung ist, daß es nicht simpel und einfach ist, der hebe bitte die Hand.

Viele Grüße
JK

Geht nicht
Hallo.
Ich meine folgendes:

Erster Versuch:

+--------------------------------------------------+
¦Lorem ipsum dolor sit amet, consectetur, ¦
¦consectetuer adipiscing elit, sed diam nonummy ¦
¦nibh euismod tincidunt ut laoreet dolore magna ¦
¦aliquam erat volutpat. ¦
¦ ¦
¦Ut wisi enim ad minim veniam, quis nostrud exerci.¦
¦ +--------------------------------------+¦
¦ ¦ ¦¦
¦ ¦ ¦¦
¦ ¦ ¦¦
¦ +--------------------------------------+¦
+--------------------------------------------------+

… OK, Text soll Bild umfließen. Schieben wir das Bild etwas nach oben…

+--------------------------------------------------+
¦Lorem ipsum dolor sit amet, consectetur, ¦
¦consectetuer adipiscing elit, sed diam nonummy ¦
¦nibh euismod tincidunt ut laoreet dolore magna ¦
¦aliquam erat volutpat. ¦
¦ ¦
¦Ut wisi +--------------------------------------+¦
¦enim ad ¦ ¦¦
¦minim ¦ ¦¦
¦veniam, ¦ ¦¦
¦quis +--------------------------------------+¦
¦nostrud exerci. ¦
+--------------------------------------------------+

…Mist! Das Bild soll doch am unteren Rand stehen. Also Bild eine Zeile nach unten schieben…

+--------------------------------------------------+
¦Lorem ipsum dolor sit amet, consectetur, ¦
¦consectetuer adipiscing elit, sed diam nonummy ¦
¦nibh euismod tincidunt ut laoreet dolore magna ¦
¦aliquam erat volutpat. ¦
¦ ¦
¦Ut wisi enim ad minim veniam, quis nostrud exerci.¦
¦ +--------------------------------------+¦
¦ ¦ ¦¦
¦ ¦ ¦¦
¦ ¦ ¦¦
¦ +--------------------------------------+¦
+--------------------------------------------------+

… Ups.

Du siehst: die Layout-Anforderung ist in diesem konkreten Fall gar nicht umsetzbar.

Gruß,
KHK

Bestimmt mit JavaScript erreichbar
http://matthiasschuetz.com/typeset-verbesserter-bloc…

Und
https://code.google.com/p/hyphenator/

Das wie warum und weshalb float floatet
http://css-technik.de/css-examples/219_9/