Be KreaTief

Ich hab mich ja vor einer Weile in SASS verliebt. Hat eine Weile gedauert, ehe ich mich rangetraut habe und jetzt frage ich mich wirklich, wie ich CSS ohne SASS gesschrieben habe, es spart so viel Zeit! Heute bin ich über meine Mixins gegangen und habe etwas mit dem padding-Hack rumgespielt, wobei gleichzeitig noch dieser Faux-Overlay Effekt entstanden ist. Wie wir das machen, möchte ich euch heute zeigen. (Falls ihr SASS noch nicht kennt, checkt definitiv die Website aus und probiert es aus, es ist grandios!) Wenn ihr wollt, dass ich noch einen Einführungspost zu SASS schreibe, gebt bescheid. :)

I fell in love with SASS a while ago. It took me quite a while until I finally checked it out, but now I'm actually asking myself how I ever wrote CSS without it. It saves a ton of time! Today I want over my mixins and played aroung with the padding-hack, which resulted in this faux overlay effect on the images, I want to show you today. How to achieve this, is what I want to show you today. (If you don't know SASS yet, definitely check out the Website and try it out, it is fantastic!) If you want me to write more of an introduction post on it, let me know :)

Read More

Nach einer gefühlten Ewigkeit mal wieder ein neuer Style für die Startseite. Diesmal sind es Bild-Thumbnails, die beim hovern Titel und Snippet anzeigen.
Die Bilder haben ein fixiertes Seitenverhältnis von 1:1 und sind in Spalten angeordnet. Wenn man auf das Bild klickt, öffnet sich der Post wie gewohnt.
Ich mag diesen Style total, allerdings erfordert er, dass in jedem Post ein Bild vorkommt, ansonsten funktioniert das nicht wirklich. Es ist etwas anspruchsvoller als die letzten Styles, aber optisch der harmonischste, wenn ihr mich fragt.
Die Inspiration kam mir durch Codrops.

After quite some time a new style for the home page. This time it's image thumbnails which showcase title and snippet as soon as you hover above them. The images have a fixed aspect ratio of 1:1 and are ordered in collumns. If you click on the picture it'll open up the post just like it normally would.
I really like this style, but it does require an image in every post, otherwise it won't work. It is a little harder than the last ones, but the most harmonic looking if you aks me.
I got the inspiration for this look at Codrops.


Read More

Ich gestehe, der Titel ist etwas lang, aber genauso lang ist die Reihe der Gedankengänge, die ich nun schon mit Ribbons und Dreiecken verbracht habe.
Also möchte ich heute noch einen Post zu diesem Thema schreiben. Ein paar coole Anwendungen die ich im Netz gefunden habe, die echt richtig toll sind, zum Teil aber noch von mir verändert wurden, weil ich das lieber anders machen wollte und weil mir noch zu viel HTML im Spiel war :D

Ich habe ein tolles Video gefunden, das zeigt, wie man Dreiecke zeichnet und gleichzeitig hat es mich noch auf eine wahnsinnig tolle Seite geführt. Auf CodePen könnt ihr coden und das Ergebnis direkt angucken. Damit üb' ich jetzt immer schön alles, auch wenn die Platzierungen nicht wirklich so funktionieren, wie ich wollte. Deswegen gab's vor ein paar Tagen auch so ein kleines Chaos mit meinen Follow-Ribbons, die ich gemacht habe. Die sind fast zwei Stunden lang irgendwo rumgeflattert, bevor ich gesehen habe, dass der Fehler an einem "position: relative;" anstelle "absolute" lag. Hat mich ziemlich genervt. Ich such das Video noch, sobald ich es wiederfinde, werde ich den Link nachreichen.
So, legen wir los. Ich mach das alles schön direkt in einem CodePen, brauchen wir kein ganzes Demo zu, damit geht's schneller ^^
Wir beginnen mit einer anderen Version für ein Ribbon, zwei um genau zu sein. Zum einen möchte ich kurz erklären, wie ich meine Follow-Ribbons gemacht habe. Und dann machen wir noch ein gezacktes Ribbon.
Es geht nicht konkret um den Einbau, sondern nur um die Gestaltung, soll beim reduzierten HTML bleiben und bloss dem Gestaltungs-CSS. Den hover füge ich dennoch ein, aber beim konkreten Einbau kann ich sonst auch noch in den Kommentaren helfen. :)
Ansonsten muss ich sagen, dass ich die Prefixes die man für gewisse CSS3-Befehle braucht, zum Teil etwas faul war. In der konkreten Anwendung müssten dann immer alle verwendet werden. Zu den Bildern, sind sie jeweils auf 600px verkleinert, aufgrund der Farbe ist es allerdings relativ schwer alles zu erkennen, darum müsstet ihr draufklicken, um die volle Version zu sehen. :)

