CSS3
im praktischen Einsatz
maddesigns | Sven Wolfermann
WebDevCon Hamburg, 17.10.2011
im praktischen Einsatz
maddesigns | Sven Wolfermann
WebDevCon Hamburg, 17.10.2011
runde Ecken! YEAH!!!!111elf
border-radius: 20px;
border-radius: 10px 40px;
border-radius: 10px 40px 40px 10px;
border-radius: 10px / 40px;
border-radius: 50px;
border-radius: 50%;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
-o-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
border-radius: 4px;na klar
ab Version 4, etwas buggy in 3.6
ab Version 11.5
mit border etwas buggy bei Prozentwerten
ab Version 9
”Aber mein IE7 zeigt keine runden Ecken!“
muss er auch nicht!
Es gibt keinen guten (einfachen) Weg dem IE6-8 runde Ecken beizubringen. Die bessere Alternative ist runde Ecken weg zu lassen!
Der Informationsgehalt eines Textes wird durch die runden Ecken nicht besser.
runde EckenDie Konferenz für Web-Entwickler
Schatten - Whoohoo!
-webkit-box-shadow: 2px 2px 5px black;
-moz-box-shadow: 2px 2px 5px black; /* FF 3.6 */
box-shadow: 2px 2px 5px black;
-webkit-box-shadow: 2px 2px 5px black;
box-shadow: 2px 2px 5px black;
-webkit-box-shadow: inset 2px 2px…
box-shadow: inset 2px 2px 5px black;
box-shadow: 0px 0px 10px black;
box-shadow: 0px 0px 10px 10px black;
box-shadow: 0px 15px 10px -10px black;
box-shadow: inset 0px 15px 10px -10px…
box-shadow: 0px 10px 5px red,
10px 0px 5px blue,
0px -10px 5px green,
-10px 0px 5px purple;
box-shadow: 0 0 0 5px red,
0 0 0 10px blue,
0 0 0 15px green,
0 0 0 20px purple;
box-shadow ist nicht ”gleichmäßig“ implementiert, die Browserhersteller haben das Rendering für Ihre Engine angepasst
sowieso
ab Version 4, seit 3.5 mit -moz-Präfix
ab Version 10.5
ab Version 5.1, seit 3.1 mit -webkit-Präfix
ab Version 9
naja...
geht auch irgendwie
filter:progid:DXImageTransform.Microsoft.Shadow⏎
(color=#e2e2e2, Direction=135, Strength=5); /* IE6-7 */
-ms-filter:"progid:DXImageTransform.Microsoft.Shadow⏎
(color=#e2e2e2, Direction=135, Strength=5)"; /* IE8 */
zoom: 1; /* trigger hasLayout */
runde Ecken
SchattenDie Konferenz für Web-Entwickler
We can drop vendor prefixes for box-shadow, background-clip, border-radius in CSS now.
apropos Schatten – Was ist mit Text-Schatten?
inset wird nicht unterstützt
Das ist der Text
text-shadow: 2px 2px 5px red;
Ich brauch 'ne Brille
text-shadow: 2px 2px 8px gray;
color: transparent;
keine Frage
ab Version 3.5
ab Version 9.5
ab Version 3.1
erst ab Version 10
wenn text-shadow zugewiesen ist, wird der Text ganz normal (ohne Schatten) dargestellt.
man kann auf filter zurückgreifen, das beeinflusst allerdings das Font-Rendering – es wird unschön und ist nicht zu empfehlen!
/* IE6-7 */
filter:progid:DXImageTransform.Microsoft.DropShadow⏎
(color:#333333, offx=3, offy=3);
zoom: 1; /* trigger hasLayout */
/* IE8 */
-ms-filter:"progid:DXImageTransform.Microsoft.DropShadow⏎
(color:#333333, offx=3, offy=3);
mit :before und :after

h3 {
background-color: #68af21;
color: white;
font-size: 36px;
padding: 20px;
position: relative;
border-radius: 12px;
}
h3:before {
content: "\0020";
display: block;
position: absolute;
width: 0;
height: 0;
z-index: 2;
bottom: -40px;
left: 50px;
border-top-color: #68af21;
border-style: solid;
border-width: 20px;
}
Content-Generierung mit :before
Positionierung
Zuweisung von border
das
können
alle
Browser
sogar ab Version 8!
runde Ecken
Schatten
Content generierenDie Konferenz für Web-Entwickler
background: linear-gradient();
aktueller Overhead für alle Browser
.gradient {
background-color: yellow; /* Fallback Color */
background: -webkit-gradient(linear,left top,left bottom,from(yellow),to(blue));
background: -webkit-linear-gradient(top, yellow 0%, blue 100%);
background: -moz-linear-gradient(top, yellow 0%, blue 100%);
background: -ms-linear-gradient(top, yellow 0%, blue 100%);
background: -o-linear-gradient(top, yellow 0%, blue 100%);
/* aktueller W3C Standard, bisher nicht implementiert */
background: linear-gradient(to bottom, yellow 0%, blue 100%);
}

-webkit-linear-gradient(top, #c9de96 0%,#398235 100%);
-webkit-linear-gradient(left, #a6c742 0%,#68af21 100%);
-webkit-linear-gradient(bottom, #a6c742 0%,#68af21 100%);
-webkit-linear-gradient(right, #a6c742 0%,#68af21 100%);
bis 33% hellgrün » ab 66% » grün
-webkit-linear-gradient(top, #a6c742 0%,
#a6c742 33%,
#68af21 66%,
#68af21 100%);
harte Kante bei 50%
-webkit-linear-gradient(top, #a6c742 0%,
#a6c742 50%,
#68af21 50%,
#68af21 100%);
von 0 zu 50% zu 100%
-webkit-linear-gradient(top, #a6c742 0%,
#68af21 50%,
#a6c742 100%
);
von hellgrün » grün » türkis
-webkit-linear-gradient(top, #a6c742 0%,
#68af21 50%,
#00aaaa 100%
);
Verlaufshintergrund als Faux-Column nutzen
-webkit-linear-gradient(left, #68af21 0%,
#68af21 20%,
#a6c742 20%,
#a6c742 80%,
#68af21 80%,
#68af21 100%);
-webkit-linear-gradient(left, #a6c742 0%,
#a6c742 50%,
#68af21 50%,
#68af21 100%);
background-size: 100px 100px;
-webkit-linear-gradient(-45deg, #a6c742 25%,
#68af21 25%,
#68af21 50%,
#a6c742 50%,
#a6c742 75%,
#68af21 75%,
#68af21 100%);
background-size: 100px 100px;
weitere Verlaufsfunktinen
repeating-linear-gradient(red, blue 20px, red 40px); repeating-radial-gradient(red, blue 20px, red 40px);
mit -webkit-Präfix
mit -moz-Präfix
mit -o-Präfix
mit -webkit-Präfix
erst ab Version 10 mit -ms-Präfix
Verwenden!
Zugegeben ist es die Präfix-Hölle!
Für den Internet Explorer auf PNG-Bilder zurückgreifen
Online-Tools verwenden:
runde Ecken
Schatten
Content generieren
VerlaufDie Konferenz für Web-Entwickler
in your @font-face (© Jake Archibald)
Das klingt doch gut!
@font-face {
font-family: 'DINBold';
src: url("din-bold-webfont.eot");
src: url("din-bold-webfont.eot?#iefix") format("embedded-opentype"),
url("din-bold-webfont.woff") format("woff"),
url("din-bold-webfont.ttf") format("truetype"),
url("din-bold-webfont.svg#DINBold") format("svg");
}
font: 48px/1.4 'Gloria Hallelujah', cursive;
http://www.google.com/webfonts
@font-face Generator
runde Ecken
Schatten
Content generieren
Verlauf
Webfontweb DevCon
Die Konferenz für Web-Entwickler