Keine offizielle background position x and y in CSS?
Ich arbeite gerade an einer Website (ecompunk.com), für die ich mir den Vorteil der CSS Eigenschaft background-position-y zunutze machen wollte, um Zeit und Code zu sparen beim Positionieren eines CSS-Sprites:
li a {
background:url(img/socials.png) no-repeat;}
li:nth-of-type(1) a {
background-position:0 0;}
li:nth-of-type(2) a {
background-position:-35px 0;}
li:nth-of-type(3) a {
background-position:-70px 0;}
/* One hover declaration fo all li-elements */
li a:hover {
background-position-y: -30px;}
Es funktionier wunderbar in Safari/Chrome, IE, aber überraschender weise nicht in Firefox und Opera.
Ein wenig Recherche später fand ich raus, dass diese nützliche CSS-Eigenschaft nicht mal in einer Spezifikation auftaucht.
Jonathan Snook schrieb auch über dieses Thema vor einem Jahr und wundert sich ebenfalls. Einige Kommentare verdeutlichen schön das Problem.
Soweit ich weiß gibt es also keine Möglichkeit, nur die X- oder die Y-Positionsangabe zu schreiben ohne auch gleich die andere angeben zu müssen. Irgendwie ärgerlich, zu mal es für mich keinen ersichtlichen Grund gibt, es nicht in die CSS-Spezifikation aufzunehmen. Vielleicht kennt jemand von euch einen Workaround?
peter petersen peterpetersen schrieb 36 Tage zuvor · #
mhh… das erste Mal hab ich ihn nun gebrauchtdiesen Wert … in mehr als 10 Jahren Webentwicklung … und jetzt ist er futsch ;-(
Mit Tabellen und IE5.5 wäre das niemals passiert!
(… kleiner Scherz aus 2003 :-)