Follow-Ribbon

(Titel sind jeweils Links zum ansehen C= )
Angefangen hat das alles damit, dass ich mir mal die Grundmasse für mein Ribbon überlegt habe, dann habe ich die Logos gebastelt und auf picasa hochgeladen. Das sind alles weisse pngs. Bloglovin' zum Beispiel schaut so aus click.
Soviel zur Vorbereitung, der Rest wird in CSS und ohne Bilder gemacht. Ein Plus könnte man theoretisch auch ohne Bilder machen, aber für die anderen könnte das etwas schwer werden. ^^
Wir beginnen mit dem HTML, das einen Link um einen div-Container baut, der die id="bloglovin" trägt.

Im nächsten Schritt definieren wir für den Container eine Breite, Höhe und Hintergrundfarbe. Und dann ist "position: relative" sehr wichtig. Der Rest ist für den Hover-Effekt, dass das Ribbon, wie so rauskommt. :)

Wir definieren den Hover

Und jetzt kommt das Dreieck unten dran. Wir machen das wieder mit einem Pseudoelement. After.

Eigentlich ready für den Einbau des Bildes, doch wenn wir hovern, schaut das so aus:

Um das zu flicken müssen wir das after-element während des hovers definieren.

Okay, jetzt kommen wir zu :before. Hier wird das Bild als Hintergrundbild definiert. Und dann sind wir fertig. :)




Wie gesagt, ansehen könnt ihr euch das ganze auch noch "live" wenn ihr auf den Titel dea Abschnitts klickt. :)

Gezacktes Ribbon

Eine etwas andere Variante, wie man die Zacken machen kann, die ich schon im letzten Post über Ribbons gefeatured hatte. Was euch besser gefällt, müsst ihr selbst entscheiden, ich mag diese Version eigentlich ganz gern. :)
Wir starten mit einem div-Container und einem Heading. Obendrüber habe ich noch ein Webfont eingebunden, aber das braucht euch nicht weiter kümmern :)

CSS. Wir definieren eine Box um das Heading. Das wird unser Ribbon-Body.

In den :before und :after-Elementen des Containers definieren wir zwei Dreiecke, die wir auf einer Seite so platzieren, das es aussieht, als würde ein Dreieck herausgeschnitten werden. Den vollständigen Code seht ihr gleich, zu Beginn muss ich aber auf das seltsame Rendering von Firefox hinweisen. Firefox macht um die Dreiecke eine dunkle Linie. Das kann nur dadurch behoben werden, dass wir den Border, den wir für das Dreieck nicht brauchen eben doch defnieren und zwar mit einer gepunkteten Linie.


So schaut's dann schon viel schöner aus:

Als nächstes kommen wir zum Heading, das wir definieren.

Ihr fragt euch jetzt, wie wir die andere Seite mit den Dreiecken ausstatten, wenn wir doch beide :after und :before-Elemente des Containers für eine Seite verwendet haben? Ganz einfach: wir verwenden einfach die pseudo-Elemente des h2-Tags. :)


