On Github oslego / cssconfeu-2013
.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
simple alpha compositing
blend-mode: overlay
source
backdrop
blended result
/* blend background images of the same element */ .element { background: url(image1.jpg), url(image2.jpg); background-blend-mode: overlay; }
div { background-image: url(texture.png); } p { mix-blend-mode: overlay; font-family: "Mythos Std"; }
W3C Working Draft - Adobe, Canon
/* wrap the content inside a circle */ #content { shape-inside: circle(50%, 50%, 10em) }
#coffee { float: left; shape-outside: circle(50%, 50%, 10em); }
.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
.element { /* clip the element to a circle */ clip-path: circle(50%, 50%, 10em); }
<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
CSS Regions
CSS Shapes