Hover Effekt bei Boxen nicht unabhängig

  • Nabend,

    ich bin gerade dabei, für meine Seite 5 Buttons anzeigen zu lassen die jeweils eine Verlinkung zu Social Media bzw. Youtube haben. Dazu habe ich noch einen Hover-Effekt gemacht, der soweit funktioniert, jedoch wenn einer der Buttons kleiner wird, rücken die anderen dementsprechend nach.

    Ich habe mir mehrere Gedanken dazu gemacht, wie ich das am besten umsetzen könnte, kam aber nicht wirklich drauf (zum Beispiel für jeden Button einen div Container zuzuweisen :oops: )...

    Weis da jemand vielleicht eine Lösung?

    Die Website: http://social.nerdwars.at/


  • Packe deine Social links am besten in eine Liste, die du dann entsprechend stylest. Das löst dein Problem:

    HTML
    <ul class="inline-list">            
    <li><a class="yti" href="https://www.youtube.com/NerdWars" target="_blank"><img src="YouTube.png" style="max-height:100px;"></a></li>                        
    <li><a class="fab" href="https://www.facebook.com/NerdWarsTV" target="_blank"><img src="Facebook.png" style="max-height:100px;"></a></li>                        
    <li><a class="twi" href="https://twitter.com/NerdWarsTV" target="_blank"><img src="Twitter.png" style="max-height:100px;"></a></li>                        
    <li><a class="ing" href="https://www.instagram.com/Nerd.Wars/" target="_blank"><img src="Instagram.png" style="max-height:100px;"></a></li>                        
    <li><a class="gpp" href="https://plus.google.com/u/0/b/111605038996491309189/106936345399410527766?pageId=111605038996491309189" target="_blank"><img src="Google+.png" alt="Google Plus" style="max-height:100px;"></a></li>            
    </ul>

    CSS:

    Code
    .inline-list li {
    display: inline-block;
    width: 100px;
    }
  • Hey danke :) Hat alles soweit funktioniert. Weist du wie ich die Bilder kleiner machen kann so dass es proportianal kleiner wird? Derzeit ist es so dass ja nach links gerichtet sind...

  • Ich bin nicht sicher, ob ich dich richtig verstanden habe, aber die Größe eines Bildes bestimmst du mit "width". Da du nur die img's in dieser Liste ansprechen möchtest, würde das so aussehen:

    HTML
    .inline-list li img {
    width: 100px;
    }

    Die 100px sind jetzt nur exemplarisch. ;)

    LG

  • Zitat

    Ich bin nicht sicher, ob ich dich richtig verstanden habe, aber die Größe eines Bildes bestimmst du mit "width"

    Stimmt. Also in HTML habe ich als maximale Höhe 100px angegeben und in CSS über die ":hover" Funktion um 10 Pixel kleiner gesetzt (mittlerweile nur mehr etwa 5 Pixel). So wie ich es auf meiner Seite beobachten konnte, erreiche ich mit dem von dir zuletzt geposten Code dass die Bilder untereinander geordnet sind. Als ich mit der Pixelangabe probiert habe, wurden nur die Bilder in die Länge gezogen.

    Hab ich was falsch gemacht? So wie ich das verstanden habe, soll ich entweder beide codes getrennt einfügen oder zusammen. Mache ich letzteres, kommt der oben beschriebene Fehler (die Bilder werden dann von oben nach unten angezeigt). Wenn ich beides getrennt einfüge, ändert sich nichts....

  • Versuch mal das hier.

    Einmal editiert, zuletzt von djheke (29. Mai 2017 um 18:03)

  • Nach etlichen Versuchen habe ich nun endlich das so hinbekommen wie ich das haben wollte. :danke: hierfür für eure Hilfe.


    Lösen konnte ich das Problem, indem ich die 4 Grafiken in einen inline-block gesteckt und die "width" mit 100px angegeben habe. Nun habe ich jedoch den Nachteil dass inline-block anscheinend nur einen begrenzten Platz für den Inhalt bietet und wenn ich die Grafiken größer mache oder eine weitere einfüge (mir fiel erst vor kurzem auf, dass eigentlich eine Grafik fehlt), diese Grafik in die nächste "Zeile" springt (siehe Screenshot).

    flex konnte bzw. wollte ich nicht nehmen, da die Grafiken nicht immer direkt in der Mitte bleiben bzw. dem Logo "folgen", wenn die Seite über ein Smartphone etc. aufgerufen wird... (also sowas wie ein responsives Design). Wäre dies mit den anderen Display funktionen auch möglich gewesen? Ich fand da leider keinen Lösungsansatz...


    Der aktuelle Code:


  • Naja weil ich das ganze zuerst über HTML gemacht habe und CSS erst kam als ich das mit den Buttons machen wollte. Wenn es mich nicht täuscht, kann ich zwar bei CSS das Boxenmodell nutzen, aber das image soll auch in der Mitte bleiben. Habe es aber dennoch in CSS gepackt. Ordnung ist das halbe Leben :lol: .

    So sieht es aktuell aus:

  • Hier noch etwas vereinfacht