Und das ist dann auch schon wieder alles. Ich mag diese Ribbons. Sie sind toll :)

Stiching

Eine Naht, am Rand eines Ribbons, das wär doch toll. Das einzige Problem ist, dass man Dreiecken keinen border geben kann, den man dazu braucht, weil sie selbst auf einem Border bestehen. Das Video (welches ich noch nicht gefunden habe, aber ich weiss noch welche Seite es war, ich find's noch!) hat eine andere Möglichkeit gezeigt, wie man Dreiecke kreiren kann. Wenn sie an eine Box gesetzt werden, funktioniert das problemlos. Und zwar mit einem rotierten Quadrat.
Die Form ist die gleiche wie bei meinen Follow-Ribbons, jetzt nur mit Naht.
Wir beginnen wieder meit einem div-Container und der Basis-CSS.

Im :after-Element zeichnen wir ein Quadrat. Ich bin ehrlich, ich habe keine Formel für die Grösse des Quadrats, es entstand durch "trial and error" wie man so schön sagt. Ihr müsst einfach für eure Grösse probieren, bis es irgendwie passt.

Wir rotieren das Quadrat um 45° und platzieren es dann so, dass es direkt an unser Basis-Quadrat anschliesst.

Nun erweitern wir unser HTML, um einen div-Container im bereits stehenden Container. Der wird unsere Naht enthalten.
Es gäbe die Möglichkeit das alles im bestehenden Container zu lösen, mit einem box-shadow, der den Rand darstellen würde, aber ich hab mich hier für das grössere HTML entschieden, weil es weniger Konfusionen gab, und weil ich das auch noch mit einem Border-Dreieck ausprobieren will und dann will ich das alles nicht nachträglich bauen müssen. :D

Okay, was machen wir jetzt damit?
Wir definieren die Grösse so, dass wir auf jeder Seite einen Rand von fünfzig Pixel haben. Diesen Container zentrieren wir innerhalb des anderen. Dann definieren wir Schrift und -grösse des Inhalts und einen "dashed" border, and allen Seiten, bis auf die untere, da dort das Dreieck ist.

Im :after-Element machen wir das gleiche, nur mit dem Quadrat :)

Das ist es eigentlich schon. Und weil ich gerade Freude dran hatte, habe ich dann noch bisschen mit dem HTML gespielt. Die CSS bleibt die selbe. Ich hab die Platzierungen dann aber direkt im HTML gemacht :D


Tag

Und ich sehe, der Post wird wiedermal lange...
Aber das ist der letzte Punkt. Ich fand das nur so toll als ich es gesehen habe, dass ich es gleich selbst ausprobieren musste. Der Code und alles ist eigentlich so gut wie 1:1 übernommen von hier aber ich dacht ich schreib jetzt doch noch eine Version für ein einzelnes Tag, die dann auf Deutsch ist.
Mithilfe von Dreiecken wird hier eine Rundung aus dem Tag ausgeschnitten, das ist echt cool!
Wir beginnen mit einem div-Container, der ein span, sowie einen Link enthält. Ihr könnt den span auch zu einem div und den Link zu einem Heading machen, wie ihr wollt. :)

Die Basis wird als nächstes definiert.

Im ersten pseudoelement möcht ich euch jetzt die zwei Dreiecke zeigen. Die schauen so aus:

Diese Dreiecke werden jetzt abgerundet.

Dann bekommen sie die Farbe des Hintergrundes und niemand ahnt, dass dahinter Dreiecke stecken. Ich find das extrem faszinierend!

Gleiches wird auch mit dem anderen pseudoelement gemacht.

Als nächstes defineren wir den Link. Hier ist der Link ebenfalls kleiner als der äussere Container, das Stiching wurde also sozusagen auf die gleiche Weise gemacht, wie bei mir. Hier konnte allerdings zusätzlich mit outline eine weitere Linie hinzugefügt werden, um eine art 3D-Effekt für den "Faden" zu erzeugen. Im vorherigen Beispiel ist dies nicht möglich, da wir nicht die kompletten Elemente umrahmen.

