Opera: Bug bei position?
wahsaga
- css
hi,
folgendes beispiel:
ein div mit etwas text und einem link.
der link besteht aus dem text "link-link-link" und einem bild; link ist relativ positioniert, das bild in ihm absolute mit top und left null, gewünschter effekt: das bild "sitzt" in der linken oberen ecke "auf" dem link.
darunter ein klon des des divs; selber inhalt, nur diesmal mit text-align:right nach rechts ausgerichtet.
firefox stellt beides wie gewünscht dar, bild jeweils in der oberen linken ecke des linktextes.
opera (7.60, Build 7263 unter Win XP) kommt aber mit dem zweiten nicht mehr klar: der text wird rechts im div ausgerichtet, das bild aber erscheint an der position, wo sich der link "ursprünglich", also ohne text-align:right, befunden _hätte_.
hat jemand eine idee für einen (einfachen) workaround?
gruß,
wahsaga
Sup!
"Seite optimiert für vernünftige Browser" auf die Seite schreiben ;-)
*SCNR*
Gruesse,
Bio
hi,
"Seite optimiert für vernünftige Browser" auf die Seite schreiben ;-)
nein, eine solche herabwürdigung meines heißgeliebten opera kommt absolut _nicht_ in frage ;-)
gruß,
wahsaga
Hi wahsaga
nein, eine solche herabwürdigung meines heißgeliebten opera kommt absolut _nicht_ in frage ;-)
da der Opera immer wieder solche Probleme macht, ist er bei mir schon "heißgehasst".
Nichtsdestotrotz versuche ich immer, meine Seiten auch auf dem Opera zum laufen zu bringen, da doch noch einige Leute diesen katastrophalen Browser benutzen.
Weiß jetzt nicht, ob das in der neuen Opera-Version auch noch so ist, aber Probleme gabs auch immer mit absolut positionierten Elementen, die über den rechten Fensterrand rausgingen. Rahmen und Hintergrundfarbe wurden immmer nur bis zum rechten Fensterrand angezeigt. Wenn man dann nach rechts scrollt, so daß das ganze Element im sichtbaren Fensterbereich liegt, gabs den Rahmen und Hintergrundfarbe nur bis zu der Stelle, an der vorher der Fensterrand war.
Hab mit solchen Problemen im Opera nächtelange Kämpfe geführt.
Leider war keine wirklich befriedigende Lösung zu finden.
Das einzige was half, war die die ganze Sache(das betroffene Element) in ne Tabelle reinzupacken, dann gings.
Das ist zwar verhasst und mir gefällts auch nicht, aber dein heißgeliebter Opera zwang mich einfach, so einen Blödsinn zu machen.
Gruß
peter
Moin ...
Im IE wir`s noch anders dargestellt (Bild über dem Link)
Firefox (Bild auf dem Link)
Gruß
hi,
Im IE wir`s noch anders dargestellt (Bild über dem Link)
ja, ist mir bewußt - ist nur ein auf's wesentliche reduziertes beispiel ohne workarounds für den IE.
Firefox (Bild auf dem Link)
jepp, so soll's ja auch sein, sowhl nach meinen vorstellungen als auch nach den specs des w3c.
gruß,
wahsaga
gudn tach wahsaga!
unter einigen voraussetzungen, von denen ich jetzt nicht weiss, ob sie bei dir gelten, hilft vielleicht folgendes rumgewurschtel.
wenn du sowohl das bild, als auch den text nicht inline absolut, sondern relativ positionierst und deren reihenfolge im code vertauschst, also so:
a{background:#eee;}
.linkzwerg{
position:relative;
left:-31px; /* oder eben eine andere bildbreite */
z-index:0;}
a img{
position:relative;
z-index:1;
top:-1px;
left:0px;
border:none;}
und
<div id="rechts">blah laber sülz blah laber sülz <a href="http://wazgnuks.net/"><img src="demobild.gif" alt="" /><span class="linkzwerg">link-link-link</span></a></div>
dann wird der kram ungefaehr so angezeigt, wie du's haben moechtest (zumindest unter der verwendung von opera oder firefox). naja, und mit dem ueberschuessigen platz rechts *huestel*, da musst du dir dann noch irgendetwas einfallen lassen. vielleicht ein bild von einem kleinen haeschen oder einem zwerg so. ;-)
prost
seth
hi,
unter einigen voraussetzungen, von denen ich jetzt nicht weiss, ob sie bei dir gelten, hilft vielleicht folgendes rumgewurschtel.
tja, weiß ich auch noch nicht so recht.
sollte eigentlich ein mouseover-effekt werden, bei dem die bilder nicht von anfang an in den links stehen, sondern erst nach dem laden der seite über's DOM erzeugt und eingehängt werden. das an sich klappt ja auch weitgehend problemlos.
nur bin ich dabei halt auf dieses problem gestoßen - zum nachvollziehen habe ich dieses vereinfachte beispiel erstellt, weils auf den DOM-kram nicht ankommt, wenn opera es ja auch bei "normalem" HTML schon verhaut. und ob das bild anfangs unsichtbar ist und erst bei :hover eingeblendet wird, spielt auch keine rolle - schon bei ganz normaler positionierter darstellung des bildes von anfang an mag opera nicht vernünftig mitspielen.
wenn du sowohl das bild, als auch den text nicht inline absolut, sondern relativ positionierst und deren reihenfolge im code vertauschst, also so: [...]
dann wird der kram ungefaehr so angezeigt, wie du's haben moechtest (zumindest unter der verwendung von opera oder firefox).
wäre theoretisch kein problem, weil ob ich die bilder nur per JS als lastChild in den link hänge, oder an den anfang, wäre ja ziemlich wurscht.
naja, und mit dem ueberschuessigen platz rechts *huestel*, da musst du dir dann noch irgendetwas einfallen lassen. vielleicht ein bild von einem kleinen haeschen oder einem zwerg so. ;-)
tja, eben damit (mit dem bei relative reservierten platz) kann ich aber weniger gut leben. soll nämlich so eine art abwandlung von Eric Meyers "pure CSS popups" werden, allerdings auch für normale, im fließtest befindliche links.
und das bild soll halt dynamisch den ausmaßen des jeweiligen links angepasst werden, und deshalb kann ich schlecht ein <span> o.ä. mit hintergrundbild verwenden, weil damit das anpassen der bildgröße nicht möglich ist.
gruß,
wahsaga