• Herzlich willkommen
  • Über mich
  • Artikelübersicht
  • Gaming
    • LittleBigPlanet: Die Geschichte von Sackboy
  • E-Mail für mich
  • Gästebuch
  • Impressum
  • Oben ↑
  • Veröffentlicht am 6. Mai 2011 / 1679 Leser / 3 Kommentare
    CSS Icon

    [CSS3] Bildergalerie erstellen

    Auf der Suche nach einer Bildergalerie für deine Webseite? Dann hab ich hier vielleicht das was du suchst. Ich zeige hier Schritt für Schritt, wie ihr eine ansprechende Bildergalerie mit jeder Menge CSS3-Schnickschnack erstellen könnt. So werden wir folgende CSS3-Eigenschaften nutzen:

    • transitions
    • transform
    • border-radius
    • box-shadow
    • Pseudoklassen

    Habt ihr Lust?

    Grundeinstellungen für Galerie und Bilder

    Zunächst wollen wir einige Grundeinstellungen für die Galerie und Bilder festlegen. Wir werden die Galerie später als Div-Container in unsere Webseite einbinden. Daher müssen wir einige Dinge vorab definieren.

    #galerie {
    /* Hintergrundfarbe */
    background:#ffffff;
    /* Runde Ecken */
    -moz-border-radius:10px;
    border-radius:10px;
    /* Innenabstand */
    padding:20px;
    /* Breite */
    width:700px;
    /* Außenabstand */
    margin:20px auto;
    }
    

    Die Bilder werden wir als img einbinden. Auch hier ein paar grundlegende Dinge:

    #galerie img {
    /* Hintergrundfarbe der Bilder */
    background:#ffffff;
    /* Breite der Bilder */
    width:150px;
    /* Außenabstand */
    margin:15px 10px;
    }
    

    Polaroid-Fotos

    Wie wär’s mit Bildern im typischen Polaroid-Stil? Dazu ändern wir einfach den Innenabstand:

    padding:10px 10px 50px 10px;
    

    Schlagschatten für die Bilder

    Die Bilder sollen sich mit einem dezentem Schlagschatten vom Hintergrund abheben:

    -moz-box-shadow: 0 0 5px 2px #ccc;
    -webkit-box-shadow: 0 0 5px 2px #ccc;
    box-shadow: 0 0 5px 2px #ccc;
    

    Drehung der Bilder

    Um der Galerie ein wenig Pepp zu geben, wollen wir die Bilder gedreht anzeigen, sagen wir mit einer Linksdrehung von 2 Grad.

    -webkit-transform: rotate(-2deg);  /* Saf3.1+, Chrome */
    -moz-transform: rotate(-2deg);  /* FF3.5+ */
    -o-transform: rotate(-2deg);  /* Opera */
    transform: rotate(-2deg);
    

    Alle Bilder im gleichen Winkel ist langweilig, oder? Wie wäre es, wenn jedes zweite Bild um 2 Grad nach rechts gedreht wäre?

    #galerie img:nth-child(2n) {
    -webkit-transform: rotate(2deg);  /* Saf3.1+, Chrome */
    -moz-transform: rotate(2deg);  /* FF3.5+ */
    -o-transform: rotate(2deg);  /* Opera */
    transform: rotate(2deg);
    }
    

    Dies erreichen wir mit dem Pseudo-Selektor :nth-child. In Klammern dahinter wird angegeben, welches Child-Element betroffen ist, in diesem Fall jedes zweite.

    Bilder vergrößern

    Wenn die Maus über das Bild fährt, wollen wird das Bild skalieren. Für dieses Beispiel nehme ich den Faktor 5. Gleichzeitig soll das vergrößerte Bild gerade, also im Winkel von 0 Grad angezeigt werden.

    #galerie img:hover {
    -webkit-transform: rotate(0deg) scale(5);  /* Saf3.1+, Chrome */
    -moz-transform: rotate(0deg) scale(5);  /* FF3.5+ */
    -o-transform: rotate(0deg) scale(5);  /* Opera */
    transform: rotate(0deg) scale(5);
    }
    

    Noch ein paar i-Tüpfelchen

    Zum Schluss wollen wir unserer Galerie noch ein wenig Pfiff geben. Wer mag kann die Bilder in der Standardanzeige leicht transparent erscheinen lassen. Ich nehme hier mal einen Wert von 80%:

    #galerie img {
    opacity:0.8;
    }
    

    Die Transparenz soll bei :hover entfallen. Außerdem soll der Polariod-Stil wegfallen und das Bild rahmenlos angezeigt werden. Zusätzlich wollen wir den Schlagschatten nach rechts unten versetzen.

    #galerie img:hover {
    opacity:1;
    padding:0;
    -moz-box-shadow: 2px 2px 2px #888;
    -webkit-box-shadow: 2px 2px 2px #888;
    box-shadow: 2px 2px 2px #888;
    /* Bild soll im Vordergrund angezeigt werden, daher */
    position:relative;
    z-index:1;
    }
    

    Haben wir noch was vergessen? Richtig. Die Effekte sehen so ziemlich abgehackt aus. Muss ja nicht sein. Wir wollen das animieren, mit dem Befehl transition:

    #galerie img {
    -webkit-transition: all 0.4s ease-out;	/* Saf3.1+, Chrome */
    -moz-transition: all 0.4s ease-out;	/* FF3.5+ */
    -o-transition: all 0.4s ease-out;	/* Opera */
    transition: all 0.4s ease-out;
    }
    

    All together now…

    Und hier der Code nochmal zusammengefasst.

    #galerie {
    background:#ffffff;
    -moz-border-radius:10px;
    border-radius:10px;
    padding:20px;
    width:700px;
    margin:20px auto;
    }
    
    #galerie img {
    background:#ffffff;
    width:150px;
    margin:15px 10px;
    padding:10px 10px 50px 10px;
    opacity:0.8;
    -moz-box-shadow: 0 0 5px 2px #ccc;
    -webkit-box-shadow: 0 0 5px 2px #ccc;
    box-shadow: 0 0 5px 2px #ccc;
    -webkit-transform: rotate(-2deg);  /* Saf3.1+, Chrome */
    -moz-transform: rotate(-2deg);  /* FF3.5+ */
    -o-transform: rotate(-2deg);  /* Opera */
    transform: rotate(-2deg);
    -webkit-transition: all 0.4s ease-out;	/* Saf3.1+, Chrome */
    -moz-transition: all 0.4s ease-out;	/* FF3.5+ */
    -o-transition: all 0.4s ease-out;	/* Opera */
    transition: all 0.4s ease-out;
    }
    
    #galerie img:nth-child(2n) {
    -webkit-transform: rotate(2deg);  /* Saf3.1+, Chrome */
    -moz-transform: rotate(2deg);  /* FF3.5+ */
    -o-transform: rotate(2deg);  /* Opera */
    transform: rotate(2deg);
    }
    
    #galerie img:hover {
    opacity:1;
    padding:0;
    position:relative;
    z-index:1;
    -moz-box-shadow: 2px 2px 2px #888;
    -webkit-box-shadow: 2px 2px 2px #888;
    box-shadow: 2px 2px 2px #888;
    -webkit-transform: rotate(0deg) scale(5);  /* Saf3.1+, Chrome */
    -moz-transform: rotate(0deg) scale(5);  /* FF3.5+ */
    -o-transform: rotate(0deg) scale(5);  /* Opera */
    transform: rotate(0deg) scale(5);
    }
    

    Copy&Paste-Faule laden sich den Code hier herunter:

    Download starten

    Einbinden der Bilder

    Wie bindet ihr die Galerie nun in eure Webseite ein? Ganz einfach:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="utf-8" />
    </head>
    <body>
    ...
    <div id="galerie">
    <img src="/images/galerie/bild1.jpg" alt="" />
    <img src="/images/galerie/bild2.jpg" alt="" />
    <img src="/images/galerie/bild3.jpg" alt="" />
    ...
    </div>
    ...
    </body>
    </html>
    

    Und so sieht das Ergebnis aus

    Galerie ansehen

    Noch eine kleine Abwandlung

    Im gezeigten Beispiel werden die Bilder bei :hover vergrößert, also wenn wir mit der Maus auf dem Bild bleiben. Nun kann “transition” aber auch andere Pseudo-Klassen bedienen. Wie wäre es zum Beispiel mit :active? Damit wird das Bild nur solange vergrößert, wie wir es mit der linken Maustaste anklicken.

    So sieht der Code aus:

    #galerie img:active {
    opacity:1;
    padding:0;
    position:relative;
    z-index:1;
    -moz-box-shadow: 2px 2px 2px #888;
    -webkit-box-shadow: 2px 2px 2px #888;
    box-shadow: 2px 2px 2px #888;
    -webkit-transform: rotate(0deg) scale(5);  /* Saf3.1+, Chrome */
    -moz-transform: rotate(0deg) scale(5);  /* FF3.5+ */
    -o-transform: rotate(0deg) scale(5);  /* Opera */
    transform: rotate(0deg) scale(5);
    }
    

    und so die Galerie:

    Galerie ansehen

    Gefällt’s euch?

    Du suchst noch mehr zum Thema CSS3? Dann wirf einen Blick auf die Übersichtsseite:

    Übersicht CSS3
    Darf ich dir noch diese Artikel ans Herz legen?
    • [WordPress] Mehrere Sidebars nutzen vom 19. Mai 2012
    • [WordPress] Mein neues Theme ‘ZWEI’ vom 9. Mai 2012
    • [WordPress] ‘EINS’ – Mein erstes WordPress-Theme vom 23. April 2012
    • [CSS3] Ein horizontales Dropdown-Menü erstellen vom 18. April 2012
    • [CSS3] Die Pseudo-Klasse :target im Detail vom 12. April 2012
  • Twittern
  • Kategorien
  • Webdesign
  • Tags
  • css demo html internet tutorial
  • 3 Kommentare

    ↓ Kommentieren
    1. Matthias sagt:
      2. Juli 2011 um 17:34

      Erst einmal danke für die schönen Tuts.

      Du gehst hier auf CSS3 ein nutzt aber HTML4. Wieso nicht XHtml oder Html5?

      MFG Matthias

      Antworten
      • Olli sagt:
        16. August 2011 um 17:32

        Hab’s mal geändert. Danke für deinen Hinweis.

        Gruß Olli

        Antworten
    2. Maik sagt:
      27. Februar 2012 um 02:04

      Feine Sache nur leider geht es nicht im Explorer 8 usw nicht. Im Firefox geht es gut vieleicht kennt jemand hir noch ne Lösung
      Gruß Maik

      Antworten

    Dein Kommentar zu diesem Artikel

    Abbrechen





    Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

    «
    »

    Übersicht der Kategorien

  • Gaming
  • Grafik
  • Sicherheit
  • Sonstiges
  • Technik
  • Web
  • Webdesign
  • Übersicht der Schlagwörter

  • access
  • active directory
  • android
  • apple
  • atv
  • avatar
  • blu-ray
  • css
  • demo
  • divx
  • drm
  • dropbox
  • dsl
  • dvb
  • dyndns
  • e10
  • excel
  • facebook
  • fat32
  • fritzbox
  • fußball
  • galaxy s2
  • games
  • gif
  • gimp
  • google
  • guides
  • hannspad
  • hardware
  • hausmittel
  • hd
  • html
  • id3-tag
  • internet
  • ios
  • ipad
  • iphone
  • ipod
  • itunes
  • kennwort
  • lan
  • last.fm
  • lifestyle
  • littlebigplanet
  • marder
  • marketplace
  • medienfreigabe
  • modnation racers
  • mp3
  • musik
  • nas
  • nfl
  • ntfs
  • office
  • outlook
  • packers
  • partition
  • pdf
  • phishing
  • php
  • playstation 3
  • plugins
  • psn
  • psn id
  • remotedesktop
  • rss
  • sd
  • shopping
  • sim-lock
  • skin
  • spam
  • spielstand
  • sport
  • sql
  • steve jobs
  • tablet
  • theme
  • tutorial
  • tv
  • twonky media server
  • update
  • upnp
  • videos
  • vpn
  • wiedergabelisten
  • windows 7
  • windows media player
  • windows server
  • windows vista
  • wlan
  • word
  • wordpress
  • xbmc
  • xbox 360
  • xml
  • xoom
  • zip
    • Hallo, ich bin Olli. Herzlich willkommen auf meiner Webseite.

      Schön dich zu sehen

      Du findest hier jede Menge Informationen zu den Themen

      • WordPress und WordPress-Themes
      • Webdesign
      • Gaming
      • Grafikdesign
      • Technik
      • und vielen anderen...

      Schau dich in aller Ruhe um. Ich wünsche dir viel Spass beim Stöbern.

      Lust auf ein neues WordPress-Theme?

      WordPress-Themes

      Einige zufällig ausgewählte Artikel (nur für dich):

      • Die Vollendung meines Selbstbau-NAS vom 29. Juli 2010
      • [CSS3] WordPress-Banner mit Pseudoelementen vom 6. April 2012
      • [Uncharted 3: Drake's Deception] Es ist Wirklichkeit vom 9. Dezember 2010
      • [Red Dead Redemption] Fundorte aller Schätze für die Schatzsucher-Herausforderung vom 15. November 2010
      • PlayStation 3 Slim Wechsel der Festplatte vom 13. November 2009

      Die letzten Kommentare:

      • Christian hat am 18.05.2012 den Artikel [XBMC] Der ultimative Einsteiger-Guide - Teil 1 kommentiert
      • Christian hat am 17.05.2012 den Artikel [XBMC] Der ultimative Einsteiger-Guide - Teil 1 kommentiert
      • Olli hat am 17.05.2012 den Artikel [XBMC] Der ultimative Einsteiger-Guide - Teil 1 kommentiert
      • Christian hat am 17.05.2012 den Artikel [XBMC] Der ultimative Einsteiger-Guide - Teil 1 kommentiert

      Hier habe ich noch einige interessante Links für dich:

      • Meine Blu-ray-Sammlung
      • Olli on BluLife
      • Olli on Facebook
      • Olli on Google+
      • Olli on last.fm
      • Olli on lbp.me
      • Olli on twitter
      • Olli on YouTube

      Und noch was für die Schnäppchenjäger:

      • abstauben24
      • Blu-ray Preisradar für Amazon
      • Chillmo
      • DVD Tiefpreis
      • myDealZ.de
      • myliveshopping.de
      • Preisfieber
      • Preisjäger
      • Schnäppchen mit Reichweite
      • Schnäppchenfuchs
      • Schnappen4u
      • Schotendealz

      Meine persönlichen Favoriten:

      • BENM.AT
      • CSS-Tricks
      • Engadget Deutschland
      • Hifi Forum
      • ifun.de
      • Smartdroid
      • Smashing Magazine
      • Winfuture.de
    • Olli on twitter
    • Olli on Facebook
    • Olli on Google+
    • Olli on last.fm
    • Olli on YouTube
    • RSS

    Seitenanfang ↑

    Hier wird seit 937 Tagen gebloggt | 235 hilfreiche Artikel | 277 liebevolle Kommentare

    176,885 Besucher gesamt | 2 Besucher online

    Artikel RSS-Feed | Kommentar RSS-Feed | Anmelden »

    © olivergast.de ist made in Germany und wird angetrieben von Wordpress

    Theme 'ZWEI' (modified) von Oliver Gast