Und die Pseudoelemente des Links werden für die anderen beiden Ecken verwendet.


Und dann noch das Loch.


Und das war's dann auch schon. :)
Ich denke, dass Dreiecke wahnsinnig grosses Potential haben, das war das Ziel dieses Post. Gleichzeitig habe ich aber auch bemerkt, wie viel man mit pseudoelementen machen kann. Ich habe sie früher nicht oft verwendet, aber in letzter Zeit bin ich nahezu besessen von diesen Dingern. Und es gibt so viele. Wenn man einmal zu wenige hat, dann fügt man eben einfach noch ein zusätzliches, leeres Element ein und schon hat man noch was, das man verwenden kann. :)
NEEEEEIIIIIIIIIIIIIIIIN!!!!! Die alte Blogger-Oberfläche ist weg! Komplett. Für immer! *heuuuul* Die neue ist scheisse! *googlegeradeextremblödfinde*
Jetzt geht's mir besser. Legen wir los. (R.I.P. beloved Blogger-Oberfläche!!!)

Okay, was macht man, wenn man dreieinhalb Stunden zu vertreiben hat, eigentlich an der Maturarbeit schreiben sollte, aber plötzlich ein unbeschreibliches Bedürfnis hat, es nicht zu tun? Da man sowieso im Starbucks sitzt und Kaffee schlürft, schreibt man doch am besten einfach das Tutorial zu Ende ;D

Puh das Intro war wiedermal überlang... jetzt geht es aber mit dem Tut los.
Zu Beginn möchte ich darauf hinweisen, dass diese CSS möglicherweise mit anderen Definitionen in Konfussion kommt, weswegen ich auf dem Blog hier alle die mit den hover-Möglichkeiten nicht richtig darstellen kann.
Deswegen habe ich ein DEMO gebaut, wo ihr bereits alle Styles sehen könnt, die ich euch vorstellen werde. Tut mir leid, wegen der Zeilenumbrüche. Ich versuche sie noch zu entfernen.

Wollt ihr also einen dieser Styles verwenden, sorgt dafür, dass ihr alle Definitionen, die ihr sonst für eure Bilder so macht, entfernt und entscheidet euch am Besten nur für einen Style. Das wirkt allgemein strukturierter.

Okay, legen wir los. Das Tutorial, welches die ganzen Styles erklärt hat, ist übrigens von WebdesignerWall. Allerdings sind die Erklärungen der einzelnen Codes gleich Null. Darum wollt ich selbst drüber schreiben. Ausserdem ist es jetzt Deutsch ^^

Anwendung:
Die Anwendung des Codes funktioniert immer genau gleich:
<div class="stylename"><a href="Link"><img src="Bildlink"/></a></div>


Ich mach's so, dass ich euch zuerst das Ergebnis zeige, dann den Code, den ich dann noch kurz erläutern werde.
.circle {
    -webkit-border-radius: 50em;
    -moz-border-radius: 50em;
    border-radius: 50em;
}

Okay, also dieser Code macht aus dem Bild einen Kreis. Der Code, der dafür verwendet wird, ist glaube ich mitlerweile bekannt, schliesslich verwende ich ihn in nahezu jedem Tutorial. Den boder-radius, also den Code für abgerundete Ecken. em ist einfach eine andere Angabe als Pixel, in diesem Falle fünfzig. Der Radius wird so stark vergrössert, dass die Rundungen sich treffen und so den Kreis bilden.
Ganz einfach =)

