Zur Navigation

bilder positionieren im overflow div

1 DJ-MC-ET (Gast)

hallo. bald hab ich alle foren durch. :D

das problem ist wirklich knifflig. und ich bin mit meinem latein schon lange am ende. das eigentlich problem gibts nur mit firefox. es lässt sich auch nur schwer beschreiben. deshalb hab ich mal ein demo online gestellt. bei dem demo soll eine landkarte in einem div scrollbar werden. auf der karte sollen mit kleinen bildern mehrere standorte eingetragen werden. im demo ist das ganze 2x zu sehen. allerdings funktioniert das obere mit dem firefox überhauptnicht. das untere funktioniert schon fast perfekt. nur leider bleiben die kleinen positionierten bilder stehen und werden sogar ausserhalb vom div angezeigt.
demo: http://www.dj-mc-et.de/test

vielleicht kann mir hier jemand helfen.

03.06.2005 00:34

2 Jörg

Die Sternchen fallen aus dem Container heraus, weil du sie absolut positionierst. Wenn du die XML-Deklaration am Anfang entfernst:

<?xml version="1.0" encoding="windows-1252"?>

dann springt auch der IE in den standardkonformen Mode und zeigt die Sternchen ebenfals außerhalb des Conntainers an

Versuch es mal mit relativer Positionierung und mit top und left statt margin-top und margin-left:


<div style="width: 400px; height: 400px; overflow:auto;">
<div align="left" style="width: 801px; height: 1017px; background: url(frg_map2.gif);">
<img src="star.gif" border="0" style="position: relative; left: 378px; top: 205px;" />
<img src="star.gif" border="0" style="position: relative; left: 572px; top: 349px;" />
<img src="star.gif" style="position: relative; left: 229px; top: 141px;" border="0" />
<img src="star.gif" style="position: relative; left: 120px; top: 120px;" border="0" />
</div>

03.06.2005 01:16

3 DJ-MC-ET (Gast)

danke für die antwort.

das mit der relativen positionierung war natürlich das erste, was ich ausprobiert hab. auf den ersten blick funktioniert das auch sehr gut. aber wenn man genauer hinsieht, dann erkennt man das auch der abstand von links mit jedem weiteren bild zunimmt. da das ganze mal von einem php script ausgegeben werden soll, könnte ich das noch relativ einfach umgehen. bin allerdings grad noch was anderes am ausprobieren. ich hab dem div jetzt mal eine "line-height: 0px;" gegeben. also dem giv, welches du gepostet hast. und hinter jedem bild nochmal ein <br /> ergänzt. ich dachte so könnte ich die ganze sache mit den zunehmenden abständen umgehen. leider funktioniert das überhauptnicht. gibt es vielleicht noch eine andere möglichkeit jedes bild im ursprung erstmal oben links anzuordnen?

03.06.2005 10:14

4 Jörg

Die Ursprungsposition bei Inline-Elementen wie Bildern ist grundsätzlich rechts neben dem vorangehenden Inline-Element. Man könnte aus den Bildern mittels display:block Blockelemente machen, die untereinander angeordnet werden, aber das verschiebt das Problem nur auf eine andere Koordinate, und das hast du in etwa ja auch schon mit der Einfügung der <br />s ausprobiert.

Du könntest die Höhe bzw. Breite auf 0 setzen, aber dann sieht man die Bilder ja nich mehr ;)

Ein positon:absolute schließlich hebt die ursprüngliche Position zwar auf, aber eben auch den Bezug zum übergeordneten div

Ich seh momentan leider auch keine andere Möglichkeit, als den Abstand der vorangehenden Bilder nachträglich wieder abzuziehen;

03.06.2005 10:43

5 DJ-MC-ET (Gast)

vielen dank für deine hilfe. das mit dem block werde ich wohl nicht machen. denn dann bekomme ich probleme wenn es zu viele bilder werden. so wie es jetzt ist kann ich mit einem zeilenumbruch rechnen und dementsprechend reagieren. das ist ja zum glück nur ein rechenspiel.

mfg DJ-MC-ET

03.06.2005 17:28

Beitrag schreiben (als Gast)

Beim Verfassen des Beitrages bitte die Forenregeln beachten.





[BBCode-Hilfe]