.content {
/* collect content into a named flow */
flow-into: myFlow;
}
.region {
/* render the content from the named flow */
flow-from: myFlow;
}
<!-- content: semantic markup -->
<article>
<h1>Title</h1>
<p>...</p>
</article>
<!-- layout: helper markup -->
<div class="region"></div>
<div class="region"></div>
<div class="region"></div>
/* collect content from different places */
header nav,
footer a {
flow-into: menuFlow;
}
#menu {
flow-from: menuFlow;
}
W3C Working Draft - Adobe, Microsoft
W3C Working Draft - Adobe, Microsoft
simple alpha compositing
blend-mode: overlay
source
backdrop
blended result
/* blend background images of the same element */
.element {
background: url(image1.png), url(image2.png);
background-blend-mode: overlay;
}
div { background-image: url(texture.png); }
p {
mix-blend-mode: overlay;
font-family: "Mythos Std";
}
W3C Working Draft - Adobe, Canon
.element {
/* clip the element to a circle */
clip-path: circle(100px at 50% 50%);
}
<style>
.element {
/* clip the element using SVG */
clip-path: url(#clipping);
}
</style>
<svg>
<defs>
<clipPath id="clipping">
<circle cx="50" cy="50" r="10"></circle>
<path d="M90,30c0-5.523-4.477-10 ..."/>
</clipPath>
</defs>
</svg>
.element {
/* use an image as a mask */
mask-image: url(mask.png);
}
<style>
.element {
/* use a <mask> element as mask */
mask-image: url(#mask);
}
</style>
<svg>
<defs>
<mask id="mask">
<circle cx="50" cy="50" r="10"></circle>
</mask>
</defs>
</svg>
W3C Working Draft - Adobe, Mozilla, Google
/* wrap the content inside a circle */
#content {
shape-inside: circle(100px at 50% 50%);
}
#coffee {
float: left;
shape-outside: circle(100px at 50% 50%);
}
.content{
/* shape defined by points of a polygon */
shape-inside: polygon(x1, y1 x2, y2 ... );
}
.content{
/* shape defined by the alpha levels of an image */
shape-inside: url(image.png);
shape-image-threshold: 0.5;
}
W3C Working Draft - Adobe, Microsoft
CSS Regions
CSS Blending
CSS Shapes
CSS Masking
CSS Regions
CSS Shapes