.card {
    -webkit-box-shadow: inset 0 0 1px rgba(0,0,0,.8), inset 0 2px 0 rgba(255,255,255,.5), inset 0 -1px 0 rgba(0,0,0,.4);
    -moz-box-shadow: inset 0 0 1px rgba(0,0,0,.8), inset 0 2px 0 rgba(255,255,255,.5), inset 0 -1px 0 rgba(0,0,0,.4);
    box-shadow: inset 0 0 1px rgba(0,0,0,.8), inset 0 2px 0 rgba(255,255,255,.5), inset 0 -1px 0 rgba(0,0,0,.4);
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}

Okay, dieser Code hier erstellt so eine Art Karteneffekt, indem mehrere Schatten am Bild angebracht werden. Die Schatten sind alle inset, also innerhalb der box, also des Bildes und nicht ausserhalb. Die Farbe ist in rgba angegeben, zudem ich ja letztens einen kleinen QuickTip geschrieben habe. Sie sind relativ nahe am Rand gehalten und erstellen wirklich nur einen ganz subtilen 3D-Effekt. Dann natürlich noch die abgerundeten Ecken, Karten ohne runde Ecken gibt es nicht. =)

.3D {
    -webkit-box-shadow: inset 0 0 2px rgba(0,0,0,.8), inset 0 2px 0 rgba(255,255,255,.5), inset 0 -7px 0 rgba(0,0,0,.6), inset 0 -9px 0 rgba(255,255,255,.3);
    -moz-box-shadow: inset 0 0 2px rgba(0,0,0,.8), inset 0 2px 0 rgba(255,255,255,.5), inset 0 -7px 0 rgba(0,0,0,.6), inset 0 -9px 0 rgba(255,255,255,.3);
    box-shadow: inset 0 0 2px rgba(0,0,0,.8), inset 0 2px 0 rgba(255,255,255,.5), inset 0 -7px 0 rgba(0,0,0,.6), inset 0 -9px 0 rgba(255,255,255,.3);
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}

Hier haben wir eigentlich wieder den gleichen Aufbau wie beim Card, nur ist hier der Schatten grösser gehalten, und ein deutlicher 3D-Effekt entsteht. Ich glaube viel mehr braucht man nicht zu erklären. Wie immer muss man auch verschiedene Browser berücksichtigen und ihre Namenskonventionen.

.3D_soft {
    -webkit-box-shadow: inset 0 0 4px rgba(0,0,0,1), inset 0 2px 1px rgba(255,255,255,.5), inset 0 -9px 2px rgba(0,0,0,.6), inset 0 -12px 2px rgba(255,255,255,.3);
    -moz-box-shadow: inset 0 0 4px rgba(0,0,0,1), inset 0 2px 1px rgba(255,255,255,.5), inset 0 -9px 2px rgba(0,0,0,.6), inset 0 -12px 2px rgba(255,255,255,.3);
    box-shadow: inset 0 0 4px rgba(0,0,0,1), inset 0 2px 1px rgba(255,255,255,.5), inset 0 -9px 2px rgba(0,0,0,.6), inset 0 -12px 2px rgba(255,255,255,.3);
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}

Und hier noch eine softere 3D-Version. Ihr seht mit minimen Änderungen (hier wurde die Verwisch-möglichkeit von box-shadow verwendet. Durch eine kleine 1 bekommt es schon eine andere Wirkung.

.cutout {
    -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.2), inset 0 4px 5px rgba(0,0,0,.6), inset 0 1px 0 rgba(0,0,0,.6);
    -moz-box-shadow: 0 1px 0 rgba(255,255,255,.2), inset 0 4px 5px rgba(0,0,0,.6), inset 0 1px 0 rgba(0,0,0,.6);
    box-shadow: 0 1px 0 rgba(255,255,255,.2), inset 0 4px 5px rgba(0,0,0,.6), inset 0 1px 0 rgba(0,0,0,.6);
    -webkit-border-radius: 30em;
    -moz-border-radius: 30em;
    border-radius: 30em;
}

