Andrzej Mazur | @end33r | blog.end3r.com | css4.pl || Olsztyn | Uniwersytet Warmińsko-Mazurski | 24.04.2012
Ponad 5 lat doświadczenia w branży: Roche, Plus, GTech, Veikkaus, Britenet, Mediarun, SunWeb, Enzo, Forge Studio.
Teoria: text-shadow: h-shadow v-shadow blur color;
Praktyka: text-shadow: 2px 2px 5px #666;
Przykład:
Przeglądarki: OK. Firefox 4+, Chrome 11+, Safari 4+, Opera 10.6+, IE 10+
Teoria: box-shadow: h-shadow v-shadow blur spread color inset;
Praktyka: box-shadow: 2px 2px 5px #ccc;
Przykład:
Przeglądarki: OK. Firefox 4+, Chrome 11+, Safari 5.1+ (Safari 3.2+ z -webkit-), Opera 10.6+, IE 9+
Teoria: border-radius: topleft topright bottomright bottomleft;
Praktyka: border-radius: 5px;
Przykład:
Przeglądarki: OK. Firefox 4+, Chrome 11+, Safari 5+ (Safari 3.2+ z -webkit-), Opera 10.6+, IE 9+
Teoria: @font-face { font-family: fontName; src: url(fontUrl); }
elem { font-family: fontName; }
Praktyka: @font-face { font-family: myFont; src: url('maven.ttf'); }
div { font-family: myFont; }
Przykład:
Przeglądarki: OK. Firefox 4+, Chrome 11+, Safari 3.2+, Opera 10.6+, IE 9+ (IE 6+ z .eot)
Teoria: w zależności od przeglądarki
Praktyka: background-image: linear-gradient(top, red 30%, green 60%, blue 80%);
Przykład:
Przeglądarki: Częściowo. Firefox 4+ (-moz-), Chrome 11+ (-webkit-), Safari 5.1+ (-webkit-, częściowo od 4.0), Opera 12+ (-o-, częściowo od 11.1), IE 10+ (-ms-)
Teoria: transform: scale(num) rotate(deg) skew(deg,deg) translate(px,px);
Praktyka: transform: scale(0.8) rotate(5deg) skew(10deg, 15deg) translate(10px, 30px);
Przykład:
Przeglądarki: Częściowo. Firefox 4+ (-moz-), Chrome 11+ (-webkit-), Safari 3.2+ (-webkit-), Opera 10.6+ (-o-), IE 9+ (-ms-)
Teoria: transition: co ile_czasu jaki_efekt;
Praktyka: -moz-transition: color 1s ease-out;
Przykład:
Przeglądarki: Częściowo. Firefox 4+ (-moz-), Chrome 11+ (-webkit-), Safari 3.2+ (-webkit-), Opera 10.6+ (-o-), IE 10+ (-ms-)
Teoria: animation: animacja czas tryb; @-keyframes nazwa { animacja }
Praktyka: -moz-animation: pulsowanie 3s infinite alternate;
@-moz-keyframes pulsowanie { from { font-size: 80%; } to { font-size: 180%; } }
Przykład:
Przeglądarki: Częściowo. Firefox 5+ (-moz-), Chrome 11+ (-webkit-), Safari 4+ (-webkit-), Opera n/a, IE 10+ (-ms-)
Opacity, multiple backgrounds, word-wrap, box-sizing, text-overflow, colors, media queries, background-image, multiple column layout, border images, 3D transforms, object-fit/object-position.
Mogą wejść w skład CSS4 lub być rozwijane niezależnie
img { filter: grayscale(100%); }
img { filter: blur(5px); }
img { filter: sepia(100%); }
img { filter: hue-rotate(90deg); }
img { filter: saturate(300%); }
img { filter: brightness(50%); }
img { filter: contrast(300%); }
img { filter: invert(100%); }
Mac OS X: Cmd + Alt + Ctrl + 8
Grafika 3D z desktopowych gier pojawia się w sieci jako WebGL
Vertex shader, fragment shader
.old-book-page { filter: custom(url('ksiazka.vs') url('stary-papier.fs')); }
Możliwość przeliczania wartości bezpośrednio w kodzie CSS
width: calc((12em * 3) + 10px);
height: min(3em, 30px);
font-size: calc(max(2em, 20px) - 4px);
Napisz raz, używaj wielokrotnie - gdzie tylko chcesz
@var $kolorTekstu #FF0000;
h1 { color: $kolorTekstu; }
article { color: $kolorTekstu; }
Natywny Modernizr
@supports (display: grid) {}
@supports (background: linear-gradient)
and (transform: rotate3d) {}
Tak jak zmienne, tylko więcej!
@mixin fragment { color: #F00; font-size: 14px; }
h1 { @mix fragment; margin: 10px; }
@mixin innyFragment($mojKolor #F00) {
color: $mojKolor; font-size: 14px; }
h1 { @mix innyFragment(#00F); margin: 10px; }