Background-Position-X in Firefox

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Background-Position-X in Firefox

    hi


    ich bin da eine Navigation am coden.
    Es handelt sich dabei leider um eine "grafische Navigation", wo die Links aus Bildern bestehen.
    Der Entscheid ist typografisch bedingt, da benötigte Schrift Helvetiva Neue Condensed nicht benutzbar ist fürs CSS.

    Es handelt sich um Quadrate mit hellgrünem Hintergrund und wenn man drüberfährt wird der Hintergrund dunkelgrün:


    Damit nicht für jeden Button eine seperate Grafik geladen werden muss, habe ich eine einzige Grafik gemacht, in welcher alle Texte drin sind.


    Im HTML Teil schaut das dann so aus:
    Code:
    <div id="navidiv">
    <a href='#'><img src="inc/blank.gif" class="n_button n_restaurant"></a>
    <a href='#'><img src="inc/blank.gif" class="n_button n_kueche"></a>
    <a href='#'><img src="inc/blank.gif" class="n_button n_team"></a>
    </div>
    Und der CSS Teil:
    Code:
    #navidiv img {
    	width:75px;
    	height:75px;
    	background-image:url(../navi/buttons.png);
    }
    
    #navidiv a:hover img {
    	background-position-y:-75px;
    }
    
    #navidiv .n_restaurant {
    	background-position-x:-525px;
    }
    
    #navidiv .n_kueche {
    	background-position-x:-75px;
    }
    
    #navidiv .n_team {
    	background-position-x:-150px;
    }
    Beim a:hover wird also gesagt, dass das Hintergrundbild um 75px nach oben geschoben wird, bei den ._team etc wird die horizontale Verschiebung festgelegt.

    Das geht aber leider nur mit der background-position-X und Y Eigenschaft welche ja leider keine CSS-Konforme Sache ist.
    In Safari und Internet Explorer funktioniert das ganz gut, Firefox ignoriert/kennt die Eigenschaften aber nicht, und wechselt die Grafik nicht aus (respektive verschiebt das Hintergrundbild nicht).

    Hat jemand ne Idee wie ich das ändern kann, ohne für jeden Button eine seperate Grafik zu erstellen, und somit die Ladezeit zu erhöhen?

    Danke im vorraus

  • #2
    Einfach beide Koordinaten angeben. Erst X, dann Y.
    PHP-Code:
    #navidiv a:hover img {
      
    background-position-75px;

    Sollte auch im FF funktionieren.

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Ja das ist mir klar, aber das Problem ist dann, dass ich für jeden Button einen eigenen Hover machen müsste, weil "0px -75px" nur für das eine Hoverbild gilt.

      Also so:
      Bei den Klassen gebe ich die horizontale Position an ("Restaurant", "Team", "Infos", ...), und mit dem :hover die vertikale Position (Hellgrün, Dunkelgrün).

      Kommentar


      • #4
        Zitat von fabio Beitrag anzeigen
        ich bin da eine Navigation am coden.
        Es handelt sich dabei leider um eine "grafische Navigation", wo die Links aus Bildern bestehen.
        Das sollte a) als Liste umgesetzt werden, und b) mit einer Image-Replacement-Technik.

        Ja das ist mir klar, aber das Problem ist dann, dass ich für jeden Button einen eigenen Hover machen müsste, weil "0px -75px" nur für das eine Hoverbild gilt.
        Ja, dann wirst du das halt machen müssen.

        Dafür kannst du es dir sparen, für den Normalzustand jedes Menüpunktes eine eigene Regel zu machen - als Ausgleich.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          alternativ kannst du die grafik als png mit transparentem hintergrund speichern und dann mit background farbe immer ändern lassen

          mfg jura
          [FONT=Comic Sans MS]Hab ich dir erfolgreich geholfen? Wenn ja, dann hilf mir auch und bewerte mich auf php-resource.de[/FONT]
          [FONT=Comic Sans MS]
          [/FONT][FONT=Comic Sans MS]Go and help me[/FONT]

          Kommentar


          • #6
            Zitat von CiaoSen Beitrag anzeigen
            alternativ kannst du die grafik als png mit transparentem hintergrund speichern und dann mit background farbe immer ändern lassen

            mfg jura
            hi jura

            ja das wäre auch noch ne variante, aber die schrift ist eben antialias'd, dH ich müsste ein PNG24 machen um es schön anzeigen zu lassen.
            ich habe das jetzt mit dem vorschlag von @wahsaga gemacht, und einfach für jeden button einen eigenen hover definiert.
            funktioniert auch prima.
            trotzdem danke für die antwort

            Kommentar

            Lädt...
            X