Ich hab jetzt hier nen dunklen HG, damit ihr den Effekt etwas besser sehen könnt. Mithilfe von inset-Shadows wird ein Effekt erzeugt, der das Bild optisch eine Ebene tiefer legt. Wenn ihr Bilder verwendet, die zum Beispiel irgendwelche Cracks sind, wie ich sie mal hatte als Floatlinks, könnt ihr diese "echter" wirken lassen, in dem sie nicht nur draufgeklatscht sind, sondern wirklich leicht einsinken.

.glossy {
    -webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,.5);
    -moz-box-shadow: inset 0 -1px 0 rgba(0,0,0,.5);
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.5);
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}
.glossy:after {
    position: absolute;
    content: ' ';
    width: 100%;
    height: 50%;
    top: 0;
    left: 0;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    background: -moz-linear-gradient(top, rgba(255,255,255,0.7) 0%, rgba(255,255,255,.1) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0.7)), color-stop(100%,rgba(255,255,255,.1)));
    background: linear-gradient(top, rgba(255,255,255,0.7) 0%,rgba(255,255,255,.1) 100%);
}

Okay, der Code hier ist schon etwas länger. Hier haben wir zu beginn die normale Definition des Bildes, also Runde Ecken und ein kleiner shadow. Dann folgt das :after, welches ein Content-Behälter ist, der den "Gloss" sozusagen drüberlegt. Die Postition wird absolut auf dem Bild definiert. Das Elemt hat keinen Content, die totale Breite des Bilder, und die halbe Höhe und wird so definert, dass es oben am Bild positioniert ist. Dann wird auch dieses Bild abgerundet und bekommt als definierten Hintergrund einen linearen Verlauuf der von weiss nach transparent verläuft, von oben nach unten.
Es ist eigentlich ganz einfach, aber total praktisch. =)

.glowinghover {     -webkit-transition: 1s;
    -moz-transition: 1s;
    transition: 1s;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}
.glowinghover:hover {
    -webkit-box-shadow: 0 0 20px rgba(255,255,255,.6), inset 0 0 20px rgba(255,255,255,1);
    -moz-box-shadow: 0 0 20px rgba(255,255,255,.6), inset 0 0 20px rgba(255,255,255,1);
    box-shadow: 0 0 20px rgba(255,255,255,.6), inset 0 0 20px rgba(255,255,255,1);
    -webkit-border-radius: 60em;
    -moz-border-radius: 60em;
    border-radius: 60em;
}

So, hier haben wir den ersten hover drin. Das Bild ist optisch eigentlich "normal", doch wenn man drüberhovert, dann transformiert es sich zum Kreis und bekommt einen Glow, also einen umrahmenden Schein. Damit das ganze nachher schön "smooth" abläuft (haha, wir haben gestern über Anglizismen und Internetsprache gesprochen. Und es stimmt echt, ich schreibe hier noch denglischer als ich rede! xD) fügen wir bei der Defintion des normalen Bildes noch die transition von einer Sekunde ein. Und der Rest ist bekannt. Der hover ist auch nichts Neues mehr, bloss wieder ein Box-Shadow und die Abrundung der Bilder zu einem Kreis.

.reflection {
    -webkit-box-shadow: inset 0 0 1px rgba(0,0,0,.5), inset 0 2px 0 rgba(255,255,255,.5), inset 0 -1px 0 rgba(0,0,0,.5);
    -moz-box-shadow: inset 0 0 1px rgba(0,0,0,.5), inset 0 2px 0 rgba(255,255,255,.5), inset 0 -1px 0 rgba(0,0,0,.5);
    box-shadow: inset 0 0 1px rgba(0,0,0,.5), inset 0 2px 0 rgba(255,255,255,.5), inset 0 -1px 0 rgba(0,0,0,.5);
    -webkit-transition: .5s;
    -moz-transition: .5s;
    transition: .5s;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}
