Lorem ipsum dolor sit amet.Consectetuer Vestibulum interdum id Suspendisse lacus dapibus adipiscing Phasellus sed vestibulum. Natoque cursus rutrum convallis et. Vestibulum libero semper convallis Donec sollicitudin risus.
Vincent De Oliveira · Blend Conférence · octobre 2013
background: element( #id )
-moz-element()
Sur un élément classique d'une page
Lorem ipsum dolor sit amet.Consectetuer Vestibulum interdum id Suspendisse lacus dapibus adipiscing Phasellus sed vestibulum. Natoque cursus rutrum convallis et. Vestibulum libero semper convallis Donec sollicitudin risus.
Attention, fonctionne avec Firefox uniquement
clip: rect(t, r, b, l)
position: absolute
clip-path: url(#id) | shape
<clipPath>
rect()
, circle()
, ellipse()
ou polygon()
img{
/* Chrome */
-webkit-clip-path: polygon(50% 0%, 100% 38%, 100% 38%, 80% 100%, 80% 100%, 19% 100%, 19% 100%, 0 38%, 0% 38%, 50% 0);
/* Firefox */
clip-path: url('#clip1');
}
img:hover{
/* Chrome */
-webkit-clip-path: polygon(50% 0%, 62% 38%, 100% 38%, 69% 61%, 80% 100%, 50% 77%, 19% 100%, 30% 61%, 0% 38%, 37% 38%);
}
<!-- Firefox only -->
<svg>
<defs>
<clipPath id="clip1">
<polygon points="150,0 186,121 300,121 209,198 242,320 150,247 57,320 90,198 0,121 113,121" />
</clipPath>
</defs>
</svg>
Attention, fonctionne avec Firefox et Chrome uniquement
<mask>
SVG
mask
background-image
mask-position
, mask-repeat
, mask-size
, etc.-webkit-mask-*
img{
/* WebKit */
-webkit-mask: linear-gradient(black, transparent 75%);
-webkit-mask-size: 100% 100%;
/* Firefox */
mask: url('#mask1');
}
<!-- Firefox only -->
<svg>
<mask id="mask1" maskUnits="userSpaceOnUse">
<rect width="308" height="328" fill="url(#gr)"/>
<linearGradient x1="0" y1="0" x2="0" y2="1" id="gr">
<stop offset="0%" stop-color="white" />
<stop offset="75%" stop-color="black" />
</linearGradient>
</mask>
</svg>
Attention, fonctionne avec Firefox et Webkit uniquement
float
, mais plus étenduwrap-flow: start | end | both
float: positioned
.exclusion--center{
wrap-flow: both;
wrap-margin: 15px;
}
Fast Food: Bière & Pizzas
On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas.
On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas.
On vends quoi?
On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas.
Attention, fonctionne avec IE10 uniquement
shape-outside|inside: circle(50%, 50%, 50%)
rect()
, circle()
, ellipse()
ou polygon()
shape-image-threshold
).exclusion--left{
float: left;
shape-outside: polygon(0 0, 100% 0, 110% 15%, 110% 30%, 95% 50%, 90% 70%, 90% 75%, 100% 90%, 110% 110%, 0 110%);
/*shape-outside: url(vdo/imgs/biere.png);*/
}
.exclusion--right{
float: right;
shape-outside: circle(45%, 50%, 50%);
}
Fast Food: Bière & Pizzas
On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas.
On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas.
On vends quoi?
On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas. On vends des bières et des pizzas.
Attention, fonctionne avec Chrome 28+ uniquement (flag)
filter: blur(5px)
grayscale
, sepia
, saturate
, hue-rotate
, invert
, opacity
, brightness
, contrast
, blur
, drop-shadow
-webkit-filter
ul:hover li:not(:hover) img{
-webkit-filter: grayscale(1) blur(5px);
filter: url('#filtre1');
}
<!-- Firefox only -->
<svg>
<defs>
<filter id="filtre1">
<feGaussianBlur stdDeviation="5" />
<feColorMatrix type="matrix"
values="0 0.7152 0.0722 0 0
0 0.7152 0.0722 0 0
0 0.7152 0.0722 0 0
0 0 0 1 0" />
</filter>
</defs>
</svg>
Attention, fonctionne avec Chrome, Safari, Firefox uniquement
filter()
background: filter( img, filtre)
div{
background-image:
-webkit-filter(
url('vdo/imgs/nature1_300x320.jpg'),
opacity(.5)
),
-webkit-filter(
url('vdo/imgs/nature2_300x320.jpg'),
opacity(1)
);
background-size: 100% 100%;
}
div:hover{
background-image:
-webkit-filter(
url('vdo/imgs/nature1_300x320.jpg'),
opacity(.5) invert(1)
),
-webkit-filter(
url('vdo/imgs/nature2_300x320.jpg'),
opacity(1)
);
}
Attention, fonctionne avec WebKit nightly uniquement
filter: url(fichier.svg#id)
feBlend
, feColorMatrix
, feComponentTransfer
, feComposite
, feConvolveMatrix
, feDiffuseLighting
, feDisplacementMap
, feFlood
, feGaussianBlur
, feImage
, feMerge
, feMorphology
, feOffset
, feSpecularLighting
, feTile
, feTurbulence
filter
filter
p{
font: 3.4em sans-serif;
padding: .5em 0;
color: deeppink;
filter: url('#ombre-interne');
}
<!-- Firefox only -->
<svg>
<defs>
<filter id="ombre-interne">
<feFlood flood-color="rgba(0,0,0,.9)" />
<feComposite in2="SourceAlpha" operator="out" />
<feGaussianBlur stdDeviation="3"/>
<feOffset dx="4" dy="4"/>
<feComposite in2="SourceAlpha" operator="in" />
<feMerge>
<feMergeNode in="SourceGraphic"/>
<feMergeNode/>
</feMerge>
</filter>
</defs>
</svg>
Ombre interne
Attention, fonctionne avec Firefox uniquement (le texte n'est pas en SVG)
Arrière-plan floutté style iOS7
Attention, fonctionne avec Firefox uniquement
Flou progressif (linéaire et radial)
Attention, fonctionne avec Chrome, Safari et Firefox uniquement
filter: custom(url(vertex.vert) mix(url(fragment.frag) normal source-atop), 40 40, var 1)
Attention, fonctionne avec Chrome uniquement (flags activés)
[Blog] Les transformations 3D #CSS avec IE10 blog.iamvdo.me/post/481206879…
— Vincent De Oliveira (@iamvdo) 17 avril 2013
Attention, fonctionne avec Chrome uniquement (flags activés)
Vincent De Oliveira · @iamvdo
Les slides: iamvdo.me/conf/2013/blend/
Drag me around.