Hm, dachte das wäre einigermaßen klar.
Es gibt da einen Button, soweit also klar. Dieser hat einen :hover und bei dem erscheint darunter eine Infobox. Die Box ist derzeit per position:absolute linksbündig, ragt also nach rechts raus (Button ca. 50px breit, Box ca. 300px). Leider ist aber teilweise der Bildschirm nicht so breit, dass die Infobox angezeigt wird. Hier möchte ich also, dass in so einem Fall die Box nicht nach rechts angezeigt wird, sondern nach links.
Also quasi als Berechnung:
Wenn "Position X Button + Breite Infofenster kleiner als Browser-Breite", dann andere CSS-Klasse verwenden.
Bin aber auch schon einen Schritt weiter ...
Ist eine Mischung aus:
*** Link veraltet ***
*** Link veraltet ***
Damit erhalte ich die Koordinaten vom Button links oben. Über dessen Breite und Höhe kann ich dann den Punkt links unten errechnen.
... und an einem neuen Problem. Die Position bekomme ich, die Breite des Buttons auch. Was mir jetzt fehlt ist die Breite der Infobox. Hier scheint es aber zu haken, wenn da ein display:none drauf ist und erst durch ein Hover sichtbar wird. Das Script meldet hier einfach Object:NaN, ich kann das also per getElementById nicht ansprechen. Ist das hover weg (bzw. das display:none), die Box also immer sichtbar, dann bekomme ich die richtige Breite....
Und ja, es geht genau um responsive. Die Buttons wandern bei kleineren Seiten nach links (sitzen im aktuellen Fall rechts oben im Header). Aber nicht mit gleichem Abstand, da das sonst mit dem Logo kollidiert. Die nähern sich also langsam der rechten Bildschirmseite. Da die Infobox aber auch nach rechts ausladend ist, kommt es zum Problem.
Nee, einfach global nach links ausrichten geht nicht, die ganze Geschichte ist an mehreren Positionen integriert, eben teilweise links und nicht rechts. Dann würde es da kollidieren 
P.S. Das "z.B. mit top:-155px" ist natürlich falsch. Ich meinte left:-xxx