.reflection:after {
    position: absolute;
    content: ' ';
    width: 100%;
    height: 30px;
    bottom: -31px;
    left: 0;
    -webkit-border-top-left-radius: 20px;
    -webkit-border-top-right-radius: 20px;
    -moz-border-radius-topleft: 20px;
    -moz-border-radius-topright: 20px;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    background: -moz-linear-gradient(top, rgba(0,0,0,.3) 0%, rgba(255,255,255,0) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,.3)), color-stop(100%,rgba(255,255,255,0)));
    background: linear-gradient(top, rgba(0,0,0,.3) 0%,rgba(255,255,255,0) 100%);
}
.reflection:hover {
    position: relative;
    top: -8px;
}

Jups, schaut wieder noch viel aus. Doch wenn man sich's anschaut steht hier nur bekanntes.
Zu Beginn normale Defintion. Nen Shadow und dann noch eine transition, damit das "Verschieben" nach oben sozusagen "animiert" verläuft. Dann wieder das leere Pseudoelement. Wir definieren wieder keinen Inhalt, die Position und dann ist diese "Spiegelung" auch wieder bloss ein gradient. Da hier nicht alle Ecken gleich gerundet sind, werden sie alle einzeln definiert. Aber sonst ist hoffentlich alles klar =)
Beim Hover muss die Positon relative sein, damit sie in Abhängigkeit zum einzelnen Bild steht und dann einfach um acht Pixel nach oben geschoben werden kann.

.tape {
    -webkit-box-shadow: inset 0 0 2px rgba(0,0,0,.7), inset 0 2px 0 rgba(255,255,255,.3), inset 0 -1px 0 rgba(0,0,0,.5), 0 1px 3px rgba(0,0,0,.4);
    -moz-box-shadow: inset 0 0 2px rgba(0,0,0,.7), inset 0 2px 0 rgba(255,255,255,.3), inset 0 -1px 0 rgba(0,0,0,.5), 0 1px 3px rgba(0,0,0,.4);
    box-shadow: inset 0 0 2px rgba(0,0,0,.7), inset 0 2px 0 rgba(255,255,255,.3), inset 0 -1px 0 rgba(0,0,0,.5), 0 1px 3px rgba(0,0,0,.4);
}
.tape:after {
    position: absolute;
    content: ' ';
    width: 60px;
    height: 25px;
    top: -10px;
    left: 50%;
    margin-left: -30px;
    border: solid 1px rgba(137,130,48,.2);
    background: -moz-linear-gradient(top, rgba(254,243,127,.6) 0%, rgba(240,224,54,.6) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(254,243,127,.6)), color-stop(100%,rgba(240,224,54,.6)));
    background: linear-gradient(top, rgba(254,243,127,.6) 0%,rgba(240,224,54,.6) 100%);
    -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 1px 0 rgba(0,0,0,.2);
}

Und wieder ist eigentlich alles altbekannt. Das Tape wird wieder mit nem gradient und dem pseudoelement definiert. Nur haben wir diesmal eine margin, also einen Rand und border, also eine Umrandung. (border, sichtbar, margin, unsichtbar) Ich hoffe der Rest vom Code ist klar, sonst einfach nachfragen. ^^

.glossy-reflection {
    -webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.6);
    -moz-box-shadow: inset 0 -1px 0 rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.6);
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.6);
    -webkit-transition: 1s;
    -moz-transition: 1s;
    transition: 1s;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}
.glossy-reflection:before {
    position: absolute;
    content: ' ';
    width: 100%;
    height: 50%;
    top: 0;
    left: 0;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    background: -moz-linear-gradient(top, rgba(255,255,255,0.7) 0%, rgba(255,255,255,.1) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0.7)), color-stop(100%,rgba(255,255,255,.1)));
    background: linear-gradient(top, rgba(255,255,255,0.7) 0%,rgba(255,255,255,.1) 100%);
}
.glossy-reflection:after {
    position: absolute;
    content: ' ';
    width: 100%;
    height: 30px;
    bottom: -31px;
    left: 0;
    -webkit-border-top-left-radius: 20px;
    -webkit-border-top-right-radius: 20px;
    -moz-border-radius-topleft: 20px;
    -moz-border-radius-topright: 20px;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    background: -moz-linear-gradient(top, rgba(230,230,230,.3) 0%, rgba(230,230,230,0) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(230,230,230,.3)), color-stop(100%,rgba(230,230,230,0)));
    background: linear-gradient(top, rgba(230,230,230,.3) 0%,rgba(230,230,230,0) 100%);
}

Hier noch um euch zu zeigen, dass ihr auch mit zwei Pseudoelementen arbeiten könnt, dazu braucht ihr einfach noch :before, neben :after. Before wurde hier für den Gloss verwendet und After für die Reflection.

.shadowhover {
    position: relative;
    -webkit-transition: 1s;
    -moz-transition: 1s;
    transition: 1s;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}
.shadowhover:hover {
    -webkit-border-radius: 30em;
    -moz-border-radius: 30em;
    border-radius: 30em;
}
.shadowhover:after {
    position: absolute;
    content: ' ';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -webkit-transition: 1s;
    -moz-transition: 1s;
    transition: 1s;
    -webkit-border-radius: 30em;
    -moz-border-radius: 30em;
    border-radius: 30em;
}
.shadowhover:hover:after  {
    background: -webkit-gradient(radial, 50% 50%, 40, 50% 50%, 80, from(rgba(0,0,0,0)), to(rgba(0,0,0,1)));
    background: -moz-radial-gradient(50% 50%, circle, rgba(0,0,0,0) 40px, rgba(0,0,0,1) 80px);
}
Und auch das Pseudoelement kann im hover verändert werden. Für diesen Schattenkreis, verwendet ihr einfach ein radiales Gradient. (Wenn ihr wollt, kann ich mal nen QuickTip zu Gradients machen). Ansonsten hoff ich wie gesagt ebenfalls drauf, dass der Code nun selbsterklärend ist, ansonsten, bitte Fragen!

.feather {
    position: relative;
    -webkit-border-radius: 30em;
    -moz-border-radius: 30em;
    border-radius: 30em;
}
.feather:after  {
    position: absolute;
    content: ' ';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: -webkit-gradient(radial, 50% 50%, 50, 50% 50%, 70, from(rgba(255,255,255,0)), to(rgba(255,255,255,1)));
    background: -moz-radial-gradient(50% 50%, circle, rgba(255,255,255,0) 50px, rgba(255,255,255,1) 70px);
}

Ich habe lange danach gesucht, wie man es hinkriegt, ein "ausgeblendetes" Bild hinzukriegen. Damals kannte ich after nicht! Mithilfe eines gradienten in der Hintergrundfarbe zu transparent kann man diesen Effekt einfach über's Bild drüberlegen!

Und das war's auch schon. Die Codes sind wirklich einfach, wie ihr sehen könnt. Ich war total freudig überrascht, als ich diese ganzen Codes gefunden habe, weil man daran sehen kann, wie vielseitig, dass die ganzen Shadows, Border-Radien und Gradients sein können, vor allem vereint mit "hovers" und "pseudoelements"(das war jetzt pure Absicht, einfach nochmal so aus Trotz *hihi*)
Ich entschuldige mich übrigens auch noch mal für die Überlänge dieses Posts, aber ich hab mich einfach dazu entschlossen, dass es in einem Post doch besser ist, weil ich dann auch einfach auf Kommentaren von eben aufbauen kann und davon ausgehen kann, dass nicht einfach nur Teil zwei gelesen wird oder so. (Ich hoffe jetzt einfach mal, dass ihr nicht von oben nach unten lest ^^)
Joa, ich hoffe es war interessant für den ein oder anderen und Ihr habt auch Ideen bekommen, wie ihr eure Bilder auf euren Blogs präsentieren möchtet.

[...]Mann, erst eine Stunde um[...]