masking/index.html

Sat, 09 Mar 2013 17:18:22 -0800

author
Dirk Schulze <dschulze@adobe.com>
date
Sat, 09 Mar 2013 17:18:22 -0800
changeset 731
fd09b94a3a4d
parent 727
ad311bae0010
child 734
59236286d848
permissions
-rw-r--r--

Incorporate feedback from Björn Höhrmann

dschulze@344 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
dschulze@344 2 "http://www.w3.org/TR/html4/strict.dtd">
dschulze@273 3
dschulze@273 4 <html lang=en>
dschulze@427 5 <head profile="http://dublincore.org/documents/2008/08/04/dc-html/ ">
dschulze@427 6 <meta content="text/html; charset=utf-8" http-equiv=Content-Type>
dschulze@273 7 <title>CSS Masking</title>
dschulze@427 8
dschulze@445 9 <link href="http://purl.org/dc/terms/" rel=schema.dcterms>
dschulze@445 10 <link href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
dschulze@445 11 rel=dcterms.rights>
dschulze@445 12 <meta content="CSS Masking" name=dcterms.title>
dschulze@445 13 <meta content=text name=dcterms.type>
dschulze@731 14 <meta content=2013-03-10 name=dcterms.issued>
dschulze@708 15 <meta
dschulze@708 16 content="http://dvcs.w3.org/hg/FXTF/raw-file/default/masking/index.html"
dschulze@445 17 name=dcterms.creator>
dschulze@445 18 <meta content=W3C name=dcterms.publisher>
dschulze@659 19 <meta content="http://dev.w3.org/csswg/css-masking/"
dschulze@445 20 name=dcterms.identifier>
dschulze@273 21 <link href="#contents" rel=contents>
dschulze@273 22 <link href="#index" rel=index>
dschulze@273 23 <link href=default.css rel=stylesheet type="text/css">
dschulze@273 24 <link href="http://www.w3.org/StyleSheets/TR/W3C-ED.css" rel=stylesheet
dschulze@427 25 type="text/css">
dschulze@696 26 <script defer=defer
dschulze@696 27 src="http://test.csswg.org/harness/annotate.js#CSS-MASKING_DEV"
dschulze@696 28 type="text/javascript"></script>
dschulze@273 29
dschulze@273 30 <body>
dschulze@273 31 <div class=head> <!--begin-logo-->
dschulze@273 32 <p><a href="http://www.w3.org/"><img alt=W3C height=48
dschulze@273 33 src="http://www.w3.org/Icons/w3c_home" width=72></a> <!--end-logo-->
dschulze@273 34
dschulze@273 35 <h1>CSS Masking</h1>
dschulze@273 36
dschulze@731 37 <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 10 March 2013</h2>
dschulze@273 38
dschulze@273 39 <dl>
dschulze@273 40 <dt>This version:
dschulze@273 41
dschulze@273 42 <dd><a
dschulze@708 43 href="http://dvcs.w3.org/hg/FXTF/raw-file/default/masking/index.html">http://dvcs.w3.org/hg/FXTF/raw-file/default/masking/index.html</a>
dschulze@731 44 <!--http://www.w3.org/TR/2013/WD-css-masking-20130310/-->
dschulze@273 45
dschulze@273 46 <dt>Latest version:
dschulze@273 47
dschulze@273 48 <dd><a
dschulze@273 49 href="http://www.w3.org/TR/css-masking/">http://www.w3.org/TR/css-masking/</a>
dschulze@273 50
dschulze@273 51 <dt>Editor's draft:
dschulze@273 52
dschulze@273 53 <dd><a
dschulze@708 54 href="http://dvcs.w3.org/hg/FXTF/raw-file/default/masking/index.html">http://dvcs.w3.org/hg/FXTF/raw-file/default/masking/index.html</a>
dschulze@273 55
dschulze@273 56 <dt>Editors:
dschulze@273 57
dschulze@427 58 <dd class=vcard> <span class=fn>Dirk Schulze</span>, <span
dschulze@427 59 class=org>Adobe Systems</span>, <span
dschulze@427 60 class=email>dschulze@adobe.com</span>
dschulze@427 61
dschulze@441 62 <dd class=vcard> <span class=fn>Brian Birtles</span>, <span
dschulze@441 63 class=org>Mozilla Japan</span>, <span
dschulze@441 64 class=email>bbirtles@mozilla.com</span>
dschulze@441 65
dschulze@427 66 <dd class=vcard> <span class=fn><a
dschulze@427 67 href="http://www.xanthir.com/contact/">Tab Atkins Jr.</a></span>, <span
dschulze@427 68 class=org>Google, Inc.</span>
dschulze@273 69 </dl>
dschulze@273 70 <!--begin-copyright-->
dschulze@273 71 <p class=copyright><a
dschulze@273 72 href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
dschulze@607 73 rel=license>Copyright</a> © 2013 <a href="http://www.w3.org/"><abbr
dschulze@273 74 title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> (<a
dschulze@273 75 href="http://www.csail.mit.edu/"><abbr
dschulze@273 76 title="Massachusetts Institute of Technology">MIT</abbr></a>, <a
dschulze@273 77 href="http://www.ercim.eu/"><abbr
dschulze@273 78 title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
dschulze@659 79 <a href="http://www.keio.ac.jp/">Keio</a>, <a
dschulze@659 80 href="http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved. W3C <a
dschulze@273 81 href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
dschulze@273 82 <a
dschulze@273 83 href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
dschulze@273 84 and <a
dschulze@273 85 href="http://www.w3.org/Consortium/Legal/copyright-documents">document
dschulze@273 86 use</a> rules apply.</p>
dschulze@273 87 <!--end-copyright-->
dschulze@273 88 <hr title="Separator for header">
dschulze@273 89 </div>
dschulze@273 90
dschulze@273 91 <h2 class="no-num no-toc" id=abstract>Abstract</h2>
dschulze@273 92
birtles@466 93 <p> CSS Masking provides two means for partially or fully hiding portions
birtles@466 94 of visual elements: masking and clipping.
dschulze@454 95
dschulze@454 96 <p> Masking describes how to use another graphical element or image as a
birtles@466 97 luminance or alpha mask. Typically, rendering an element via CSS or SVG
dschulze@279 98 can conceptually described as if the element, including its children, are
birtles@466 99 drawn into a buffer and then that buffer is composited into the element's
birtles@466 100 parent. Luminance and alpha masks influence the transparency of this
birtles@466 101 buffer before the compositing stage.
birtles@466 102
birtles@466 103 <p> Clipping describes the visible region of visual elements. The region
birtles@466 104 can be described by using certain SVG graphics elements or basic shapes.
birtles@466 105 Anything outside of this region is not rendered.
dschulze@454 106
dschulze@273 107 <h2 class="no-num no-toc" id=status>Status of this document</h2>
dschulze@273 108 <!--begin-status-->
dschulze@273 109
dschulze@273 110 <p>This is a public copy of the editors' draft. It is provided for
dschulze@273 111 discussion only and may change at any moment. Its publication here does
dschulze@273 112 not imply endorsement of its contents by W3C. Don't cite this document
dschulze@273 113 other than as work in progress.
dschulze@273 114
dschulze@273 115 <p>The (<a
dschulze@273 116 href="http://lists.w3.org/Archives/Public/public-fx/">archived</a>) public
dschulze@273 117 mailing list <a href="mailto:public-fx@w3.org">public-fx@w3.org</a> (see
dschulze@273 118 <a href="http://www.w3.org/Mail/Request">instructions</a>) is preferred
dschulze@273 119 for discussion of this specification. When sending e-mail, please put the
dschulze@273 120 text “css-masking” in the subject, preferably like this:
dschulze@273 121 “[<!---->css-masking<!---->] <em>…summary of comment…</em>”
dschulze@273 122
dschulze@273 123 <p>This document was produced by the <a
dschulze@273 124 href="http://www.w3.org/Style/CSS/members">CSS Working Group</a> (part of
dschulze@273 125 the <a href="http://www.w3.org/Style/">Style Activity</a>) and the <a
dschulze@273 126 href="http://www.w3.org/Graphics/SVG/">SVG Working Group</a> (part of the
dschulze@273 127 <a href="http://www.w3.org/Graphics/">Graphics Activity</a>).
dschulze@273 128
dschulze@273 129 <p>This document was produced by groups operating under the <a
dschulze@273 130 href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February
dschulze@273 131 2004 W3C Patent Policy</a>. W3C maintains a <a
dschulze@273 132 href="http://www.w3.org/2004/01/pp-impl/32061/status"
dschulze@273 133 rel=disclosure>public list of any patent disclosures (CSS)</a> and a <a
dschulze@273 134 href="http://www.w3.org/2004/01/pp-impl/19480/status"
dschulze@273 135 rel=disclosure>public list of any patent disclosures (SVG)</a> made in
dschulze@273 136 connection with the deliverables of each group; these pages also include
dschulze@273 137 instructions for disclosing a patent. An individual who has actual
dschulze@273 138 knowledge of a patent which the individual believes contains <a
dschulze@273 139 href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
dschulze@273 140 Claim(s)</a> must disclose the information in accordance with <a
dschulze@273 141 href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
dschulze@273 142 6 of the W3C Patent Policy</a>.</p>
dschulze@273 143 <!--end-status-->
dschulze@273 144
dschulze@273 145 <h2 class="no-num no-toc" id=contents> Table of contents</h2>
dschulze@273 146 <!--begin-toc-->
dschulze@273 147
dschulze@273 148 <ul class=toc>
dschulze@273 149 <li><a href="#intro"><span class=secno>1. </span> Introduction </a>
dschulze@273 150
dschulze@279 151 <li><a href="#placement"><span class=secno>2. </span>Module
dschulze@279 152 interactions</a>
dschulze@279 153
dschulze@279 154 <li><a href="#values"><span class=secno>3. </span>Values</a>
dschulze@273 155
dschulze@273 156 <li><a href="#definitions"><span class=secno>4. </span>Definitions</a>
dschulze@273 157
dschulze@281 158 <li><a href="#the-mask-rendering-model"><span class=secno>5. </span>The
dschulze@281 159 Mask Rendering Model</a>
dschulze@279 160 <ul class=toc>
dschulze@279 161 <li><a href="#layering"><span class=secno>5.1. </span>Layering Multiple
dschulze@279 162 Mask Images</a>
dschulze@279 163
dschulze@279 164 <li><a href="#MaskValues"><span class=secno>5.2. </span>Calculating mask
dschulze@279 165 values</a>
dschulze@279 166 </ul>
dschulze@278 167
dschulze@292 168 <li><a href="#masking"><span class=secno>6. </span>Mask</a>
dschulze@292 169 <ul class=toc>
dschulze@292 170 <li><a href="#the-mask-image"><span class=secno>6.1. </span>The ‘<code
dschulze@292 171 class=property>mask-image</code>’ property</a>
dschulze@292 172
dschulze@551 173 <li><a href="#the-mask-source-type"><span class=secno>6.2. </span>The
dschulze@551 174 ‘<code class=property>mask-source-type</code>’ property</a>
dschulze@551 175
dschulze@551 176 <li><a href="#the-mask-repeat"><span class=secno>6.3. </span>The
dschulze@292 177 ‘<code class=property>mask-repeat</code>’ property</a>
dschulze@292 178
dschulze@551 179 <li><a href="#the-mask-position"><span class=secno>6.4. </span>The
dschulze@292 180 ‘<code class=property>mask-position</code>’ property</a>
dschulze@292 181
dschulze@551 182 <li><a href="#the-mask-clip"><span class=secno>6.5. </span>The ‘<code
dschulze@292 183 class=property>mask-clip</code>’ property</a>
dschulze@292 184
dschulze@551 185 <li><a href="#the-mask-origin"><span class=secno>6.6. </span>The
dschulze@292 186 ‘<code class=property>mask-origin</code>’ property</a>
dschulze@292 187
dschulze@551 188 <li><a href="#the-mask-size"><span class=secno>6.7. </span>The ‘<code
dschulze@292 189 class=property>mask-size</code>’ property</a>
dschulze@292 190
dschulze@551 191 <li><a href="#mask-property"><span class=secno>6.8. </span>The ‘<code
dschulze@432 192 class=property>mask</code>’ property</a>
dschulze@432 193
dschulze@551 194 <li><a href="#the-mask-type"><span class=secno>6.9. </span>The ‘<code
dschulze@292 195 class=property>mask-type</code>’ property</a>
dschulze@292 196
dschulze@551 197 <li><a href="#MaskElement"><span class=secno>6.10. </span>The <span
dschulze@292 198 class=element-name>‘<code class=property>mask</code>’</span>
dschulze@292 199 element</a>
dschulze@292 200 </ul>
dschulze@292 201
dschulze@292 202 <li><a href="#mask-box-image"><span class=secno>7. </span>Mask Box
dschulze@292 203 Image</a>
dschulze@299 204 <ul class=toc>
dschulze@299 205 <li><a href="#the-mask-box-image-source"><span class=secno>7.1.
dschulze@299 206 </span>The ‘<code class=property>mask-box-image-source</code>’
dschulze@299 207 property</a>
dschulze@299 208
dschulze@299 209 <li><a href="#the-mask-box-image-slice"><span class=secno>7.2.
dschulze@299 210 </span>The ‘<code class=property>mask-box-image-slice</code>’
dschulze@299 211 property</a>
dschulze@299 212
dschulze@299 213 <li><a href="#the-mask-box-image-width"><span class=secno>7.3.
dschulze@299 214 </span>The ‘<code class=property>mask-box-image-width</code>’
dschulze@299 215 property</a>
dschulze@299 216
dschulze@299 217 <li><a href="#the-mask-box-image-outset"><span class=secno>7.4.
dschulze@299 218 </span>The ‘<code class=property>mask-box-image-outset</code>’
dschulze@299 219 property</a>
dschulze@299 220
dschulze@299 221 <li><a href="#the-mask-box-image-repeat"><span class=secno>7.5.
dschulze@299 222 </span>The ‘<code class=property>mask-box-image-repeat</code>’
dschulze@299 223 property</a>
dschulze@299 224
dschulze@299 225 <li><a href="#the-mask-box-image"><span class=secno>7.6. </span>The
dschulze@299 226 ‘<code class=property>mask-box-image</code>’ property</a>
dschulze@453 227
dschulze@453 228 <li><a href="#masking-with-the-mask-box-image"><span class=secno>7.7.
dschulze@453 229 </span>Masking with the mask-box-image</a>
dschulze@299 230 </ul>
dschulze@292 231
dschulze@298 232 <li><a href="#clipping-paths"><span class=secno>8. </span>Clipping
dschulze@298 233 paths</a>
dschulze@298 234 <ul class=toc>
dschulze@298 235 <li><a href="#the-clip-path"><span class=secno>8.1. </span>The ‘<code
dschulze@298 236 class=property>clip-path</code>’ property</a>
dschulze@298 237
dschulze@298 238 <li><a href="#the-clip-rule"><span class=secno>8.2. </span>The ‘<code
dschulze@298 239 class=property>clip-rule</code>’ property</a>
dschulze@298 240
dschulze@451 241 <li><a href="#clip-property"><span class=secno>8.3. </span>The ‘<code
dschulze@451 242 class=property>clip</code>’ property</a>
dschulze@451 243
dschulze@451 244 <li><a href="#ClipPathElement"><span class=secno>8.4. </span>The
dschulze@551 245 ‘<code class=property>clipPath</code>’ element</a>
dschulze@298 246
dschulze@451 247 <li><a href="#clipPath-geometry"><span class=secno>8.5. </span>Clipping
dschulze@298 248 paths, geometry, and pointer events</a>
dschulze@298 249 </ul>
dschulze@273 250
dschulze@473 251 <li><a href="#security"><span class=secno>9. </span>Security</a>
dschulze@473 252 <ul class=toc>
dschulze@473 253 <li><a href="#origin-restrictions"><span class=secno>9.1. </span>Origin
dschulze@473 254 Restrictions</a>
dschulze@473 255 </ul>
dschulze@473 256
dschulze@473 257 <li><a href="#DOMInterfaces"><span class=secno>10. </span>DOM
dschulze@462 258 interfaces</a>
dschulze@462 259 <ul class=toc>
dschulze@473 260 <li><a href="#InterfaceSVGClipPathElement"><span class=secno>10.1.
dschulze@462 261 </span>Interface SVGClipPathElement</a>
dschulze@462 262
dschulze@473 263 <li><a href="#InterfaceSVGMaskElement"><span class=secno>10.2.
dschulze@462 264 </span>Interface SVGMaskElement</a>
dschulze@462 265 </ul>
dschulze@462 266
dschulze@273 267 <li class=no-num><a href="#references"> References</a>
dschulze@273 268 <ul class=toc>
dschulze@273 269 <li class=no-num><a href="#normative-references"> Normative
dschulze@273 270 references</a>
dschulze@273 271
dschulze@273 272 <li class=no-num><a href="#other-references"> Other references</a>
dschulze@273 273 </ul>
dschulze@273 274
dschulze@273 275 <li class=no-num><a href="#index"> Index</a>
dschulze@273 276
dschulze@273 277 <li class=no-num><a href="#property-index"> Property index</a>
dschulze@273 278 </ul>
dschulze@273 279 <!--end-toc-->
dschulze@273 280
dschulze@273 281 <h2 id=intro><span class=secno>1. </span> Introduction</h2>
dschulze@273 282
dschulze@454 283 <p> With CSS Masking it is possible to specify another graphics element,
dschulze@454 284 shape or file to be used as clipping region or an luminance or alpha mask
dschulze@454 285 for compositing the current object into the background.
dschulze@273 286
dschulze@551 287 <p> A mask is applied using the ‘<a href="#mask"><code
dschulze@454 288 class=property>mask</code></a>’, ‘<a href="#mask-image"><code
dschulze@454 289 class=property>mask-image</code></a>’ or ‘<a
dschulze@454 290 href="#mask-box-image0"><code class=property>mask-box-image</code></a>’
dschulze@551 291 properties. The mask source may be defined using a <a class=element-name
dschulze@551 292 href="#MaskElement">‘<code class=property>mask</code>’</a> element
dschulze@551 293 referenced by the ‘<a href="#mask"><code
dschulze@551 294 class=property>mask</code></a>’ property. Alternatively, for many simple
dschulze@551 295 uses, the ‘<a href="#mask-image"><code
dschulze@281 296 class=property>mask-image</code></a>’ property may refer directly to
dschulze@281 297 graphical elements or images to be used as mask forgoing the need for an
dschulze@551 298 explicit <a class=element-name href="#MaskElement">‘<code
dschulze@551 299 class=property>mask</code>’</a> element. The ‘<a href="#mask"><code
dschulze@551 300 class=property>mask</code></a>’ property is also a shorthand for other
dschulze@551 301 masking properties. ‘<a href="#mask-box-image0"><code
dschulze@551 302 class=property>mask-box-image</code></a>’ splits a mask image into 9
dschulze@551 303 pieces. The pieces may be sliced, scaled and stretched in various ways to
dschulze@551 304 fit the size of the mask image area.
dschulze@281 305
dschulze@281 306 <p> The effect of applying a mask is as if the mask images or mask source
dschulze@486 307 elements are rendered into an off-screen image which has been initialized
dschulze@281 308 to transparent black. The graphical object to which the mask is applied
dschulze@281 309 will be painted onto the background through the mask, thus completely or
dschulze@281 310 partially masking out parts of the graphical object.
dschulze@273 311
dschulze@454 312 <p> Clipping defines a visible region of a visual element. The region can
dschulze@551 313 be specified with SVG <a
dschulze@551 314 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermGraphicsElement">graphics
dschulze@551 315 element</a> or basic shapes. Everything outside of a region does not get
dschulze@551 316 rendered.
dschulze@454 317
dschulze@273 318 <div class=example>
dschulze@311 319 <div class=figure> <img alt="Example Mask" height=260px
dschulze@311 320 src="images/luminance-mask.svg" width=655px>
dschulze@453 321 <p class=caption> A luminance mask (middle) is applied on a shape filled
dschulze@311 322 with a gradient (left). This results in a masked shape (right).
dschulze@311 323 </div>
dschulze@273 324 </div>
dschulze@273 325
dschulze@279 326 <h2 id=placement><span class=secno>2. </span>Module interactions</h2>
dschulze@279 327
dschulze@279 328 <p>This specification defines a set of CSS properties that affect the
dschulze@279 329 visual rendering of elements to which those properties are applied; these
dschulze@279 330 effects are applied after elements have been sized and positioned
dschulze@279 331 according to the <a href="http://www.w3.org/TR/CSS2/visuren.html"
dschulze@273 332 title="Visual formatting model">Visual formatting model</a> from <a
dschulze@273 333 href="#CSS21" rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>. Some values of
dschulze@273 334 these properties result in the creation of a <a
dschulze@273 335 href="http://www.w3.org/TR/CSS2/visuren.html#containing-block"
dschulze@273 336 title="Visual formatting model">containing block</a>, and/or the creation
dschulze@273 337 of a <a href="http://www.w3.org/TR/CSS2/visuren.html#z-index"
dschulze@273 338 title="Visual formatting model">stacking context</a>.
dschulze@273 339
dschulze@659 340 <p> Definitions of CSS properties and values in this specification comply
dschulze@698 341 with defintions in CSS Backgrounds and Borders <a href="#CSS3BG"
dschulze@659 342 rel=biblioentry>[CSS3BG]<!--{{!CSS3BG}}--></a>. To avoid redundancy, this
dschulze@659 343 specification relies on descriptions and definitions of CSS Backgrounds
dschulze@659 344 and Borders. Every reference will be marked clearly. The following terms
dschulze@659 345 in CSS Backgrounds and Borders have the following meaning in this
dschulze@659 346 specification:
dschulze@659 347
dschulze@659 348 <table class=data id=term-matching>
dschulze@659 349 <thead>
dschulze@659 350 <tr>
dschulze@659 351 <th>Term in <a href="#CSS3BG"
dschulze@659 352 rel=biblioentry>[CSS3BG]<!--{{!CSS3BG}}--></a>
dschulze@659 353
dschulze@659 354 <th>Term in CSS Masking
dschulze@659 355
dschulze@659 356 <tbody>
dschulze@659 357 <tr>
dschulze@659 358 <th>background images
dschulze@659 359
dschulze@659 360 <td>mask images
dschulze@659 361
dschulze@659 362 <tr>
dschulze@659 363 <th>background painting area
dschulze@659 364
dschulze@659 365 <td>mask painting area
dschulze@659 366
dschulze@659 367 <tr>
dschulze@659 368 <th>background-size
dschulze@659 369
dschulze@659 370 <td>mask-size
dschulze@659 371
dschulze@659 372 <tr>
dschulze@659 373 <th>background-position
dschulze@659 374
dschulze@659 375 <td>mask-position
dschulze@659 376
dschulze@659 377 <tr>
dschulze@659 378 <th>background positioning area
dschulze@659 379
dschulze@659 380 <td>mask positioning area
dschulze@659 381
dschulze@659 382 <tr>
dschulze@659 383 <th>border image area
dschulze@659 384
dschulze@659 385 <td>mask box image area
dschulze@659 386 </table>
dschulze@279 387
dschulze@473 388 <p> Some property and element definitions in this specification require an
dschulze@473 389 SVG 1.1 implementation <a href="#SVG11"
dschulze@473 390 rel=biblioentry>[SVG11]<!--{{!SVG11}}--></a>. UAs without support for SVG
dschulze@473 391 must not implement the ‘<a href="#mask-type"><code
dschulze@473 392 class=property>mask-type</code></a>’ and ‘<a href="#clip-rule"><code
dschulze@551 393 class=property>clip-rule</code></a>’ properties as well as the <a
dschulze@551 394 class=element-name href="#MaskElement">‘<code
dschulze@551 395 class=property>mask</code>’</a> and <a class=element-name
dschulze@551 396 href="#ClipPathElement">‘<code class=property>clipPath</code>’</a>
dschulze@551 397 elements. Furthermore, the ‘<a href="#mask"><code
dschulze@551 398 class=property>mask</code></a>’ and ‘<a href="#clip-path"><code
dschulze@551 399 class=property>clip-path</code></a>’ properties must not support
dschulze@551 400 references to <a class=element-name href="#MaskElement">‘<code
dschulze@551 401 class=property>mask</code>’</a> and <a class=element-name
dschulze@551 402 href="#ClipPathElement">‘<code class=property>clipPath</code>’</a>
dschulze@551 403 elements.
dschulze@473 404
dschulze@279 405 <h2 id=values><span class=secno>3. </span>Values</h2>
dschulze@279 406
dschulze@453 407 <p> This specification follows the <a
dschulze@279 408 href="http://www.w3.org/TR/CSS21/about.html#property-defs">CSS property
dschulze@279 409 definition conventions</a> from <a href="#CSS21"
dschulze@279 410 rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>. Value types not defined in
dschulze@731 411 this specification are defined in CSS Values and Units Module Level 3 <a
dschulze@731 412 href="#CSS3VAL" rel=biblioentry>[CSS3VAL]<!--{{!CSS3VAL}}--></a>.
dschulze@279 413
dschulze@453 414 <p> In addition to the property-specific values listed in their
dschulze@453 415 definitions, all properties defined in this specification also accept the
dschulze@453 416 <a
dschulze@279 417 href="http://www.w3.org/TR/CSS21/cascade.html#value-def-inherit">inherit</a>
dschulze@279 418 keyword as their property value. For readability it has not been repeated
dschulze@279 419 explicitly.
dschulze@279 420
dschulze@273 421 <h2 id=definitions><span class=secno>4. </span>Definitions</h2>
dschulze@273 422
dschulze@273 423 <p> When used in this specification, terms have the meanings assigned in
dschulze@273 424 this section.
dschulze@273 425
dschulze@273 426 <dl>
dschulze@273 427 <dt id=TermClientBoundingRect><dfn id=bounding-client-rect>bounding client
dschulze@273 428 rect</dfn>
dschulze@273 429
dschulze@273 430 <dd>
dschulze@273 431 <p> The union of all border boxes for the element that has an associated
dschulze@273 432 CSS layout box and is not in the <code>http://www.w3.org/2000/svg</code>
dschulze@273 433 namespace and it's descendant elements. Or the object bounding box <a
dschulze@273 434 href="#SVG11" rel=biblioentry>[SVG11]<!--{{!SVG11}}--></a>, if the
dschulze@273 435 element does not have an associated CSS layout box and is in the
dschulze@273 436 <code>http://www.w3.org/2000/svg</code> namespace (See <a
dschulze@273 437 href="http://www.w3.org/TR/cssom-view/#dom-element-getboundingclientrect">getBoundingClientRect</a>
dschulze@463 438 <a href="#CSSOM-VIEW"
dschulze@463 439 rel=biblioentry>[CSSOM-VIEW]<!--{{CSSOM-VIEW}}--></a>).
dschulze@273 440
dschulze@273 441 <dt id=TermLocalCoordinateSystem><dfn id=local-coordinate-system>local
dschulze@273 442 coordinate system</dfn>
dschulze@273 443
dschulze@273 444 <dd>
dschulze@273 445 <p> In general, a coordinate system defines locations and distances on
dschulze@273 446 the current canvas. The current local coordinate system (also user
dschulze@273 447 coordinate system) is the coordinate system that is currently active and
dschulze@273 448 which is used to define how coordinates and lengths are located and
dschulze@273 449 computed, respectively, on the current canvas <a href="#CSS3-TRANSFORMS"
dschulze@427 450 rel=biblioentry>[CSS3-TRANSFORMS]<!--{{CSS3-TRANSFORMS}}--></a>.
dschulze@273 451
dschulze@273 452 <p> For elements that have an associated CSS layout box, the current user
dschulze@273 453 coordinate system has its origin at the top-left corner of the <a
dschulze@273 454 class=term href="#bounding-client-rect">bounding client rect</a> and one
dschulze@273 455 unit equals one CSS pixel. The viewport for resolving percentage values
dschulze@273 456 is defined by the width and height of the <a class=term
dschulze@427 457 href="#bounding-client-rect">bounding client rect</a>.
dschulze@273 458
dschulze@273 459 <p> If the element does not have an associated CSS layout box and is in
dschulze@273 460 the <code>http://www.w3.org/2000/svg</code> namespace, the current local
dschulze@273 461 coordinate system has its origin at the top-left corner of the element's
dschulze@427 462 nearest viewport.
dschulze@273 463
dschulze@273 464 <dt id=TermUserCoordinateSystem><dfn id=user-coordinate-system>user
dschulze@273 465 coordinate system</dfn>
dschulze@273 466
dschulze@273 467 <dd> See definition of <a class=term href="#local-coordinate-system">local
dschulze@273 468 coordinate system</a>.
dschulze@273 469
dschulze@273 470 <dt id=TermObjectBoundingBoxUnits><dfn id=object-bounding-box-units>object
dschulze@273 471 bounding box units</dfn>
dschulze@273 472
dschulze@273 473 <dd> The <a class=term href="#bounding-client-rect">bounding client
dschulze@273 474 rect</a> defines the coordinate system in which to resolve values, as
dschulze@551 475 defined in <a
dschulze@551 476 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/coords.html#ObjectBoundingBoxUnits">object
dschulze@551 477 bounding box units</a> <a href="#SVG11"
dschulze@273 478 rel=biblioentry>[SVG11]<!--{{!SVG11}}--></a>.
dschulze@281 479
dschulze@551 480 <dt id=TermMask><dfn id=mask0>mask</dfn>
dschulze@281 481
dschulze@486 482 <dd> An off-screen image which has been initialized to transparent black.
dschulze@281 483 The graphical object to which the mask is applied will be painted onto
dschulze@281 484 the background through the mask, thus completely or partially masking out
dschulze@281 485 parts of the graphical object.
dschulze@281 486
dschulze@343 487 <dt id=TermMaskSource><dfn id=mask-source>mask source</dfn>
dschulze@281 488
dschulze@551 489 <dd> A mask defined by a <a class=element-name
dschulze@551 490 href="#MaskElement">‘<code class=property>mask</code>’</a> element.
dschulze@298 491
dschulze@298 492 <dt id=TermClippingPath>clipping path
dschulze@298 493
dschulze@551 494 <dd> A combination of the SVG elements <a class=element-name
dschulze@551 495 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/paths.html#PathElement">‘<code
dschulze@551 496 class=property>path</code>’</a>, <a class=element-name
dschulze@551 497 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#TextElement">‘<code
dschulze@551 498 class=property>text</code>’</a> and <a
dschulze@551 499 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermBasicShapeElement">basic
dschulze@551 500 shapes</a> which serve as the outline of a (in the absence of
dschulze@551 501 anti-aliasing) 1-bit <a href="#TermMask">mask</a>, where everything on
dschulze@551 502 the "inside" of the outline is allowed to show through but everything on
dschulze@551 503 the outside is masked out. See ‘<a href="#clip-path"><code
dschulze@298 504 class=property>clip-path</code></a>’.
dschulze@273 505 </dl>
dschulze@273 506
dschulze@281 507 <h2 id=the-mask-rendering-model><span class=secno>5. </span>The Mask
dschulze@279 508 Rendering Model</h2>
dschulze@279 509
dschulze@453 510 <p> The application of the ‘<a href="#clip-path"><code
dschulze@551 511 class=property>clip-path</code></a>’, ‘<a href="#mask"><code
dschulze@453 512 class=property>mask</code></a>’ or ‘<a href="#mask-image"><code
dschulze@279 513 class=property>mask-image</code></a>’ properties to an element formatted
dschulze@299 514 with the CSS box model establishes a stacking context the same way that
dschulze@299 515 CSS ‘<code class=property>opacity</code>’ does, and all the element's
dschulze@299 516 descendants are rendered together as a group with the masking applied to
dschulze@299 517 the group as a whole.
dschulze@279 518
dschulze@551 519 <p> The ‘<a href="#mask"><code class=property>mask</code></a>’ and
dschulze@551 520 ‘<a href="#mask-image"><code class=property>mask-image</code></a>’
dschulze@279 521 properties have no effect on the geometry of the target element's CSS
dschulze@279 522 boxes.
dschulze@279 523
dschulze@453 524 <p> The compositing model follows the SVG compositing model <a
dschulze@453 525 href="#SVG11" rel=biblioentry>[SVG11]<!--{{!SVG11}}--></a>: first any
dschulze@453 526 filter effect is applied, then any clipping, masking and opacity. These
dschulze@453 527 effects all apply after any other CSS effects such as ‘<code
dschulze@279 528 class=property>border</code>’. As per SVG, the application of ‘<a
dschulze@551 529 href="#mask"><code class=property>mask</code></a>’ or ‘<a
dschulze@279 530 href="#mask-image"><code class=property>mask-image</code></a>’ has no
dschulze@279 531 effect on hit-testing.
dschulze@279 532
dschulze@279 533 <h3 id=layering><span class=secno>5.1. </span>Layering Multiple Mask Images</h3>
dschulze@279 534
dschulze@279 535 <p>The mask of a box can have multiple <span class=index
dschulze@279 536 id=layers>layers</span>. The number of layers is determined by the number
dschulze@279 537 of comma-separated values in the ‘<a href="#mask-image"><code
dschulze@279 538 class=property>mask-image</code></a>’ property. Note that a value of
dschulze@279 539 ‘<a href="#none"><code class=property>none</code></a>’ still creates a
dschulze@698 540 layer. See <a
dschulze@698 541 href="http://www.w3.org/TR/css3-background/#layering">Layering Multiple
dschulze@698 542 Background Images</a> <a href="#CSS3BG"
dschulze@698 543 rel=biblioentry>[CSS3BG]<!--{{!CSS3BG}}--></a>.
dschulze@698 544
dschulze@698 545 <p>The first layer is the layer closest to the user, the next one is
dschulze@698 546 painted behind the first, and so on. All mask images are transformed to
dschulze@698 547 alpha masks (if necessary) and combined by compositing on the <a
dschulze@698 548 href="#TermMask">mask</a>.
dschulze@279 549
dschulze@279 550 <h3 id=MaskValues><span class=secno>5.2. </span>Calculating mask values</h3>
dschulze@279 551
dschulze@281 552 <p> A mask may be interpreted using one of two different methods with
dschulze@281 553 regards to calculating the mask values that will be multiplied with the
dschulze@281 554 target alpha values.
dschulze@279 555
dschulze@279 556 <p> The first and simplest method of calculating the mask values is to use
dschulze@279 557 the alpha channel of the mask source. In this case the mask value at a
dschulze@279 558 given point is simply the value of the alpha channel at that point. The
dschulze@279 559 color channels do not contribute to the mask value.
dschulze@279 560
dschulze@279 561 <p> The second method of calculating the mask values is to use the
dschulze@279 562 luminance of the mask source. In this case the mask value at a given point
dschulze@279 563 is computed from the color channel values and alpha channel value using
dschulze@279 564 the following procedure.
dschulze@279 565
dschulze@279 566 <ol>
dschulze@279 567 <li>Compute a luminance value from the color channel values.
dschulze@279 568 <ul>
dschulze@279 569 <li> If the computed value of ‘<code
dschulze@551 570 class=property>color-interpolation</code>’ on the <a
dschulze@551 571 class=element-name href="#MaskElement">‘<code
dschulze@551 572 class=property>mask</code>’</a> element is ‘<code
dschulze@279 573 class=property>linearRGB</code>’, convert the original image color
dschulze@279 574 values (potentially in the sRGB color space) to the linear RGB color
dschulze@343 575 space.
dschulze@279 576
dschulze@279 577 <li>Then, using non-premultiplied RGB color values, apply the
dschulze@551 578 luminance-to-alpha coefficients (as defined in the <a
dschulze@551 579 class=element-name
dschulze@551 580 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/filters.html#feColorMatrixElement">‘<code
dschulze@299 581 class=property>feColorMatrix</code>’</a> filter primitive <a
dschulze@452 582 href="#SVG11" rel=biblioentry>[SVG11]<!--{{!SVG11}}--></a>) to convert
dschulze@452 583 the RGB color values to luminance values.
dschulze@279 584 </ul>
dschulze@279 585
dschulze@279 586 <li>Multiply the computed luminance value by the corresponding alpha value
dschulze@279 587 to produce the mask value.
dschulze@279 588 </ol>
dschulze@279 589
dschulze@279 590 <p>Regardless of the method used, the procedure for calculating mask values
dschulze@279 591 assumes the content of the mask is a four-channel RGBA graphics object.
dschulze@279 592 For other types of graphics objects, special handling is required as
dschulze@279 593 follows.
dschulze@279 594
dschulze@279 595 <p>For a three-channel RGB graphics object that is used in a mask (e.g.,
dschulze@279 596 when referencing a three-channel image file), the effect is as if the
dschulze@279 597 object were converted into a four-channel RGBA image with the alpha
dschulze@279 598 channel uniformly set to 1.
dschulze@279 599
dschulze@279 600 <p>For a single-channel image that is used in a mask (e.g., when
dschulze@279 601 referencing a single-channel grayscale image file), the effect is as if
dschulze@279 602 the object were converted into a four-channel RGBA image, where the single
dschulze@279 603 channel from the referenced object is used to compute the three color
dschulze@724 604 channels and the alpha channel is uniformly set to 1.
dschulze@724 605
dschulze@724 606 <p class=note>Note that when referencing a grayscale image file, the
dschulze@724 607 transfer curve relating the encoded grayscale values to linear light
dschulze@724 608 values must be taken into account when computing the color channels.
dschulze@279 609
dschulze@551 610 <p class=note>Note that SVG <a
dschulze@551 611 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermGraphicsElement">graphics
dschulze@551 612 elements</a> (e.g., <a class=element-name
dschulze@551 613 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/shapes.html#CircleElement">‘<code
dschulze@551 614 class=property>circle</code>’</a> or <a class=element-name
dschulze@551 615 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#TextElement">‘<code
dschulze@281 616 class=property>text</code>’</a>) are all treated as four-channel RGBA
dschulze@279 617 images for the purposes of masking operations.
dschulze@279 618
dschulze@279 619 <p>The effect of a mask is identical to what would have happened if there
dschulze@279 620 were no mask but instead the alpha channel of the given object were
dschulze@279 621 multiplied with the mask's resulting mask values.
dschulze@278 622
dschulze@292 623 <h2 id=masking><span class=secno>6. </span>Mask</h2>
dschulze@292 624
dschulze@292 625 <h3 id=the-mask-image><span class=secno>6.1. </span>The ‘<a
dschulze@292 626 href="#mask-image"><code class=property>mask-image</code></a>’ property</h3>
dschulze@274 627
dschulze@274 628 <table class=propdef>
dschulze@274 629 <tbody>
dschulze@274 630 <tr>
dschulze@274 631 <th>Name:
dschulze@274 632
dschulze@274 633 <td><dfn id=mask-image>mask-image</dfn>
dschulze@274 634
dschulze@274 635 <tr>
dschulze@274 636 <th><a href="#values">Value</a>:
dschulze@274 637
dschulze@607 638 <td><a href="#ltmask-referencegt"><var>&lt;mask-reference&gt;</var></a>
dschulze@274 639
dschulze@274 640 <tr>
dschulze@274 641 <th>Initial:
dschulze@274 642
dschulze@274 643 <td>none
dschulze@274 644
dschulze@274 645 <tr>
dschulze@274 646 <th>Applies to:
dschulze@274 647
dschulze@551 648 <td>All elements. In SVG, it applies to <a
dschulze@551 649 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermContainerElement">container
dschulze@551 650 elements</a> and <a
dschulze@551 651 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermGraphicsElement">graphics
dschulze@551 652 elements</a>
dschulze@274 653
dschulze@274 654 <tr>
dschulze@274 655 <th>Inherited:
dschulze@274 656
dschulze@274 657 <td>no
dschulze@274 658
dschulze@274 659 <tr>
dschulze@274 660 <th>Percentages:
dschulze@274 661
dschulze@274 662 <td>N/A
dschulze@274 663
dschulze@274 664 <tr>
dschulze@274 665 <th>Media:
dschulze@274 666
dschulze@274 667 <td>visual
dschulze@274 668
dschulze@274 669 <tr>
dschulze@274 670 <th>Computed value:
dschulze@274 671
dschulze@274 672 <td>as specified, but with URIs made absolute
dschulze@274 673
dschulze@274 674 <tr>
dschulze@274 675 <th>Animatable:
dschulze@274 676
dschulze@274 677 <td>no
dschulze@274 678 </table>
dschulze@274 679
dschulze@536 680 <p>This property sets the mask image(s) or the mask source of an element.
dschulze@536 681 Images are drawn with the first specified one on top (closest to the user)
dschulze@536 682 and each subsequent image behind the previous one. Where:
dschulze@274 683
birtles@287 684 <pre class=prod><var><dfn
dschulze@551 685 id=ltmask-referencegt>&lt;mask-reference&gt;</dfn></var> = <a
dschulze@607 686 href="#ltmask-imagegt"><var>&lt;mask-image&gt;</var></a># | <a
dschulze@607 687 href="#ltmask-elementgt"><var>&lt;mask-element&gt;</var></a></pre>
dschulze@536 688
dschulze@536 689 <pre class=prod><var><dfn
dschulze@536 690 id=ltmask-imagegt>&lt;mask-image&gt;</dfn></var> = <a
dschulze@536 691 href="#ltimagegt"><var>&lt;image&gt;</var></a> | none </pre>
dschulze@536 692
dschulze@536 693 <pre class=prod><var><dfn
dschulze@607 694 id=ltmask-elementgt>&lt;mask-element&gt;</dfn></var> = <a
birtles@697 695 href="#lturlgt"><var>&lt;url&gt;</var></a> | <var>child</var> | <a
birtles@697 696 href="#ltchild-selectorgt"><var>&lt;child-selector&gt;</var></a></pre>
dschulze@536 697
dschulze@536 698 <pre class=prod><dfn
dschulze@536 699 id=ltchild-selectorgt>&lt;child-selector&gt;</dfn> = select(<a
dschulze@536 700 href="#ltcompound-selectorgt"><var>&lt;compound-selector&gt;</var></a>#)</pre>
dschulze@536 701
dschulze@536 702 <p class=note>A <a
dschulze@607 703 href="#ltmask-elementgt"><var>&lt;mask-element&gt;</var></a> can just be
dschulze@536 704 specified as a single value and can not contibute to a list of <a
dschulze@536 705 href="#ltmask-referencegt"><var>&lt;mask-reference&gt;</var></a> values.
dschulze@536 706 Otherwise the specified value of the property is invalid. (See examples
dschulze@536 707 below.)
dschulze@277 708
dschulze@277 709 <dl>
dschulze@536 710 <dt> <dfn id=lturlgt>‘<code class=css>&lt;url&gt;</code>’</dfn>
dschulze@536 711
dschulze@551 712 <dd> A URL reference to a <a class=element-name
dschulze@551 713 href="#MaskElement">‘<code class=property>mask</code>’</a> element
dschulze@731 714 (for example ‘<code class=css>url(commonmasks.svg#mask)</code>’) or
dschulze@551 715 an <a href="#ltimagegt"><var>&lt;image&gt;</var></a>.
dschulze@536 716
birtles@697 717 <dt>‘<code class=css>child</code>’
dschulze@536 718
dschulze@698 719 <dd> A keyword to indicate that the last direct sibling <a
dschulze@698 720 class=element-name href="#MaskElement">‘<code
dschulze@698 721 class=property>mask</code>’</a> element of the element the ‘<a
dschulze@698 722 href="#mask-image"><code class=property>mask-image</code></a>’ property
dschulze@698 723 is applied should be used as the mask source. It is equivalent to
dschulze@698 724 ‘<code class=css>select(mask:last-of-type)</code>’.
dschulze@536 725
birtles@697 726 <dt>‘<a href="#ltchild-selectorgt"><code
birtles@697 727 class=css>&lt;child-selector&gt;</code></a>’
dschulze@536 728
dschulze@551 729 <dd> A comma-separated list of <a
dschulze@551 730 href="http://dev.w3.org/csswg/selectors4/#compound">compound
dschulze@698 731 selector</a>s scoped at the element to which the ‘<a
dschulze@698 732 href="#mask-image"><code class=property>mask-image</code></a>’ property
dschulze@698 733 is applied. The first matching element in <a
dschulze@551 734 href="http://www.w3.org/TR/2012/WD-dom-20120405/#concept-tree-order">tree
dschulze@551 735 order</a> (as defined in <a href="#DOM"
dschulze@536 736 rel=biblioentry>[DOM]<!--{{!DOM}}--></a>) as a result of evaluating the
dschulze@536 737 list of selectors is taken as the mask source. If there are no matching
dschulze@536 738 elements the mask source is invalid.
dschulze@536 739
dschulze@536 740 <dt><dfn id=ltcompound-selectorgt>‘<code
dschulze@536 741 class=css>&lt;compound-selector&gt;</code>’</dfn>
dschulze@536 742
dschulze@551 743 <dd> A <a href="http://dev.w3.org/csswg/selectors4/#compound">compound
dschulze@551 744 selector</a> as defined in <a href="#SELECTORS4"
dschulze@536 745 rel=biblioentry>[SELECTORS4]<!--{{!SELECTORS4}}--></a>.
dschulze@536 746
dschulze@536 747 <dd>
dschulze@536 748
birtles@287 749 <dt><dfn id=ltimagegt>&lt;image&gt;</dfn>
dschulze@277 750
dschulze@277 751 <dd> A 2D image. (See <a href="#CSS3-IMAGES"
dschulze@277 752 rel=biblioentry>[CSS3-IMAGES]<!--{{!CSS3-IMAGES}}--></a>.)
dschulze@277 753
birtles@439 754 <dt><dfn id=none>‘<code class=css>none</code>’</dfn>
birtles@439 755
birtles@439 756 <dd> A value of ‘<a href="#none"><code class=css>none</code></a>’
birtles@439 757 counts as an image layer but does not mask the element.
dschulze@277 758 </dl>
dschulze@277 759
dschulze@536 760 <p class=note>If the URI in the ‘<code class=css>url()</code>’ function
dschulze@536 761 has a fragment identifier, the <a
dschulze@536 762 href="#ltmask-referencegt"><var>&lt;mask-reference&gt;</var></a> is
dschulze@615 763 treated as <a
dschulze@615 764 href="#ltmask-elementgt"><var>&lt;mask-element&gt;</var></a>, otherwise as
dschulze@615 765 <a href="#ltmask-imagegt"><var>&lt;mask-image&gt;</var></a>.
dschulze@536 766
dschulze@552 767 <p>An invalid or non-existent mask source is ignored and no masking is
dschulze@552 768 applied.
dschulze@552 769
dschulze@552 770 <p>A mask image that is empty (zero width or zero height), that fails to
dschulze@552 771 download, is non-existent, or that cannot be displayed (e.g. because it is
dschulze@552 772 not in a supported image format) is ignored. No masking is applied.
dschulze@552 773
dschulze@552 774 <p>See the section <a href="#layering">“Layering multiple mask
dschulze@552 775 images”</a> for how ‘<a href="#mask-image"><code
dschulze@552 776 class=property>mask-image</code></a>’ interacts with other
dschulze@552 777 comma-separated mask properties to form each mask image layer.
dschulze@552 778
dschulze@552 779 <div class=example>
dschulze@552 780 <p>Some examples specifying mask images:
dschulze@552 781
dschulze@552 782 <pre>
dschulze@552 783 body { mask-image: linear-gradient(black 0%, transparent 100%) }
dschulze@552 784 p { mask-image: none }
dschulze@552 785 div { mask-image: url(tl.png), url(tr.png) }
dschulze@552 786 </pre>
dschulze@552 787
dschulze@552 788 <p>Some examples of a specified mask source:
dschulze@552 789
dschulze@552 790 <pre>
dschulze@552 791 img { mask-image: url(#mask) }
dschulze@552 792 span { mask-image: url(resources.svg#mask2) }
dschulze@552 793 </pre>
dschulze@552 794
dschulze@552 795 <p>Examples of <i>invalid</i> mask source usages:
dschulze@552 796
dschulze@552 797 <pre>
dschulze@552 798 p { mask-image: url(#mask), url(tl.png) }
dschulze@552 799 img { mask-image: url(#mask), url(resources.svg#mask2) }
dschulze@552 800 </pre>
dschulze@552 801
dschulze@615 802 <p>A <a href="#ltmask-elementgt"><var>&lt;mask-element&gt;</var></a> value
dschulze@615 803 that is either used together with another <a
dschulze@615 804 href="#ltmask-elementgt"><var>&lt;mask-element&gt;</var></a> value or an
dschulze@615 805 <a href="#ltmask-imagegt"><var>&lt;mask-image&gt;</var></a> value makes
dschulze@615 806 the whole specified ‘<a href="#mask-image"><code
dschulze@552 807 class=property>mask-image</code></a>’ value list invalid.
dschulze@552 808 </div>
dschulze@552 809
dschulze@552 810 <h3 id=the-mask-source-type><span class=secno>6.2. </span>The ‘<a
dschulze@552 811 href="#mask-source-type"><code
dschulze@552 812 class=property>mask-source-type</code></a>’ property</h3>
dschulze@552 813
dschulze@552 814 <table class=propdef>
dschulze@552 815 <tbody>
dschulze@552 816 <tr>
dschulze@552 817 <th>Name:
dschulze@552 818
dschulze@552 819 <td><dfn id=mask-source-type>mask-source-type</dfn>
dschulze@552 820
dschulze@552 821 <tr>
dschulze@552 822 <th><a href="#values">Value</a>:
dschulze@552 823
dschulze@552 824 <td><a href="#ltsource-typegt"><var>&lt;source-type&gt;</var></a>#
dschulze@552 825
dschulze@552 826 <tr>
dschulze@552 827 <th>Initial:
dschulze@552 828
dschulze@552 829 <td>auto
dschulze@552 830
dschulze@552 831 <tr>
dschulze@552 832 <th>Applies to:
dschulze@552 833
dschulze@552 834 <td>All elements. In SVG, it applies to <a
dschulze@552 835 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermContainerElement">container
dschulze@552 836 elements</a> and <a
dschulze@552 837 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermGraphicsElement">graphics
dschulze@552 838 elements</a>
dschulze@552 839
dschulze@552 840 <tr>
dschulze@552 841 <th>Inherited:
dschulze@552 842
dschulze@552 843 <td>no
dschulze@552 844
dschulze@552 845 <tr>
dschulze@552 846 <th>Percentages:
dschulze@552 847
dschulze@552 848 <td>N/A
dschulze@552 849
dschulze@552 850 <tr>
dschulze@552 851 <th>Media:
dschulze@552 852
dschulze@552 853 <td>visual
dschulze@552 854
dschulze@552 855 <tr>
dschulze@552 856 <th>Computed value:
dschulze@552 857
dschulze@552 858 <td>as specified
dschulze@552 859
dschulze@552 860 <tr>
dschulze@552 861 <th>Animatable:
dschulze@552 862
dschulze@731 863 <td>no
dschulze@552 864 </table>
dschulze@552 865
dschulze@552 866 <p>The ‘<a href="#mask-source-type"><code
dschulze@552 867 class=property>mask-source-type</code></a>’ property indicates whether
dschulze@552 868 the <a href="#ltmask-referencegt"><var>&lt;mask-reference&gt;</var></a> is
dschulze@552 869 treated as luminance mask or alpha mask. (See <a
dschulze@552 870 href="#MaskValues">Calculating mask values</a>.)
dschulze@552 871
dschulze@552 872 <pre class=prod><dfn
dschulze@552 873 id=ltsource-typegt><var>&lt;source-type&gt;</var></dfn> = alpha | luminance | auto</pre>
dschulze@552 874
dschulze@552 875 <p>Values have the following meanings:
dschulze@552 876
dschulze@552 877 <dl>
dschulze@552 878 <dt><dfn id=alpha>‘<code class=css>alpha</code>’</dfn>
dschulze@552 879
dschulze@552 880 <dd> A value of ‘<a href="#alpha"><code class=css>alpha</code></a>’
dschulze@552 881 indicates that the alpha values of the mask image should be used as the
dschulze@552 882 mask values. See <a href="#MaskValues">Calculating mask values</a>.
dschulze@552 883
dschulze@552 884 <dt><dfn id=luminance>‘<code class=css>luminance</code>’</dfn>
dschulze@552 885
dschulze@552 886 <dd> A value of ‘<a href="#luminance"><code
dschulze@552 887 class=css>luminance</code></a>’ indicates that the luminance values of
dschulze@552 888 the mask image should be used as the mask values. See <a
dschulze@552 889 href="#MaskValues">Calculating mask values</a>.
dschulze@552 890
dschulze@552 891 <dt><dfn id=auto>‘<code class=css>auto</code>’</dfn>
dschulze@552 892
dschulze@552 893 <dd>
dschulze@552 894 <p> If the <a
dschulze@552 895 href="#ltmask-referencegt"><var>&lt;mask-reference&gt;</var></a> of the
dschulze@552 896 ‘<a href="#mask-image"><code class=property>mask-image</code></a>’
dschulze@552 897 property is of type <a
dschulze@552 898 href="#ltmask-imagegt"><var>&lt;mask-image&gt;</var></a> the luminance
dschulze@552 899 values of the mask image should be used as the mask values.
dschulze@552 900
dschulze@552 901 <p> If the <a
dschulze@552 902 href="#ltmask-referencegt"><var>&lt;mask-reference&gt;</var></a> of the
dschulze@552 903 ‘<a href="#mask-image"><code class=property>mask-image</code></a>’
dschulze@615 904 property is of type <a
dschulze@615 905 href="#ltmask-elementgt"><var>&lt;mask-element&gt;</var></a> the alpha
dschulze@615 906 values of the mask image should be used as the mask values.
dschulze@552 907 </dl>
dschulze@536 908
dschulze@536 909 <div class=example>
dschulze@536 910 <p> In the following example, the ‘<a href="#mask-type"><code
dschulze@536 911 class=property>mask-type</code></a>’ property sets the mask type value
dschulze@551 912 for the <a class=element-name href="#MaskElement">‘<code
dschulze@551 913 class=property>mask</code>’</a> element to ‘<a href="#alpha"><code
dschulze@552 914 class=css>alpha</code></a>’. The ‘<a href="#mask-image"><code
dschulze@552 915 class=property>mask-image</code></a>’ property has a reference to this
dschulze@552 916 <a class=element-name href="#MaskElement">‘<code
dschulze@552 917 class=property>mask</code>’</a> element and the ‘<a
dschulze@552 918 href="#mask-source-type"><code
dschulze@552 919 class=property>mask-source-type</code></a>’ property has a value of
dschulze@552 920 ‘<a href="#luminance"><code class=css>luminance</code></a>’. The
dschulze@552 921 ‘<a href="#mask-source-type"><code
dschulze@552 922 class=property>mask-source-type</code></a>’ property will override the
dschulze@552 923 definition of ‘<a href="#mask-type"><code
dschulze@551 924 class=property>mask-type</code></a>’ to ‘<a href="#luminance"><code
dschulze@551 925 class=css>luminance</code></a>’.
dschulze@536 926
dschulze@536 927 <pre>
dschulze@536 928 &lt;mask id="SVGMask" mask-type="alpha" maskContentUnits="objectBoundingBox"&gt;
dschulze@536 929 &lt;radialGradient id="radialFill"&gt;
dschulze@536 930 &lt;stop stop-color="white" offset="0"/&gt;
dschulze@536 931 &lt;stop stop-color="black" offset="1"/&gt;
dschulze@536 932 &lt;/radialGradient&gt;
dschulze@536 933 &lt;circle fill="url(#radialFill)" cx="0.5" cy="0.5" r="0.5"/&gt;
dschulze@536 934 &lt;/mask&gt;
dschulze@536 935
dschulze@552 936 &lt;style&gt;
dschulze@552 937 rect {
dschulze@552 938 mask-image: url(#SVGMask);
dschulze@552 939 mask-source-type: luminance;
dschulze@552 940 }
dschulze@552 941 &lt;/style&gt;
dschulze@552 942
dschulze@552 943 &lt;rect width="200" height="200" fill="green"/&gt;
dschulze@536 944 </pre>
dschulze@536 945 </div>
dschulze@536 946
dschulze@551 947 <h3 id=the-mask-repeat><span class=secno>6.3. </span>The ‘<a
dschulze@551 948 href="#mask-repeat"><code class=property>mask-repeat</code></a>’
dschulze@551 949 property</h3>
dschulze@551 950
dschulze@551 951 <table class=propdef>
dschulze@551 952 <tbody>
dschulze@551 953 <tr>
dschulze@551 954 <th>Name:
dschulze@551 955
dschulze@551 956 <td><dfn id=mask-repeat>mask-repeat</dfn>
dschulze@551 957
dschulze@551 958 <tr>
dschulze@551 959 <th><a href="#values">Value</a>:
dschulze@551 960
dschulze@551 961 <td><a href="#ltrepeat-stylegt"><var>&lt;repeat-style&gt;</var></a>#
dschulze@551 962
dschulze@551 963 <tr>
dschulze@551 964 <th>Initial:
dschulze@551 965
dschulze@551 966 <td>repeat
dschulze@551 967
dschulze@551 968 <tr>
dschulze@551 969 <th>Applies to:
dschulze@551 970
dschulze@551 971 <td>All elements. In SVG, it applies to <a
dschulze@551 972 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermContainerElement">container
dschulze@551 973 elements</a> and <a
dschulze@551 974 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermGraphicsElement">graphics
dschulze@551 975 elements</a>
dschulze@274 976
dschulze@274 977 <tr>
dschulze@274 978 <th>Inherited:
dschulze@274 979
dschulze@274 980 <td>no
dschulze@274 981
dschulze@274 982 <tr>
dschulze@274 983 <th>Percentages:
dschulze@274 984
dschulze@274 985 <td>N/A
dschulze@274 986
dschulze@274 987 <tr>
dschulze@274 988 <th>Media:
dschulze@274 989
dschulze@274 990 <td>visual
dschulze@274 991
dschulze@274 992 <tr>
dschulze@274 993 <th>Computed value:
dschulze@274 994
dschulze@274 995 <td>A list, each item consisting of: two keywords, one per dimension
dschulze@274 996
dschulze@274 997 <tr>
dschulze@274 998 <th>Animatable:
dschulze@274 999
dschulze@274 1000 <td>no
dschulze@274 1001 </table>
dschulze@274 1002
dschulze@274 1003 <p>Specifies how mask images are tiled after they have been <a
dschulze@274 1004 href="#the-mask-size">sized</a> and <a
dschulze@274 1005 href="#the-mask-position">positioned</a>. Where
dschulze@274 1006
dschulze@274 1007 <pre class=prod><dfn
dschulze@274 1008 id=ltrepeat-stylegt><var>&lt;repeat-style&gt;</var></dfn> = repeat-x | repeat-y | [repeat | space | round | no-repeat]{1,2}</pre>
dschulze@274 1009
dschulze@659 1010 <p>See <a
dschulze@659 1011 href="http://www.w3.org/TR/css3-background/#the-background-repeat">Tiling
dschulze@659 1012 Images: the ‘<code class=property>background-repeat</code>’
dschulze@659 1013 property</a> <a href="#CSS3BG"
dschulze@659 1014 rel=biblioentry>[CSS3BG]<!--{{!CSS3BG}}--></a> for the defintions of the
dschulze@659 1015 property values.
dschulze@274 1016
dschulze@282 1017 <div class=example>
dschulze@282 1018 <p style="display:none">Example(s):
dschulze@282 1019
dschulze@470 1020 <pre>
dschulze@470 1021 body {
dschulze@470 1022 background-color: blue;
dschulze@470 1023 mask-image: url(dot-mask.png) luminance;
dschulze@470 1024 mask-repeat: space;
dschulze@470 1025 }
dschulze@282 1026 </pre>
dschulze@282 1027
dschulze@282 1028 <div class=figure>
dschulze@282 1029 <p><img alt="Image of an element with a dotted mask."
dschulze@282 1030 src="images/mask-repeat.svg" style="border: solid black 1px;" width=240>
dschulze@282 1031
dschulze@282 1032 <p class=caption>The effect of ‘<code class=property>space</code>’:
dschulze@282 1033 the mask image of a dot is tiled to cover the whole <a class=index
dschulze@659 1034 href="#mask-painting-area" id=mask-painting-area0>mask painting area</a>
dschulze@282 1035 and the mask images are equally spaced.
dschulze@282 1036 </div>
dschulze@282 1037 </div>
dschulze@282 1038
dschulze@274 1039 <p>See the section <a href="#layering">“Layering multiple mask
dschulze@277 1040 images”</a> for how ‘<a href="#mask-repeat"><code
dschulze@277 1041 class=property>mask-repeat</code></a>’ interacts with other
dschulze@274 1042 comma-separated mask properties to form each mask image layer.
dschulze@274 1043
dschulze@551 1044 <h3 id=the-mask-position><span class=secno>6.4. </span>The ‘<a
dschulze@402 1045 href="#mask-position"><code class=property>mask-position</code></a>’
dschulze@292 1046 property</h3>
dschulze@274 1047
dschulze@274 1048 <table class=propdef>
dschulze@274 1049 <tbody>
dschulze@274 1050 <tr>
dschulze@274 1051 <th>Name:
dschulze@274 1052
dschulze@402 1053 <td><dfn id=mask-position>mask-position</dfn>
dschulze@274 1054
dschulze@274 1055 <tr>
dschulze@274 1056 <th><a href="#values">Value</a>:
dschulze@274 1057
dschulze@402 1058 <td><a href="#ltpositiongt"><var>&lt;position&gt;</var></a>#
dschulze@274 1059
dschulze@274 1060 <tr>
dschulze@274 1061 <th>Initial:
dschulze@274 1062
dschulze@402 1063 <td>0% 0%
dschulze@274 1064
dschulze@274 1065 <tr>
dschulze@274 1066 <th>Applies to:
dschulze@274 1067
dschulze@551 1068 <td>All elements. In SVG, it applies to <a
dschulze@551 1069 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermContainerElement">container
dschulze@551 1070 elements</a> and <a
dschulze@551 1071 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermGraphicsElement">graphics
dschulze@551 1072 elements</a>
dschulze@274 1073
dschulze@274 1074 <tr>
dschulze@274 1075 <th>Inherited:
dschulze@274 1076
dschulze@274 1077 <td>no
dschulze@274 1078
dschulze@274 1079 <tr>
dschulze@274 1080 <th>Percentages:
dschulze@274 1081
dschulze@274 1082 <td>refer to size of <a class=index href="#mask-painting-area"
dschulze@659 1083 id=mask-painting-area1>mask painting area</a> <em>minus</em> size of
dschulze@274 1084 mask image; see text
dschulze@274 1085
dschulze@274 1086 <tr>
dschulze@274 1087 <th>Media:
dschulze@274 1088
dschulze@274 1089 <td>visual
dschulze@274 1090
dschulze@274 1091 <tr>
dschulze@274 1092 <th>Computed value:
dschulze@274 1093
dschulze@274 1094 <td>A list, each item consisting of: two keywords representing the
dschulze@274 1095 origin and two offsets from that origin, each given as an absolute
dschulze@274 1096 length (if given a &lt;length&gt;), otherwise as a percentage.
dschulze@274 1097
dschulze@274 1098 <tr>
dschulze@274 1099 <th>Animatable:
dschulze@274 1100
dschulze@731 1101 <td>as <a
dschulze@731 1102 href="http://dev.w3.org/csswg/css3-transitions/#animtype-repeatable-list">repeatable
dschulze@731 1103 list</a> of <a
dschulze@731 1104 href="http://dev.w3.org/csswg/css3-transitions/#animtype-simple-list">simple
dschulze@731 1105 list</a> of <a
dschulze@731 1106 href="http://dev.w3.org/csswg/css3-transitions/#animtype-lpcalc">length,
dschulze@731 1107 percentage, or calc</a>
dschulze@274 1108 </table>
dschulze@274 1109
dschulze@274 1110 <p>Where
dschulze@274 1111
dschulze@470 1112 <pre class=prod><dfn id=ltpositiongt><var>&lt;position&gt;</var></dfn> = [
dschulze@470 1113 [ left | center | right | top | bottom | <var>&lt;percentage&gt;</var> | <var>&lt;length&gt;</var> ]
dschulze@470 1114 |
dschulze@470 1115 [ left | center | right | <var>&lt;percentage&gt;</var> | <var>&lt;length&gt;</var> ]
dschulze@470 1116 [ top | center | bottom | <var>&lt;percentage&gt;</var> | <var>&lt;length&gt;</var> ]
dschulze@470 1117 |
dschulze@470 1118 [ center | [ left | right ] [ <var>&lt;percentage&gt;</var> | <var>&lt;length&gt;</var> ]? ] &amp;&amp;
dschulze@470 1119 [ center | [ top | bottom ] [ <var>&lt;percentage&gt;</var> | <var>&lt;length&gt;</var> ]? ]
dschulze@274 1120 ]</pre>
dschulze@274 1121
dschulze@659 1122 <p>See <a
dschulze@659 1123 href="http://www.w3.org/TR/css3-background/#the-background-position">Positioning
dschulze@659 1124 Images: the ‘<code class=property>background-position</code>’
dschulze@659 1125 property</a> <a href="#CSS3BG"
dschulze@659 1126 rel=biblioentry>[CSS3BG]<!--{{!CSS3BG}}--></a> for the defintions of the
dschulze@659 1127 property values.
dschulze@274 1128
dschulze@274 1129 <div class=example>
dschulze@274 1130 <p>In the example below, the (single) image is placed in the lower-right
dschulze@274 1131 corner of the viewport.
dschulze@274 1132
dschulze@470 1133 <pre>
dschulze@470 1134 body {
dschulze@470 1135 mask-image: url("logo.png");
dschulze@470 1136 mask-position: 100% 100%;
dschulze@470 1137 mask-repeat: no-repeat;
dschulze@470 1138 }
dschulze@274 1139 </pre>
dschulze@274 1140 </div>
dschulze@274 1141
dschulze@274 1142 <div class=example>
dschulze@274 1143 <p>Mask positions can also be relative to other corners than the top left.
dschulze@274 1144 E.g., the following puts the background image 10px from the bottom and
dschulze@274 1145 3em from the right:
dschulze@274 1146
dschulze@274 1147 <pre>mask-position: right 3em bottom 10px</pre>
dschulze@274 1148 </div>
dschulze@274 1149
dschulze@274 1150 <p>See the section <a href="#layering">“Layering multiple mask
dschulze@277 1151 images”</a> for how ‘<a href="#mask-position"><code
dschulze@277 1152 class=property>mask-position</code></a>’ interacts with other
dschulze@274 1153 comma-separated mask properties to form each mask image layer.
dschulze@274 1154
dschulze@551 1155 <h3 id=the-mask-clip><span class=secno>6.5. </span>The ‘<a
dschulze@292 1156 href="#mask-clip"><code class=property>mask-clip</code></a>’ property</h3>
dschulze@274 1157
dschulze@274 1158 <table class=propdef>
dschulze@274 1159 <tbody>
dschulze@274 1160 <tr>
dschulze@274 1161 <th>Name:
dschulze@274 1162
dschulze@274 1163 <td><dfn id=mask-clip>mask-clip</dfn>
dschulze@274 1164
dschulze@274 1165 <tr>
dschulze@274 1166 <th><a href="#values">Value</a>:
dschulze@274 1167
dschulze@615 1168 <td><a href="#ltclip-boxgt"><var>&lt;clip-box&gt;</var></a>#
dschulze@274 1169
dschulze@274 1170 <tr>
dschulze@274 1171 <th>Initial:
dschulze@274 1172
dschulze@274 1173 <td>border-box
dschulze@274 1174
dschulze@274 1175 <tr>
dschulze@274 1176 <th>Applies to:
dschulze@274 1177
dschulze@551 1178 <td>All elements. In SVG, it applies to <a
dschulze@551 1179 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermContainerElement">container
dschulze@551 1180 elements</a> and <a
dschulze@551 1181 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermGraphicsElement">graphics
dschulze@551 1182 elements</a>
dschulze@274 1183
dschulze@274 1184 <tr>
dschulze@274 1185 <th>Inherited:
dschulze@274 1186
dschulze@274 1187 <td>no
dschulze@274 1188
dschulze@274 1189 <tr>
dschulze@274 1190 <th>Percentages:
dschulze@274 1191
dschulze@274 1192 <td>N/A
dschulze@274 1193
dschulze@274 1194 <tr>
dschulze@274 1195 <th>Media:
dschulze@274 1196
dschulze@274 1197 <td>visual
dschulze@274 1198
dschulze@274 1199 <tr>
dschulze@274 1200 <th>Computed value:
dschulze@274 1201
dschulze@274 1202 <td>as specified
dschulze@274 1203
dschulze@274 1204 <tr>
dschulze@274 1205 <th>Animatable:
dschulze@274 1206
dschulze@274 1207 <td>no
dschulze@274 1208 </table>
dschulze@274 1209
dschulze@274 1210 <p>Determines the <dfn id=mask-painting-area>mask painting area</dfn>,
dschulze@474 1211 which determines the area that is affected by the mask. The painted
dschulze@474 1212 content of an element may be resricted to this area. The syntax of the
dschulze@274 1213 property is given with
dschulze@274 1214
dschulze@615 1215 <pre class=prod><dfn id=ltclip-boxgt><var>&lt;clip-box&gt;</var></dfn> = <a
dschulze@615 1216 href="#ltboxgt"><var>&lt;box&gt;</var></a> | no-clip</pre>
dschulze@615 1217
dschulze@274 1218 <pre class=prod><dfn
dschulze@615 1219 id=ltboxgt><var>&lt;box&gt;</var></dfn> = border-box | padding-box | content-box</pre>
dschulze@274 1220
dschulze@274 1221 <p>Values have the following meanings:
dschulze@274 1222
dschulze@274 1223 <dl>
dschulze@274 1224 <dt><dfn id=border-box title="''border-box''!!'mask-clip' value"> ‘<code
dschulze@274 1225 class=css>border-box</code>’</dfn>
dschulze@274 1226
dschulze@474 1227 <dd>The painted content is rectricted to (clipped to) the <span>border
dschulze@474 1228 box</span> respectively <span>painting box</span> for objects without
dschulze@474 1229 associated layout box.
dschulze@274 1230
dschulze@274 1231 <dt><dfn id=padding-box title="''padding-box''!!'mask-clip' value">
dschulze@274 1232 ‘<code class=css>padding-box</code>’</dfn>
dschulze@274 1233
dschulze@474 1234 <dd>The painted content is rectricted to (clipped to) the <span>padding
dschulze@474 1235 box.</span>
dschulze@274 1236
dschulze@274 1237 <dt><dfn id=content-box title="''content-box''!!'mask-clip' value">
dschulze@274 1238 ‘<code class=css>content-box</code>’</dfn>
dschulze@615 1239
dschulze@474 1240 <dd>The painted content is rectricted to (clipped to) the <span>content
dschulze@615 1241 box</span> respectively <span>object bounding box</span> <a href="#SVG11"
dschulze@615 1242 rel=biblioentry>[SVG11]<!--{{!SVG11}}--></a> for objects without
dschulze@615 1243 associated layout box.
dschulze@474 1244
dschulze@536 1245 <dt><dfn id=no-clip title="''no-clip''!!'mask-clip' value"> ‘<code
dschulze@536 1246 class=css>no-clip</code>’</dfn>
dschulze@474 1247
dschulze@474 1248 <dd>The painted content is not restricted (not clipped). The <a
dschulze@474 1249 href="#mask-painting-area">mask painting area</a> is set to the <a
dschulze@474 1250 href="#bounding-client-rect">bounding client rect</a>.
dschulze@274 1251 </dl>
dschulze@274 1252
dschulze@432 1253 <p class=note>Note that there is no corresponding box for ‘<code
dschulze@432 1254 class=css>padding-box</code>’ on objects without associated layout box
dschulze@432 1255 and ‘<a href="#content-box0"><code class=css>content-box</code></a>’
dschulze@432 1256 is choosen instead.
dschulze@274 1257
dschulze@274 1258 <p>See the section <a href="#layering">“Layering multiple mask
dschulze@277 1259 images”</a> for how ‘<a href="#mask-clip"><code
dschulze@277 1260 class=property>mask-clip</code></a>’ interacts with other
dschulze@274 1261 comma-separated mask properties to form each mask image layer.
dschulze@274 1262
dschulze@551 1263 <h3 id=the-mask-origin><span class=secno>6.6. </span>The ‘<a
dschulze@276 1264 href="#mask-origin"><code class=property>mask-origin</code></a>’
dschulze@292 1265 property</h3>
dschulze@275 1266
dschulze@275 1267 <table class=propdef>
dschulze@275 1268 <tbody>
dschulze@275 1269 <tr>
dschulze@275 1270 <th>Name:
dschulze@275 1271
dschulze@276 1272 <td><dfn id=mask-origin>mask-origin</dfn>
dschulze@275 1273
dschulze@275 1274 <tr>
dschulze@275 1275 <th><a href="#values">Value</a>:
dschulze@275 1276
dschulze@280 1277 <td><a href="#ltboxgt"><var>&lt;box&gt;</var></a>#
dschulze@275 1278
dschulze@275 1279 <tr>
dschulze@275 1280 <th>Initial:
dschulze@275 1281
dschulze@275 1282 <td>padding-box
dschulze@275 1283
dschulze@275 1284 <tr>
dschulze@275 1285 <th>Applies to:
dschulze@275 1286
dschulze@551 1287 <td>All elements. In SVG, it applies to <a
dschulze@551 1288 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermContainerElement">container
dschulze@551 1289 elements</a> and <a
dschulze@551 1290 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermGraphicsElement">graphics
dschulze@551 1291 elements</a>
dschulze@275 1292
dschulze@275 1293 <tr>
dschulze@275 1294 <th>Inherited:
dschulze@275 1295
dschulze@275 1296 <td>no
dschulze@275 1297
dschulze@275 1298 <tr>
dschulze@275 1299 <th>Percentages:
dschulze@275 1300
dschulze@275 1301 <td>N/A
dschulze@275 1302
dschulze@275 1303 <tr>
dschulze@275 1304 <th>Media:
dschulze@275 1305
dschulze@275 1306 <td>visual
dschulze@275 1307
dschulze@275 1308 <tr>
dschulze@275 1309 <th>Computed value:
dschulze@275 1310
dschulze@275 1311 <td>as specified
dschulze@275 1312
dschulze@275 1313 <tr>
dschulze@275 1314 <th>Animatable:
dschulze@275 1315
dschulze@275 1316 <td>no
dschulze@275 1317 </table>
dschulze@275 1318
dschulze@275 1319 <p>For elements rendered as a single box, specifies the <dfn
dschulze@275 1320 id=mask-positioning-area>mask positioning area</dfn>. For elements
dschulze@275 1321 rendered as multiple boxes (e.g., inline boxes on several lines, boxes on
dschulze@275 1322 several pages) specifies which boxes ‘<code
dschulze@275 1323 class=property>box-decoration-break</code>’ operates on to determine the
dschulze@275 1324 mask positioning area(s).
dschulze@275 1325
dschulze@275 1326 <dl>
dschulze@275 1327 <dt><dfn id=padding-box0 title="''padding-box''!!'mask-origin' value">
dschulze@275 1328 ‘<code class=css>padding-box</code>’</dfn>
dschulze@275 1329
dschulze@275 1330 <dd>The position is relative to the padding box. (For single boxes
dschulze@275 1331 ‘<code class=css>0 0</code>’ is the upper left corner of the padding
dschulze@275 1332 edge, ‘<code class=css>100% 100%</code>’ is the lower right corner.)
dschulze@275 1333
dschulze@275 1334 <dt><dfn id=border-box0 title="''border-box''!!'mask-origin' value">
dschulze@275 1335 ‘<code class=css>border-box</code>’</dfn>
dschulze@275 1336
dschulze@432 1337 <dd>The position is relative to the border box respectively <span>painting
dschulze@432 1338 box</span> for objects without associated layout box.
dschulze@275 1339
dschulze@275 1340 <dt><dfn id=content-box0>‘<code class=css>content-box</code>’</dfn>
dschulze@275 1341
dschulze@432 1342 <dd>The position is relative to the content box respectively object
dschulze@432 1343 bounding box <a href="#SVG11"
dschulze@432 1344 rel=biblioentry>[SVG11]<!--{{!SVG11}}--></a> for objects without
dschulze@432 1345 associated layout box.
dschulze@275 1346 </dl>
dschulze@275 1347
dschulze@432 1348 <p class=note>Note that there is no corresponding box for ‘<code
dschulze@432 1349 class=css>padding-box</code>’ on objects without associated layout box
dschulze@432 1350 and ‘<a href="#content-box0"><code class=css>content-box</code></a>’
dschulze@432 1351 is choosen instead.
dschulze@432 1352
dschulze@275 1353 <p class=note>Note that if ‘<a href="#mask-clip"><code
dschulze@275 1354 class=property>mask-clip</code></a>’ is ‘<code
dschulze@276 1355 class=css>padding-box</code>’, ‘<a href="#mask-origin"><code
dschulze@276 1356 class=property>mask-origin</code></a>’ is ‘<code
dschulze@275 1357 class=css>border-box</code>’, ‘<a href="#mask-position"><code
dschulze@275 1358 class=property>mask-position</code></a>’ is ‘<code class=css>top
dschulze@275 1359 left</code>’ (the initial value), and the element has a non-zero border,
dschulze@275 1360 then the top and left of the mask image will be clipped.
dschulze@275 1361
dschulze@275 1362 <p>See the section <a href="#layering">“Layering multiple mask
dschulze@277 1363 images”</a> for how ‘<a href="#mask-origin"><code
dschulze@277 1364 class=property>mask-origin</code></a>’ interacts with other
dschulze@275 1365 comma-separated mask properties to form each mask image layer.
dschulze@275 1366
dschulze@551 1367 <h3 id=the-mask-size><span class=secno>6.7. </span>The ‘<a
dschulze@292 1368 href="#mask-size"><code class=property>mask-size</code></a>’ property</h3>
dschulze@273 1369
dschulze@273 1370 <table class=propdef>
dschulze@273 1371 <tbody>
dschulze@273 1372 <tr>
dschulze@273 1373 <th>Name:
dschulze@273 1374
dschulze@277 1375 <td><dfn id=mask-size>mask-size</dfn>
dschulze@273 1376
dschulze@273 1377 <tr>
dschulze@277 1378 <th><a href="#values">Value</a>:
dschulze@277 1379
dschulze@280 1380 <td><a href="#ltmask-sizegt"><var>&lt;mask-size&gt;</var></a>#
dschulze@273 1381
dschulze@273 1382 <tr>
dschulze@273 1383 <th>Initial:
dschulze@273 1384
dschulze@277 1385 <td>auto
dschulze@273 1386
dschulze@273 1387 <tr>
dschulze@273 1388 <th>Applies to:
dschulze@273 1389
dschulze@551 1390 <td>All elements. In SVG, it applies to <a
dschulze@551 1391 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermContainerElement">container
dschulze@551 1392 elements</a> and <a
dschulze@551 1393 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermGraphicsElement">graphics
dschulze@551 1394 elements</a>
dschulze@273 1395
dschulze@273 1396 <tr>
dschulze@273 1397 <th>Inherited:
dschulze@273 1398
dschulze@273 1399 <td>no
dschulze@273 1400
dschulze@273 1401 <tr>
dschulze@273 1402 <th>Percentages:
dschulze@273 1403
dschulze@277 1404 <td>see text
dschulze@273 1405
dschulze@273 1406 <tr>
dschulze@273 1407 <th>Media:
dschulze@273 1408
dschulze@273 1409 <td>visual
dschulze@273 1410
dschulze@273 1411 <tr>
dschulze@277 1412 <th>Computed value:
dschulze@277 1413
dschulze@277 1414 <td>as specified, but with lengths made absolute
dschulze@277 1415
dschulze@277 1416 <tr>
dschulze@277 1417 <th>Animatable:
dschulze@277 1418
dschulze@731 1419 <td>as <a
dschulze@731 1420 href="http://dev.w3.org/csswg/css3-transitions/#animtype-repeatable-list">repeatable
dschulze@731 1421 list</a> of <a
dschulze@731 1422 href="http://dev.w3.org/csswg/css3-transitions/#animtype-simple-list">simple
dschulze@731 1423 list</a> of <a
dschulze@731 1424 href="http://dev.w3.org/csswg/css3-transitions/#animtype-lpcalc">length,
dschulze@731 1425 percentage, or calc</a> (<span class=note>This means keyword values are
dschulze@731 1426 not animatable.</span>)
dschulze@277 1427 </table>
dschulze@277 1428
dschulze@277 1429 <p>Specifies the size of the mask images. Where
dschulze@277 1430
dschulze@277 1431 <pre class=prod><dfn
dschulze@277 1432 id=ltmask-sizegt><var>&lt;mask-size&gt;</var></dfn> = [ <var>&lt;length&gt;</var> | <var>&lt;percentage&gt;</var> | auto ]{1,2} | cover | contain</pre>
dschulze@277 1433
dschulze@659 1434 <p>See <a
dschulze@659 1435 href="http://www.w3.org/TR/css3-background/#the-background-size">Sizing
dschulze@659 1436 Images: the ‘background-size’ property</a> <a href="#CSS3BG"
dschulze@659 1437 rel=biblioentry>[CSS3BG]<!--{{!CSS3BG}}--></a> for the defintions of the
dschulze@659 1438 property values.
dschulze@277 1439
dschulze@277 1440 <p>See the section <a href="#layering">“Layering multiple mask
dschulze@277 1441 images”</a> for how ‘<a href="#mask-size"><code
dschulze@277 1442 class=property>mask-size</code></a>’ interacts with other
dschulze@277 1443 comma-separated mask properties to form each mask image layer.
dschulze@277 1444
dschulze@551 1445 <h3 id=mask-property><span class=secno>6.8. </span>The ‘<a
dschulze@551 1446 href="#mask"><code class=property>mask</code></a>’ property</h3>
dschulze@277 1447
dschulze@277 1448 <table class=propdef>
dschulze@277 1449 <tbody>
dschulze@277 1450 <tr>
dschulze@277 1451 <th>Name:
dschulze@277 1452
dschulze@277 1453 <td><dfn id=MaskProperty>mask</dfn>
dschulze@277 1454
dschulze@277 1455 <tr>
dschulze@277 1456 <th>Value:
dschulze@277 1457
dschulze@536 1458 <td><a href="#ltmask-layergt"><var>&lt;mask-layer&gt;</var></a>#
dschulze@277 1459
dschulze@277 1460 <tr>
dschulze@277 1461 <th>Initial:
dschulze@277 1462
dschulze@277 1463 <td>see individual properties
dschulze@277 1464
dschulze@277 1465 <tr>
dschulze@277 1466 <th>Applies to:
dschulze@277 1467
dschulze@551 1468 <td>All elements. In SVG, it applies to <a
dschulze@551 1469 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermContainerElement">container
dschulze@551 1470 elements</a> and <a
dschulze@551 1471 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermGraphicsElement">graphics
dschulze@551 1472 elements</a>
dschulze@277 1473
dschulze@277 1474 <tr>
dschulze@277 1475 <th>Inherited:
dschulze@277 1476
dschulze@277 1477 <td>no
dschulze@277 1478
dschulze@277 1479 <tr>
dschulze@277 1480 <th>Percentages:
dschulze@277 1481
dschulze@277 1482 <td>see individual properties
dschulze@277 1483
dschulze@277 1484 <tr>
dschulze@277 1485 <th>Media:
dschulze@277 1486
dschulze@277 1487 <td>visual
dschulze@277 1488
dschulze@277 1489 <tr>
dschulze@551 1490 <th>Computed value:
dschulze@273 1491
dschulze@277 1492 <td>see individual properties
dschulze@273 1493
dschulze@273 1494 <tr>
birtles@440 1495 <th>Animatable:
dschulze@273 1496
dschulze@277 1497 <td>see individual properties
dschulze@273 1498 </table>
dschulze@273 1499
dschulze@277 1500 <p>Where
dschulze@277 1501
birtles@288 1502 <pre class=prod><dfn id=ltmask-layergt>&lt;mask-layer&gt;</dfn> = <a
dschulze@551 1503 href="#ltmask-referencegt"><var>&lt;mask-reference&gt;</var></a> <a
dschulze@551 1504 href="#ltsource-typegt"><var>&lt;source-type&gt;</var></a>? || <a
dschulze@536 1505 href="#ltpositiongt"><var>&lt;position&gt;</var></a> [ / <a
dschulze@536 1506 href="#ltmask-sizegt"><var>&lt;mask-size&gt;</var></a> ]? || <a
dschulze@536 1507 href="#ltrepeat-stylegt"><var>&lt;repeat-style&gt;</var></a> || <a
dschulze@615 1508 href="#ltboxgt"><var>&lt;box&gt;</var></a> || <a
dschulze@615 1509 href="#ltclip-boxgt"><var>&lt;clip-box&gt;</var></a></pre>
dschulze@615 1510
dschulze@615 1511 <p> If one <a href="#ltboxgt"><var>&lt;box&gt;</var></a> value is present
dschulze@615 1512 then it sets both ‘<a href="#mask-origin"><code
dschulze@615 1513 class=property>mask-origin</code></a>’ and ‘<a href="#mask-clip"><code
dschulze@615 1514 class=property>mask-clip</code></a>’ to that value. If two <a
dschulze@615 1515 href="#ltboxgt"><var>&lt;box&gt;</var></a> values are present, then the
dschulze@615 1516 first sets ‘<a href="#mask-origin"><code
dschulze@615 1517 class=property>mask-origin</code></a>’ and the second ‘<a
dschulze@615 1518 href="#mask-clip"><code class=property>mask-clip</code></a>’.
dschulze@278 1519
dschulze@445 1520 <p class=note> Note that the properties ‘<a href="#mask-image"><code
dschulze@445 1521 class=property>mask-image</code></a>’, ‘<a href="#mask-repeat"><code
dschulze@445 1522 class=property>mask-repeat</code></a>’, ‘<a
dschulze@445 1523 href="#mask-position"><code class=property>mask-position</code></a>’,
dschulze@445 1524 ‘<a href="#mask-clip"><code class=property>mask-clip</code></a>’,
dschulze@445 1525 ‘<a href="#mask-origin"><code class=property>mask-origin</code></a>’
dschulze@445 1526 and ‘<a href="#mask-size"><code class=property>mask-size</code></a>’
dschulze@551 1527 have no affect on <a class=element-name href="#MaskElement">‘<code
dschulze@551 1528 class=property>mask</code>’</a> elements.
dschulze@551 1529
dschulze@551 1530 <h3 id=the-mask-type><span class=secno>6.9. </span>The ‘<a
dschulze@432 1531 href="#mask-type"><code class=property>mask-type</code></a>’ property</h3>
dschulze@432 1532
dschulze@432 1533 <table class=propdef>
dschulze@432 1534 <tbody>
dschulze@432 1535 <tr>
dschulze@432 1536 <th>Name:
dschulze@432 1537
dschulze@432 1538 <td><dfn id=mask-type>mask-type</dfn>
dschulze@432 1539
dschulze@432 1540 <tr>
dschulze@432 1541 <th><a href="#values">Value</a>:
dschulze@432 1542
dschulze@552 1543 <td>luminance | alpha
dschulze@432 1544
dschulze@432 1545 <tr>
dschulze@432 1546 <th>Initial:
dschulze@432 1547
dschulze@432 1548 <td>luminance
dschulze@432 1549
dschulze@432 1550 <tr>
dschulze@432 1551 <th>Applies to:
dschulze@432 1552
dschulze@551 1553 <td><a class=element-name href="#MaskElement">‘<code
dschulze@551 1554 class=property>mask</code>’</a> elements
dschulze@432 1555
dschulze@432 1556 <tr>
dschulze@432 1557 <th>Inherited:
dschulze@432 1558
dschulze@432 1559 <td>no
dschulze@432 1560
dschulze@432 1561 <tr>
dschulze@432 1562 <th>Percentages:
dschulze@432 1563
dschulze@432 1564 <td>N/A
dschulze@432 1565
dschulze@432 1566 <tr>
dschulze@432 1567 <th>Media:
dschulze@432 1568
dschulze@432 1569 <td>visual
dschulze@432 1570
dschulze@432 1571 <tr>
dschulze@432 1572 <th>Computed value:
dschulze@432 1573
dschulze@432 1574 <td>as specified
dschulze@432 1575
dschulze@432 1576 <tr>
dschulze@432 1577 <th>Animatable:
dschulze@432 1578
dschulze@731 1579 <td>no
dschulze@432 1580 </table>
dschulze@432 1581
birtles@435 1582 <p>The ‘<a href="#mask-type"><code class=property>mask-type</code></a>’
dschulze@551 1583 property defines whether the content of the <a class=element-name
dschulze@551 1584 href="#MaskElement">‘<code class=property>mask</code>’</a> is treated
dschulze@551 1585 as as luminance mask or alpha mask, as described in <a
dschulze@551 1586 href="#MaskValues">Calculating mask values</a>.
dschulze@432 1587
dschulze@432 1588 <p>Values have the following meanings:
dschulze@432 1589
dschulze@432 1590 <dl>
birtles@447 1591 <dt>‘<a href="#luminance"><code class=css>luminance</code></a>’
dschulze@432 1592
dschulze@432 1593 <dd>Indicates that the luminance values of the mask should be used.
dschulze@432 1594
birtles@447 1595 <dt>‘<a href="#alpha"><code class=css>alpha</code></a>’
dschulze@432 1596
dschulze@432 1597 <dd>Indicates that the alpha values of the mask should be used.
dschulze@432 1598 </dl>
dschulze@432 1599
dschulze@445 1600 <p>The ‘<a href="#mask-type"><code class=property>mask-type</code></a>’
dschulze@445 1601 property is a presentation attribute for SVG elements.
dschulze@445 1602
dschulze@551 1603 <h3 id=MaskElement><span class=secno>6.10. </span>The <a class=element-name
dschulze@551 1604 href="#mask">‘<code class=property>mask</code>’</a> element</h3>
dschulze@551 1605
dschulze@551 1606 <table class=propdef summary="mask element">
dschulze@551 1607 <tbody>
dschulze@551 1608 <tr>
dschulze@551 1609 <th>Name:
dschulze@551 1610
dschulze@551 1611 <td><dfn id=mask>mask</dfn>
dschulze@551 1612
dschulze@551 1613 <tr>
dschulze@551 1614 <th>Categories:
dschulze@551 1615
dschulze@551 1616 <td><a
dschulze@551 1617 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermContainerElement">Container
dschulze@551 1618 element</a>
dschulze@551 1619
dschulze@551 1620 <tr>
dschulze@551 1621 <th>Content model:
dschulze@551 1622
dschulze@551 1623 <td>Any number of the following elements, in any order:
dschulze@551 1624 <ul class=no-bullets>
dschulze@551 1625 <li><a
dschulze@551 1626 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermAnimationElement">animation</a>
dschulze@551 1627 <span class=expanding> — <a
dschulze@551 1628 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/animate.html#AnimateElement"><span
dschulze@551 1629 class=element-name>‘animate’</span></a>, <a
dschulze@551 1630 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/animate.html#AnimateColorElement"><span
dschulze@551 1631 class=element-name>‘animateColor’</span></a>, <a
dschulze@551 1632 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/animate.html#AnimateMotionElement"><span
dschulze@551 1633 class=element-name>‘animateMotion’</span></a>, <a
dschulze@551 1634 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/animate.html#AnimateTransformElement"><span
dschulze@551 1635 class=element-name>‘animateTransform’</span></a>, <a
dschulze@551 1636 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/animate.html#SetElement"><span
dschulze@551 1637 class=element-name>‘set’</span></a></span>
dschulze@551 1638
dschulze@551 1639 <li><a
dschulze@551 1640 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermDescriptiveElement">descriptive</a>
dschulze@551 1641 <span class=expanding> — <a
dschulze@551 1642 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#DescElement"><span
dschulze@551 1643 class=element-name>‘desc’</span></a>, <a
dschulze@551 1644 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#TitleElement"><span
dschulze@551 1645 class=element-name>‘title’</span></a>, <a
dschulze@551 1646 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/metadata.html#MetadataElement"><span
dschulze@551 1647 class=element-name>‘metadata’</span></a></span>
dschulze@551 1648
dschulze@551 1649 <li><a
dschulze@551 1650 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermShapeElement">shape</a>
dschulze@551 1651 <span class=expanding> — <a
dschulze@551 1652 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/shapes.html#CircleElement"><span
dschulze@551 1653 class=element-name>‘circle’</span></a>, <a
dschulze@551 1654 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/shapes.html#EllipseElement"><span
dschulze@551 1655 class=element-name>‘ellipse’</span></a>, <a
dschulze@551 1656 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/shapes.html#LineElement"><span
dschulze@551 1657 class=element-name>‘line’</span></a>, <a
dschulze@551 1658 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/paths.html#PathElement"><span
dschulze@551 1659 class=element-name>‘path’</span></a>, <a
dschulze@551 1660 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/shapes.html#PolygonElement"><span
dschulze@551 1661 class=element-name>‘polygon’</span></a>, <a
dschulze@551 1662 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/shapes.html#PolylineElement"><span
dschulze@551 1663 class=element-name>‘polyline’</span></a>, <a
dschulze@551 1664 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/shapes.html#RectElement"><span
dschulze@551 1665 class=element-name>‘rect’</span></a></span>
dschulze@551 1666
dschulze@551 1667 <li><a
dschulze@551 1668 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermStructuralElement">structural</a>
dschulze@551 1669 <span class=expanding> — <a
dschulze@551 1670 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#DefsElement"><span
dschulze@551 1671 class=element-name>‘defs’</span></a>, <a
dschulze@551 1672 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#GElement"><span
dschulze@551 1673 class=element-name>‘g’</span></a>, <a
dschulze@551 1674 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#SVGElement"><span
dschulze@551 1675 class=element-name>‘svg’</span></a>, <a
dschulze@551 1676 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#SymbolElement"><span
dschulze@551 1677 class=element-name>‘symbol’</span></a>, <a
dschulze@551 1678 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#UseElement"><span
dschulze@551 1679 class=element-name>‘use’</span></a></span>
dschulze@551 1680
dschulze@551 1681 <li><a
dschulze@551 1682 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermGradientElement">gradient</a>
dschulze@551 1683 <span class=expanding> — <a
dschulze@551 1684 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/pservers.html#LinearGradientElement"><span
dschulze@551 1685 class=element-name>‘linearGradient’</span></a>, <a
dschulze@551 1686 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/pservers.html#RadialGradientElement"><span
dschulze@551 1687 class=element-name>‘radialGradient’</span></a></span>
dschulze@551 1688
dschulze@551 1689 <li><a
dschulze@551 1690 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/linking.html#AElement"><span
dschulze@551 1691 class=element-name>‘a’</span></a>
dschulze@551 1692
dschulze@551 1693 <li><a href="#ClipPathElement"><span
dschulze@551 1694 class=element-name>‘clipPath’</span></a>
dschulze@551 1695
dschulze@551 1696 <li><a
dschulze@551 1697 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/color.html#ColorProfileElement"><span
dschulze@551 1698 class=element-name>‘color-profile’</span></a>
dschulze@551 1699
dschulze@551 1700 <li><a
dschulze@551 1701 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/interact.html#CursorElement"><span
dschulze@551 1702 class=element-name>‘cursor’</span></a>
dschulze@551 1703
dschulze@551 1704 <li><a
dschulze@551 1705 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/filters.html#FilterElement"><span
dschulze@551 1706 class=element-name>‘filter’</span></a>
dschulze@551 1707
dschulze@551 1708 <li><a
dschulze@551 1709 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/fonts.html#FontElement"><span
dschulze@551 1710 class=element-name>‘font’</span></a>
dschulze@551 1711
dschulze@551 1712 <li><a
dschulze@551 1713 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/fonts.html#FontFaceElement"><span
dschulze@551 1714 class=element-name>‘font-face’</span></a>
dschulze@551 1715
dschulze@551 1716 <li><a
dschulze@551 1717 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/extend.html#ForeignObjectElement"><span
dschulze@551 1718 class=element-name>‘foreignObject’</span></a>
dschulze@551 1719
dschulze@551 1720 <li><a
dschulze@551 1721 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#ImageElement"><span
dschulze@551 1722 class=element-name>‘image’</span></a>
dschulze@551 1723
dschulze@551 1724 <li><a
dschulze@551 1725 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#MarkerElement"><span
dschulze@551 1726 class=element-name>‘marker’</span></a>
dschulze@551 1727
dschulze@551 1728 <li><a href="#MaskElement"><span
dschulze@551 1729 class=element-name>‘mask’</span></a>
dschulze@551 1730
dschulze@551 1731 <li><a
dschulze@551 1732 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/pservers.html#PatternElement"><span
dschulze@551 1733 class=element-name>‘pattern’</span></a>
dschulze@551 1734
dschulze@551 1735 <li><a
dschulze@551 1736 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/script.html#ScriptElement"><span
dschulze@551 1737 class=element-name>‘script’</span></a>
dschulze@551 1738
dschulze@551 1739 <li><a
dschulze@551 1740 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/styling.html#StyleElement"><span
dschulze@551 1741 class=element-name>‘style’</span></a>
dschulze@551 1742
dschulze@551 1743 <li><a
dschulze@551 1744 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#SwitchElement"><span
dschulze@551 1745 class=element-name>‘switch’</span></a>
dschulze@551 1746
dschulze@551 1747 <li><a
dschulze@551 1748 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/linking.html#ViewElement"><span
dschulze@551 1749 class=element-name>‘view’</span></a>
dschulze@551 1750
dschulze@551 1751 <li><a
dschulze@551 1752 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#TextElement"><span
dschulze@551 1753 class=element-name>‘text’</span></a>
dschulze@551 1754
dschulze@551 1755 <li><a
dschulze@551 1756 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#AltGlyphDefElement"><span
dschulze@551 1757 class=element-name>‘altGlyphDef’</span></a>
dschulze@551 1758 </ul>
dschulze@551 1759
dschulze@551 1760 <tr>
dschulze@551 1761 <th>Attributes:
dschulze@551 1762
dschulze@551 1763 <td>
dschulze@551 1764 <ul class=no-bullets>
dschulze@551 1765 <li><a
dschulze@551 1766 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermConditionalProcessingAttribute">conditional
dschulze@551 1767 processing attributes</a><span class=expanding> — <a
dschulze@551 1768 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#RequiredFeaturesAttribute"><span
dschulze@551 1769 class=attr-name>‘requiredFeatures’</span></a>, <a
dschulze@551 1770 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#RequiredExtensionsAttribute"><span
dschulze@551 1771 class=attr-name>‘requiredExtensions’</span></a>, <a
dschulze@551 1772 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#SystemLanguageAttribute"><span
dschulze@551 1773 class=attr-name>‘systemLanguage’</span></a></span>
dschulze@551 1774
dschulze@551 1775 <li><a
dschulze@551 1776 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermCoreAttributes">core
dschulze@551 1777 attributes</a><span class=expanding> — <a
dschulze@551 1778 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#IDAttribute"><span
dschulze@551 1779 class=attr-name>‘id’</span></a>, <a
dschulze@551 1780 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#XMLBaseAttribute"><span
dschulze@551 1781 class=attr-name>‘xml:base’</span></a>, <a
dschulze@551 1782 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#XMLLangAttribute"><span
dschulze@551 1783 class=attr-name>‘xml:lang’</span></a>, <a
dschulze@551 1784 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#XMLSpaceAttribute"><span
dschulze@551 1785 class=attr-name>‘xml:space’</span></a></span>
dschulze@551 1786
dschulze@551 1787 <li><a
dschulze@551 1788 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermPresentationAttribute">presentation
dschulze@551 1789 attributes</a><span class=expanding> — <a
dschulze@551 1790 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#AlignmentBaselineProperty"><span
dschulze@551 1791 class=attr-name>‘alignment-baseline’</span></a>, <a
dschulze@551 1792 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#BaselineShiftProperty"><span
dschulze@551 1793 class=attr-name>‘baseline-shift’</span></a>, <a
dschulze@551 1794 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/masking.html#ClipProperty"><span
dschulze@551 1795 class=attr-name>‘clip’</span></a>, <a
dschulze@551 1796 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/masking.html#ClipPathProperty"><span
dschulze@551 1797 class=attr-name>‘clip-path’</span></a>, <a
dschulze@551 1798 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/masking.html#ClipRuleProperty"><span
dschulze@551 1799 class=attr-name>‘clip-rule’</span></a>, <a
dschulze@551 1800 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/color.html#ColorProperty"><span
dschulze@551 1801 class=attr-name>‘color’</span></a>, <a
dschulze@551 1802 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#ColorInterpolationProperty"><span
dschulze@551 1803 class=attr-name>‘color-interpolation’</span></a>, <a
dschulze@551 1804 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#ColorInterpolationFiltersProperty"><span
dschulze@551 1805 class=attr-name>‘color-interpolation-filters’</span></a>, <a
dschulze@551 1806 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/color.html#ColorProfileProperty"><span
dschulze@551 1807 class=attr-name>‘color-profile’</span></a>, <a
dschulze@551 1808 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#ColorRenderingProperty"><span
dschulze@551 1809 class=attr-name>‘color-rendering’</span></a>, <a
dschulze@551 1810 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/interact.html#CursorProperty"><span
dschulze@551 1811 class=attr-name>‘cursor’</span></a>, <a
dschulze@551 1812 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#DirectionProperty"><span
dschulze@551 1813 class=attr-name>‘direction’</span></a>, <a
dschulze@551 1814 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#DisplayProperty"><span
dschulze@551 1815 class=attr-name>‘display’</span></a>, <a
dschulze@551 1816 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#DominantBaselineProperty"><span
dschulze@551 1817 class=attr-name>‘dominant-baseline’</span></a>, <a
dschulze@551 1818 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/filters.html#EnableBackgroundProperty"><span
dschulze@551 1819 class=attr-name>‘enable-background’</span></a>, <a
dschulze@551 1820 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#FillProperty"><span
dschulze@551 1821 class=attr-name>‘fill’</span></a>, <a
dschulze@551 1822 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#FillOpacityProperty"><span
dschulze@551 1823 class=attr-name>‘fill-opacity’</span></a>, <a
dschulze@551 1824 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#FillRuleProperty"><span
dschulze@551 1825 class=attr-name>‘fill-rule’</span></a>, <a
dschulze@551 1826 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/filters.html#FilterProperty"><span
dschulze@551 1827 class=attr-name>‘filter’</span></a>, <a
dschulze@551 1828 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/filters.html#FloodColorProperty"><span
dschulze@551 1829 class=attr-name>‘flood-color’</span></a>, <a
dschulze@551 1830 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/filters.html#FloodOpacityProperty"><span
dschulze@551 1831 class=attr-name>‘flood-opacity’</span></a>, <a
dschulze@551 1832 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#FontProperty"><span
dschulze@551 1833 class=attr-name>‘font’</span></a>, <a
dschulze@551 1834 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#FontFamilyProperty"><span
dschulze@551 1835 class=attr-name>‘font-family’</span></a>, <a
dschulze@551 1836 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#FontSizeProperty"><span
dschulze@551 1837 class=attr-name>‘font-size’</span></a>, <a
dschulze@551 1838 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#FontSizeAdjustProperty"><span
dschulze@551 1839 class=attr-name>‘font-size-adjust’</span></a>, <a
dschulze@551 1840 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#FontStretchProperty"><span
dschulze@551 1841 class=attr-name>‘font-stretch’</span></a>, <a
dschulze@551 1842 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#FontStyleProperty"><span
dschulze@551 1843 class=attr-name>‘font-style’</span></a>, <a
dschulze@551 1844 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#FontVariantProperty"><span
dschulze@551 1845 class=attr-name>‘font-variant’</span></a>, <a
dschulze@551 1846 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#FontWeightProperty"><span
dschulze@551 1847 class=attr-name>‘font-weight’</span></a>, <a
dschulze@551 1848 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#GlyphOrientationHorizontalProperty"><span
dschulze@551 1849 class=attr-name>‘glyph-orientation-horizontal’</span></a>, <a
dschulze@551 1850 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#GlyphOrientationVerticalProperty"><span
dschulze@551 1851 class=attr-name>‘glyph-orientation-vertical’</span></a>, <a
dschulze@551 1852 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#ImageRenderingProperty"><span
dschulze@551 1853 class=attr-name>‘image-rendering’</span></a>, <a
dschulze@551 1854 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#KerningProperty"><span
dschulze@551 1855 class=attr-name>‘kerning’</span></a>, <a
dschulze@551 1856 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#LetterSpacingProperty"><span
dschulze@551 1857 class=attr-name>‘letter-spacing’</span></a>, <a
dschulze@551 1858 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/filters.html#LightingColorProperty"><span
dschulze@551 1859 class=attr-name>‘lighting-color’</span></a>, <a
dschulze@551 1860 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#MarkerProperty"><span
dschulze@551 1861 class=attr-name>‘marker’</span></a>, <a
dschulze@551 1862 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#MarkerEndProperty"><span
dschulze@551 1863 class=attr-name>‘marker-end’</span></a>, <a
dschulze@551 1864 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#MarkerMidProperty"><span
dschulze@551 1865 class=attr-name>‘marker-mid’</span></a>, <a
dschulze@551 1866 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#MarkerStartProperty"><span
dschulze@551 1867 class=attr-name>‘marker-start’</span></a>, <a
dschulze@551 1868 href="#MaskProperty"><span class=attr-name>‘mask’</span></a>, <a
dschulze@551 1869 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/masking.html#OpacityProperty"><span
dschulze@551 1870 class=attr-name>‘opacity’</span></a>, <a
dschulze@551 1871 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/masking.html#OverflowProperty"><span
dschulze@551 1872 class=attr-name>‘overflow’</span></a>, <a
dschulze@551 1873 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/interact.html#PointerEventsProperty"><span
dschulze@551 1874 class=attr-name>‘pointer-events’</span></a>, <a
dschulze@551 1875 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#ShapeRenderingProperty"><span
dschulze@551 1876 class=attr-name>‘shape-rendering’</span></a>, <a
dschulze@551 1877 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/pservers.html#StopColorProperty"><span
dschulze@551 1878 class=attr-name>‘stop-color’</span></a>, <a
dschulze@551 1879 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/pservers.html#StopOpacityProperty"><span
dschulze@551 1880 class=attr-name>‘stop-opacity’</span></a>, <a
dschulze@551 1881 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#StrokeProperty"><span
dschulze@551 1882 class=attr-name>‘stroke’</span></a>, <a
dschulze@551 1883 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#StrokeDasharrayProperty"><span
dschulze@551 1884 class=attr-name>‘stroke-dasharray’</span></a>, <a
dschulze@551 1885 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#StrokeDashoffsetProperty"><span
dschulze@551 1886 class=attr-name>‘stroke-dashoffset’</span></a>, <a
dschulze@551 1887 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#StrokeLinecapProperty"><span
dschulze@551 1888 class=attr-name>‘stroke-linecap’</span></a>, <a
dschulze@551 1889 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#StrokeLinejoinProperty"><span
dschulze@551 1890 class=attr-name>‘stroke-linejoin’</span></a>, <a
dschulze@551 1891 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#StrokeMiterlimitProperty"><span
dschulze@551 1892 class=attr-name>‘stroke-miterlimit’</span></a>, <a
dschulze@551 1893 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#StrokeOpacityProperty"><span
dschulze@551 1894 class=attr-name>‘stroke-opacity’</span></a>, <a
dschulze@551 1895 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#StrokeWidthProperty"><span
dschulze@551 1896 class=attr-name>‘stroke-width’</span></a>, <a
dschulze@551 1897 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#TextAnchorProperty"><span
dschulze@551 1898 class=attr-name>‘text-anchor’</span></a>, <a
dschulze@551 1899 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#TextDecorationProperty"><span
dschulze@551 1900 class=attr-name>‘text-decoration’</span></a>, <a
dschulze@551 1901 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#TextRenderingProperty"><span
dschulze@551 1902 class=attr-name>‘text-rendering’</span></a>, <a
dschulze@551 1903 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#UnicodeBidiProperty"><span
dschulze@551 1904 class=attr-name>‘unicode-bidi’</span></a>, <a
dschulze@551 1905 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#VisibilityProperty"><span
dschulze@551 1906 class=attr-name>‘visibility’</span></a>, <a
dschulze@551 1907 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#WordSpacingProperty"><span
dschulze@551 1908 class=attr-name>‘word-spacing’</span></a>, <a
dschulze@551 1909 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#WritingModeProperty"><span
dschulze@551 1910 class=attr-name>‘writing-mode’</span></a></span>
dschulze@551 1911
dschulze@551 1912 <li><a
dschulze@551 1913 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/styling.html#ClassAttribute"><span
dschulze@551 1914 class=attr-name>‘class’</span></a>
dschulze@551 1915
dschulze@551 1916 <li><a
dschulze@551 1917 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/styling.html#StyleAttribute"><span
dschulze@551 1918 class=attr-name>‘style’</span></a>
dschulze@551 1919
dschulze@551 1920 <li><a href="#MaskElementXAttribute"><span
dschulze@551 1921 class=attr-name>‘x’</span></a>
dschulze@551 1922
dschulze@551 1923 <li><a href="#MaskElementYAttribute"><span
dschulze@551 1924 class=attr-name>‘y’</span></a>
dschulze@551 1925
dschulze@551 1926 <li><a href="#MaskElementWidthAttribute"><span
dschulze@551 1927 class=attr-name>‘width’</span></a>
dschulze@551 1928
dschulze@551 1929 <li><a href="#MaskElementHeightAttribute"><span
dschulze@551 1930 class=attr-name>‘height’</span></a>
dschulze@551 1931
dschulze@551 1932 <li><a href="#MaskElementMaskUnitsAttribute"><span
dschulze@551 1933 class=attr-name>‘maskUnits’</span></a>
dschulze@551 1934
dschulze@551 1935 <li><a href="#MaskElementMaskContentUnitsAttribute"><span
dschulze@551 1936 class=attr-name>‘maskContentUnits’</span></a>
dschulze@551 1937 </ul>
dschulze@551 1938
dschulze@551 1939 <tr>
dschulze@551 1940 <th>DOM Interfaces:
dschulze@551 1941
dschulze@551 1942 <td><a class=idlinterface
dschulze@551 1943 href="#InterfaceSVGMaskElement">SVGMaskElement</a>
dschulze@551 1944 </table>
dschulze@298 1945
dschulze@273 1946 <div class=adef-list>
dschulze@427 1947 <p><em>Attribute definitions:</em>
dschulze@273 1948
dschulze@273 1949 <dl>
dschulze@273 1950 <dt id=MaskElementMaskUnitsAttribute><span class=adef>maskUnits</span> =
dschulze@273 1951 "<em>userSpaceOnUse</em> | <em>objectBoundingBox</em>"
dschulze@273 1952
dschulze@551 1953 <dd>Defines the coordinate system for attributes <a class=attr-name
dschulze@551 1954 href="#MaskElementXAttribute">‘<code class=property>x</code>’</a>,
dschulze@551 1955 <a class=attr-name href="#MaskElementYAttribute">‘<code
dschulze@551 1956 class=property>y</code>’</a>, <a class=attr-name
dschulze@551 1957 href="#MaskElementWidthAttribute">‘<code
dschulze@551 1958 class=property>width</code>’</a> and <a class=attr-name
dschulze@551 1959 href="#MaskElementHeightAttribute">‘<code
dschulze@551 1960 class=property>height</code>’</a>.<br>
dschulze@551 1961 If <span class=attr-value>maskUnits="userSpaceOnUse"</span>, <a
dschulze@551 1962 class=attr-name href="#MaskElementXAttribute">‘<code
dschulze@551 1963 class=property>x</code>’</a>, <a class=attr-name
dschulze@551 1964 href="#MaskElementYAttribute">‘<code class=property>y</code>’</a>,
dschulze@551 1965 <a class=attr-name href="#MaskElementWidthAttribute">‘<code
dschulze@551 1966 class=property>width</code>’</a> and <a class=attr-name
dschulze@551 1967 href="#MaskElementHeightAttribute">‘<code
dschulze@551 1968 class=property>height</code>’</a> represent values in the current user
dschulze@551 1969 coordinate system in place at the time when the <a class=element-name
dschulze@551 1970 href="#MaskElement">‘<code class=property>mask</code>’</a> element
dschulze@551 1971 is referenced (i.e., the user coordinate system for the element
dschulze@551 1972 referencing the <a class=element-name href="#MaskElement">‘<code
dschulze@551 1973 class=property>mask</code>’</a> element via the ‘<a
dschulze@551 1974 href="#mask"><code class=property>mask</code></a>’ property).<br>
dschulze@551 1975 If <span class=attr-value>maskUnits="objectBoundingBox"</span>, <a
dschulze@551 1976 class=attr-name href="#MaskElementXAttribute">‘<code
dschulze@551 1977 class=property>x</code>’</a>, <a class=attr-name
dschulze@551 1978 href="#MaskElementYAttribute">‘<code class=property>y</code>’</a>,
dschulze@551 1979 <a class=attr-name href="#MaskElementWidthAttribute">‘<code
dschulze@551 1980 class=property>width</code>’</a> and <a class=attr-name
dschulze@551 1981 href="#MaskElementHeightAttribute">‘<code
dschulze@551 1982 class=property>height</code>’</a> represent fractions or percentages
dschulze@273 1983 of the bounding box of the element to which the mask is applied. (See <a
dschulze@273 1984 class=term href="#object-bounding-box-units">object bounding box
dschulze@273 1985 units</a>.)<br>
dschulze@551 1986 If attribute <a class=attr-name
dschulze@551 1987 href="#MaskElementMaskUnitsAttribute">‘<code
dschulze@551 1988 class=property>maskUnits</code>’</a> is not specified, then the effect
dschulze@551 1989 is as if a value of <span class=attr-value>‘<code
dschulze@273 1990 class=property>objectBoundingBox</code>’</span> were specified.<br>
dschulze@343 1991 <span class=anim-target>Animatable: yes.</span>
dschulze@273 1992
dschulze@273 1993 <dt id=MaskElementMaskContentUnitsAttribute><span
dschulze@273 1994 class=adef>maskContentUnits</span> = "<em>userSpaceOnUse</em> |
dschulze@273 1995 <em>objectBoundingBox</em>"
dschulze@273 1996
dschulze@551 1997 <dd>Defines the coordinate system for the contents of the <a
dschulze@551 1998 class=element-name href="#MaskElement">‘<code
dschulze@551 1999 class=property>mask</code>’</a>.<br>
dschulze@273 2000 If <span class=attr-value>maskContentUnits="userSpaceOnUse"</span>, the
dschulze@551 2001 user coordinate system for the contents of the <a class=element-name
dschulze@551 2002 href="#MaskElement">‘<code class=property>mask</code>’</a> element
dschulze@551 2003 is the current user coordinate system in place at the time when the <a
dschulze@551 2004 class=element-name href="#MaskElement">‘<code
dschulze@551 2005 class=property>mask</code>’</a> element is referenced (i.e., the user
dschulze@551 2006 coordinate system for the element referencing the <a class=element-name
dschulze@551 2007 href="#MaskElement">‘<code class=property>mask</code>’</a> element
dschulze@551 2008 via the ‘<a href="#mask"><code class=property>mask</code></a>’
dschulze@273 2009 property).<br>
dschulze@273 2010 If <span class=attr-value>maskContentUnits="objectBoundingBox"</span>,
dschulze@551 2011 the user coordinate system for the contents of the <a class=element-name
dschulze@551 2012 href="#MaskElement">‘<code class=property>mask</code>’</a> is
dschulze@551 2013 established using the bounding box of the element to which the mask is
dschulze@551 2014 applied. (See <a class=term href="#object-bounding-box-units">object
dschulze@551 2015 bounding box units</a>.)<br>
dschulze@551 2016 If attribute <a class=attr-name
dschulze@551 2017 href="#MaskElementMaskContentUnitsAttribute">‘<code
dschulze@551 2018 class=property>maskContentUnits</code>’</a> is not specified, then the
dschulze@551 2019 effect is as if a value of <span class=attr-value>‘<code
dschulze@551 2020 class=property>userSpaceOnUse</code>’</span> were specified.<br>
dschulze@343 2021 <span class=anim-target>Animatable: yes.</span>
dschulze@273 2022
dschulze@343 2023 <dt id=MaskElementXAttribute><span class=adef>x</span> =
dschulze@343 2024 "<var>&lt;length&gt;</var> | <var>&lt;percentage&gt;</var>"
dschulze@273 2025
dschulze@273 2026 <dd>The x-axis coordinate of one corner of the rectangle for the largest
dschulze@726 2027 possible offscreen buffer. If the attribute is not specified but at
dschulze@726 2028 least one of the attributes <a class=attr-name
dschulze@726 2029 href="#MaskElementYAttribute">‘<code class=property>y</code>’</a>,
dschulze@726 2030 <a class=attr-name href="#MaskElementWidthAttribute">‘<code
dschulze@726 2031 class=property>width</code>’</a> or <a class=attr-name
dschulze@726 2032 href="#MaskElementHeightAttribute">‘<code
dschulze@726 2033 class=property>height</code>’</a> are specified, the effect is as if a
dschulze@726 2034 value of <span class=attr-value>‘<code class=css>-10%</code>’</span>
dschulze@726 2035 were specified.<br>
dschulze@343 2036 <span class=anim-target>Animatable: yes.</span>
dschulze@343 2037
dschulze@343 2038 <dt id=MaskElementYAttribute><span class=adef>y</span> =
dschulze@343 2039 "<var>&lt;length&gt;</var> | <var>&lt;percentage&gt;</var>"
dschulze@273 2040
dschulze@273 2041 <dd>The y-axis coordinate of one corner of the rectangle for the largest
dschulze@273 2042 possible offscreen buffer.<br>
dschulze@726 2043 If the attribute is not specified but at least one of the attributes <a
dschulze@726 2044 class=attr-name href="#MaskElementXAttribute">‘<code
dschulze@726 2045 class=property>x</code>’</a>, <a class=attr-name
dschulze@726 2046 href="#MaskElementWidthAttribute">‘<code
dschulze@726 2047 class=property>width</code>’</a> or <a class=attr-name
dschulze@726 2048 href="#MaskElementHeightAttribute">‘<code
dschulze@726 2049 class=property>height</code>’</a> are specified, the effect is as if a
dschulze@726 2050 value of <span class=attr-value>‘<code class=css>-10%</code>’</span>
dschulze@726 2051 were specified.<br>
dschulze@343 2052 <span class=anim-target>Animatable: yes.</span>
dschulze@343 2053
dschulze@343 2054 <dt id=MaskElementWidthAttribute><span class=adef>width</span> =
dschulze@343 2055 "<var>&lt;length&gt;</var> | <var>&lt;percentage&gt;</var>"
dschulze@273 2056
dschulze@726 2057 <dd>The width of the largest possible offscreen buffer. A negative value
dschulze@726 2058 or a value of zero disables rendering of the element.<br>
dschulze@726 2059 If the attribute is not specified but at least one of the attributes <a
dschulze@726 2060 class=attr-name href="#MaskElementXAttribute">‘<code
dschulze@726 2061 class=property>x</code>’</a>, <a class=attr-name
dschulze@726 2062 href="#MaskElementYAttribute">‘<code class=property>y</code>’</a> or
dschulze@726 2063 <a class=attr-name href="#MaskElementHeightAttribute">‘<code
dschulze@726 2064 class=property>height</code>’</a> are specified, the effect is as if a
dschulze@726 2065 value of <span class=attr-value>‘<code class=css>120%</code>’</span>
dschulze@726 2066 were specified.<br>
dschulze@726 2067 <span class=anim-target>Animatable: yes.</span>
dschulze@343 2068
dschulze@343 2069 <dt id=MaskElementHeightAttribute><span class=adef>height</span> =
dschulze@343 2070 "<var>&lt;length&gt;</var> | <var>&lt;percentage&gt;</var>"
dschulze@273 2071
dschulze@273 2072 <dd>The height of the largest possible offscreen buffer.<br>
dschulze@279 2073 A negative value or a value of zero disables rendering of the
dschulze@279 2074 element.<br>
dschulze@726 2075 If the attribute is not specified but at least one of the attributes <a
dschulze@726 2076 class=attr-name href="#MaskElementXAttribute">‘<code
dschulze@726 2077 class=property>x</code>’</a>, <a class=attr-name
dschulze@726 2078 href="#MaskElementYAttribute">‘<code class=property>y</code>’</a> or
dschulze@726 2079 <a class=attr-name href="#MaskElementWidthAttribute">‘<code
dschulze@726 2080 class=property>width</code>’</a> are specified, the effect is as if a
dschulze@726 2081 value of <span class=attr-value>‘<code class=css>120%</code>’</span>
dschulze@726 2082 were specified.<br>
dschulze@343 2083 <span class=anim-target>Animatable: yes.</span>
dschulze@273 2084 </dl>
dschulze@273 2085 </div>
dschulze@273 2086
dschulze@726 2087 <p class=note>Note that if at least one of the attributes <a
dschulze@726 2088 class=attr-name href="#MaskElementXAttribute">‘<code
dschulze@726 2089 class=property>x</code>’</a>, <a class=attr-name
dschulze@726 2090 href="#MaskElementYAttribute">‘<code class=property>y</code>’</a>, <a
dschulze@726 2091 class=attr-name href="#MaskElementWidthAttribute">‘<code
dschulze@726 2092 class=property>width</code>’</a> or <a class=attr-name
dschulze@726 2093 href="#MaskElementHeightAttribute">‘<code
dschulze@726 2094 class=property>height</code>’</a> are specified, the given object and
dschulze@726 2095 the rectangle defined by <a class=attr-name
dschulze@726 2096 href="#MaskElementXAttribute">‘<code class=property>x</code>’</a>, <a
dschulze@726 2097 class=attr-name href="#MaskElementYAttribute">‘<code
dschulze@726 2098 class=property>y</code>’</a>, <a class=attr-name
dschulze@726 2099 href="#MaskElementWidthAttribute">‘<code
dschulze@726 2100 class=property>width</code>’</a> and <a class=attr-name
dschulze@726 2101 href="#MaskElementHeightAttribute">‘<code
dschulze@727 2102 class=property>height</code>’</a> establish a current clipping path. The
dschulze@727 2103 rendered content of the mask must be clipped by this current clipping
dschulze@726 2104 path.
dschulze@726 2105
dschulze@726 2106 <p>
dschulze@726 2107
dschulze@551 2108 <p>CSS properties inherit into the <a class=element-name
dschulze@551 2109 href="#MaskElement">‘<code class=property>mask</code>’</a> element
dschulze@551 2110 from its ancestors; properties do <em>not</em> inherit from the element
dschulze@551 2111 referencing the <a class=element-name href="#MaskElement">‘<code
dschulze@551 2112 class=property>mask</code>’</a> element.
dschulze@551 2113
dschulze@551 2114 <p><a class=element-name href="#MaskElement">‘<code
dschulze@551 2115 class=property>mask</code>’</a> elements are never rendered directly;
dschulze@551 2116 their only usage is as something that can be referenced using the ‘<a
dschulze@551 2117 href="#mask"><code class=property>mask</code></a>’ property. The
dschulze@551 2118 ‘<code class=property>opacity</code>’, ‘<code
dschulze@551 2119 class=property>filter</code>’ and ‘<code
dschulze@551 2120 class=property>display</code>’ properties do not apply to the <a
dschulze@551 2121 class=element-name href="#MaskElement">‘<code
dschulze@551 2122 class=property>mask</code>’</a> element; thus, <a class=element-name
dschulze@551 2123 href="#MaskElement">‘<code class=property>mask</code>’</a> elements
dschulze@551 2124 are not directly rendered even if the ‘<code
dschulze@551 2125 class=property>display</code>’ property is set to a value other than
dschulze@551 2126 ‘<a href="#none"><code class=property>none</code></a>’, and <a
dschulze@551 2127 class=element-name href="#MaskElement">‘<code
dschulze@551 2128 class=property>mask</code>’</a> elements are available for referencing
dschulze@551 2129 even when the ‘<code class=property>display</code>’ property on the <a
dschulze@551 2130 class=element-name href="#MaskElement">‘<code
dschulze@551 2131 class=property>mask</code>’</a> element or any of its ancestors is set
dschulze@551 2132 to <a class=prop-value href="#none">none</a>.
dschulze@278 2133
dschulze@292 2134 <h2 id=mask-box-image><span class=secno>7. </span>Mask Box Image</h2>
dschulze@292 2135
dschulze@342 2136 <p> With ‘<a href="#mask-box-image0"><code
birtles@466 2137 class=property>mask-box-image</code></a>’ a mask can be split into nine
birtles@466 2138 pieces: four corners, four edges and the middle piece as demonstrated in
birtles@466 2139 the figure below.
dschulze@342 2140
dschulze@342 2141 <div class=figure> <img alt="pieces of a mask box image"
dschulze@342 2142 src="images/mask-box-image-mask.svg" width=240>
dschulze@427 2143 <p class=caption> Pieces of a mask box image.
dschulze@342 2144 </div>
dschulze@342 2145
dschulze@342 2146 <p> These pieces may be sliced, scaled and stretched in various ways to fit
dschulze@342 2147 the size of the <span class=index id=mask-image-area>mask image
dschulze@659 2148 area</span>. The usage of ‘<a href="#mask-box-image0"><code
dschulze@659 2149 class=property>mask-box-image</code></a>’ corresponds to the ‘<code
dschulze@659 2150 class=property>border-image</code>’ property of CSS Background and
dschulze@659 2151 Borders <a href="#CSS3BG" rel=biblioentry>[CSS3BG]<!--{{!CSS3BG}}--></a>.
dschulze@299 2152
dschulze@313 2153 <div class=example>
birtles@436 2154 <p> The mask image in the following example is split into four corners
birtles@436 2155 with dimensions of 75 pixels, four edges and the middle piece that is
birtles@436 2156 stretched and scaled.
dschulze@342 2157
dschulze@313 2158 <div class=figure> <img alt="Example for 'mask-box-image'" height=240
dschulze@313 2159 src="images/mask-box-image.svg" width=720>
dschulze@342 2160 <p class=caption> Example for ‘<a href="#mask-box-image0"><code
dschulze@313 2161 class=property>mask-box-image</code></a>’. The object on the left is
dschulze@313 2162 the object to mask. The second image is the alpha mask and the last
dschulze@427 2163 image the masked object.
dschulze@313 2164 </div>
dschulze@313 2165
dschulze@470 2166 <pre>
dschulze@470 2167 div {
dschulze@470 2168 background: linear-gradient(bottom, #F27BAA 0%, #FCC8AD 100%);
dschulze@470 2169 mask-box-image-slice: 25 fill;
dschulze@470 2170 mask-box-image-repeat: stretch;
dschulze@470 2171 mask-box-image-source: url(mask.png);
dschulze@313 2172 }</pre>
dschulze@313 2173 </div>
dschulze@313 2174
dschulze@299 2175 <h3 id=the-mask-box-image-source><span class=secno>7.1. </span>The ‘<a
dschulze@299 2176 href="#mask-box-image-source"><code
dschulze@299 2177 class=property>mask-box-image-source</code></a>’ property</h3>
dschulze@299 2178
dschulze@299 2179 <table class=propdef>
dschulze@299 2180 <tbody>
dschulze@299 2181 <tr>
dschulze@299 2182 <th>Name:
dschulze@299 2183
dschulze@299 2184 <td><dfn id=mask-box-image-source>mask-box-image-source</dfn>
dschulze@299 2185
dschulze@299 2186 <tr>
dschulze@299 2187 <th><a href="#values">Value</a>:
dschulze@299 2188
dschulze@299 2189 <td><a href="#ltmask-imagegt"><var>&lt;mask-image&gt;</var></a>
dschulze@299 2190
dschulze@299 2191 <tr>
dschulze@299 2192 <th>Initial:
dschulze@299 2193
dschulze@299 2194 <td>none
dschulze@299 2195
dschulze@299 2196 <tr>
dschulze@299 2197 <th>Applies to:
dschulze@299 2198
dschulze@551 2199 <td>All elements. In SVG, it applies to <a
dschulze@551 2200 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermContainerElement">container
dschulze@551 2201 elements</a> and <a
dschulze@551 2202 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermGraphicsElement">graphics
dschulze@551 2203 elements</a>.
dschulze@299 2204
dschulze@299 2205 <tr>
dschulze@299 2206 <th>Inherited:
dschulze@299 2207
dschulze@299 2208 <td>no
dschulze@299 2209
dschulze@299 2210 <tr>
dschulze@299 2211 <th>Percentages:
dschulze@299 2212
dschulze@299 2213 <td>N/A
dschulze@299 2214
dschulze@299 2215 <tr>
dschulze@299 2216 <th>Media:
dschulze@299 2217
dschulze@299 2218 <td>visual
dschulze@299 2219
dschulze@299 2220 <tr>
dschulze@299 2221 <th>Computed value:
dschulze@299 2222
dschulze@299 2223 <td>‘<a href="#none"><code class=css>none</code></a>’ or the image
dschulze@299 2224 with its URI made absolute
dschulze@299 2225
dschulze@299 2226 <tr>
dschulze@299 2227 <th>Animatable:
dschulze@299 2228
dschulze@299 2229 <td>no
dschulze@299 2230 </table>
dschulze@299 2231
dschulze@301 2232 <p>Specifies an image to be used as mask. If the value is ‘<a
dschulze@301 2233 href="#none"><code class=css>none</code></a>’ or if the image cannot be
dschulze@301 2234 displayed (or the property doesn't apply), the content won't get masked.
dschulze@301 2235
dschulze@299 2236 <h3 id=the-mask-box-image-slice><span class=secno>7.2. </span>The ‘<a
dschulze@299 2237 href="#mask-box-image-slice"><code
dschulze@299 2238 class=property>mask-box-image-slice</code></a>’ property</h3>
dschulze@299 2239
dschulze@299 2240 <table class=propdef>
dschulze@299 2241 <tbody>
dschulze@299 2242 <tr>
dschulze@299 2243 <th>Name:
dschulze@299 2244
dschulze@299 2245 <td><dfn id=mask-box-image-slice>mask-box-image-slice</dfn>
dschulze@299 2246
dschulze@299 2247 <tr>
dschulze@299 2248 <th><a href="#values">Value</a>:
dschulze@299 2249
dschulze@299 2250 <td>[<var>&lt;number&gt;</var> | <var>&lt;percentage&gt;</var>]{1,4}
dschulze@299 2251 &amp;&amp; fill?
dschulze@299 2252
dschulze@299 2253 <tr>
dschulze@299 2254 <th>Initial:
dschulze@299 2255
dschulze@301 2256 <td>0 fill
dschulze@299 2257
dschulze@299 2258 <tr>
dschulze@299 2259 <th>Applies to:
dschulze@299 2260
dschulze@551 2261 <td>All elements. In SVG, it applies to <a
dschulze@551 2262 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermContainerElement">container
dschulze@551 2263 elements</a> and <a
dschulze@551 2264 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermGraphicsElement">graphics
dschulze@551 2265 elements</a>.
dschulze@299 2266
dschulze@299 2267 <tr>
dschulze@299 2268 <th>Inherited:
dschulze@299 2269
dschulze@299 2270 <td>no
dschulze@299 2271
dschulze@299 2272 <tr>
dschulze@299 2273 <th>Percentages:
dschulze@299 2274
dschulze@451 2275 <td>refer to size of the mask image
dschulze@299 2276
dschulze@299 2277 <tr>
dschulze@299 2278 <th>Media:
dschulze@299 2279
dschulze@299 2280 <td>visual
dschulze@299 2281
dschulze@299 2282 <tr>
dschulze@299 2283 <th>Computed value:
dschulze@299 2284
dschulze@299 2285 <td>as specified
dschulze@299 2286
dschulze@299 2287 <tr>
dschulze@299 2288 <th>Animatable:
dschulze@299 2289
dschulze@299 2290 <td>no
dschulze@299 2291 </table>
dschulze@299 2292
dschulze@301 2293 <p>This property specifies inward offsets from the top, right, bottom, and
dschulze@301 2294 left edges of the mask image, dividing it into nine regions: four corners,
dschulze@301 2295 four edges and a middle. The middle image part is discarded (treated as
dschulze@659 2296 fully transparent black) unless the ‘<code class=css>fill</code>’
dschulze@301 2297 keyword is present.
dschulze@301 2298
dschulze@659 2299 <p>See <a
dschulze@659 2300 href="http://www.w3.org/TR/css3-background/#the-border-image-slice">Image
dschulze@659 2301 Slicing: the ‘<code class=property>border-image-slice</code>’
dschulze@659 2302 property</a> <a href="#CSS3BG"
dschulze@659 2303 rel=biblioentry>[CSS3BG]<!--{{!CSS3BG}}--></a> for the defintions of the
dschulze@659 2304 property values.
dschulze@301 2305
dschulze@299 2306 <h3 id=the-mask-box-image-width><span class=secno>7.3. </span>The ‘<a
dschulze@299 2307 href="#mask-box-image-width"><code
dschulze@299 2308 class=property>mask-box-image-width</code></a>’ property</h3>
dschulze@299 2309
dschulze@299 2310 <table class=propdef>
dschulze@299 2311 <tbody>
dschulze@299 2312 <tr>
dschulze@299 2313 <th>Name:
dschulze@299 2314
dschulze@299 2315 <td><dfn id=mask-box-image-width>mask-box-image-width</dfn>
dschulze@299 2316
dschulze@299 2317 <tr>
dschulze@299 2318 <th><a href="#values">Value</a>:
dschulze@299 2319
dschulze@299 2320 <td>[ <var>&lt;length&gt;</var> | <var>&lt;percentage&gt;</var> |
dschulze@299 2321 <var>&lt;number&gt;</var> | auto ]{1,4}
dschulze@299 2322
dschulze@299 2323 <tr>
dschulze@299 2324 <th>Initial:
dschulze@299 2325
dschulze@301 2326 <td>auto
dschulze@299 2327
dschulze@299 2328 <tr>
dschulze@299 2329 <th>Applies to:
dschulze@299 2330
dschulze@551 2331 <td>All elements. In SVG, it applies to <a
dschulze@551 2332 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermContainerElement">container
dschulze@551 2333 elements</a> and <a
dschulze@551 2334 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermGraphicsElement">graphics
dschulze@551 2335 elements</a>.
dschulze@299 2336
dschulze@299 2337 <tr>
dschulze@299 2338 <th>Inherited:
dschulze@299 2339
dschulze@299 2340 <td>no
dschulze@299 2341
dschulze@299 2342 <tr>
dschulze@299 2343 <th>Percentages:
dschulze@299 2344
dschulze@451 2345 <td>relative to width/height of the <a
dschulze@301 2346 href="#mask-box-image-area"><em>mask box image area</em></a>
dschulze@299 2347
dschulze@299 2348 <tr>
dschulze@299 2349 <th>Media:
dschulze@299 2350
dschulze@299 2351 <td>visual
dschulze@299 2352
dschulze@299 2353 <tr>
dschulze@299 2354 <th>Computed value:
dschulze@299 2355
dschulze@299 2356 <td>all <var>&lt;length&gt;</var>s made absolute, otherwise as specified
dschulze@299 2357
dschulze@299 2358 <tr>
dschulze@299 2359 <th>Animatable:
dschulze@299 2360
dschulze@299 2361 <td>no
dschulze@299 2362 </table>
dschulze@299 2363
dschulze@301 2364 <p>The mask image is drawn inside an area called the <a
dschulze@301 2365 href="#mask-box-image-area"><em>mask box image area</em></a>. This is an
dschulze@301 2366 area whose boundaries by default correspond to the mask box, see ‘<a
dschulze@301 2367 href="#mask-box-image-outset"><code
dschulze@301 2368 class=property>mask-box-image-outset</code></a>’.
dschulze@301 2369
dschulze@659 2370 <p>See <a
dschulze@659 2371 href="http://www.w3.org/TR/css3-background/#the-border-image-width">Drawing
dschulze@659 2372 Areas: the ‘border-image-width’ property</a> <a href="#CSS3BG"
dschulze@659 2373 rel=biblioentry>[CSS3BG]<!--{{!CSS3BG}}--></a> for the defintions of the
dschulze@659 2374 property values.
dschulze@301 2375
birtles@466 2376 <p class=note> Note that for SVG elements without an associated layout box
birtles@466 2377 the ‘<code class=property>border-width</code>’ is considered to be
dschulze@453 2378 ‘<code class=css>0</code>’.
dschulze@301 2379
dschulze@299 2380 <h3 id=the-mask-box-image-outset><span class=secno>7.4. </span>The ‘<a
dschulze@299 2381 href="#mask-box-image-outset"><code
dschulze@299 2382 class=property>mask-box-image-outset</code></a>’ property</h3>
dschulze@299 2383
dschulze@299 2384 <table class=propdef>
dschulze@299 2385 <tbody>
dschulze@299 2386 <tr>
dschulze@299 2387 <th>Name:
dschulze@299 2388
dschulze@299 2389 <td><dfn id=mask-box-image-outset>mask-box-image-outset</dfn>
dschulze@299 2390
dschulze@299 2391 <tr>
dschulze@299 2392 <th><a href="#values">Value</a>:
dschulze@299 2393
dschulze@299 2394 <td>[ <var>&lt;length&gt;</var> | <var>&lt;number&gt;</var> ]{1,4}
dschulze@299 2395
dschulze@299 2396 <tr>
dschulze@299 2397 <th>Initial:
dschulze@299 2398
dschulze@299 2399 <td>0
dschulze@299 2400
dschulze@299 2401 <tr>
dschulze@299 2402 <th>Applies to:
dschulze@299 2403
dschulze@551 2404 <td>All elements. In SVG, it applies to <a
dschulze@551 2405 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermContainerElement">container
dschulze@551 2406 elements</a> and <a
dschulze@551 2407 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermGraphicsElement">graphics
dschulze@551 2408 elements</a>.
dschulze@299 2409
dschulze@299 2410 <tr>
dschulze@299 2411 <th>Inherited:
dschulze@299 2412
dschulze@299 2413 <td>no
dschulze@299 2414
dschulze@299 2415 <tr>
dschulze@299 2416 <th>Percentages:
dschulze@299 2417
dschulze@299 2418 <td>N/A
dschulze@299 2419
dschulze@299 2420 <tr>
dschulze@299 2421 <th>Media:
dschulze@299 2422
dschulze@299 2423 <td>visual
dschulze@299 2424
dschulze@299 2425 <tr>
dschulze@299 2426 <th>Computed value:
dschulze@299 2427
dschulze@299 2428 <td>all <var>&lt;length&gt;</var>s made absolute, otherwise as specified
dschulze@299 2429
dschulze@299 2430 <tr>
dschulze@299 2431 <th>Animatable:
dschulze@299 2432
dschulze@299 2433 <td>no
dschulze@299 2434 </table>
dschulze@299 2435
dschulze@301 2436 <p>The values specify the amount by which the <dfn
dschulze@301 2437 id=mask-box-image-area>mask box image area</dfn> extends beyond the border
dschulze@301 2438 box. If it has four values, they set the outsets on the top, right, bottom
dschulze@301 2439 and left sides in that order. If the left is missing, it is the same as
dschulze@301 2440 the right; if the bottom is missing, it is the same as the top; if the
dschulze@301 2441 right is missing, it is the same as the top.
dschulze@301 2442
dschulze@301 2443 <p>As with ‘<a href="#mask-box-image-width"><code
dschulze@301 2444 class=property>mask-box-image-width</code></a>’, a &lt;number&gt;
dschulze@343 2445 represents a multiple of the corresponding ‘<code
dschulze@343 2446 class=property>border-width</code>’. Negative values are not allowed for
dschulze@343 2447 any of the ‘<a href="#mask-box-image-outset"><code
dschulze@301 2448 class=property>mask-box-image-outset</code></a>’ values.
dschulze@301 2449
dschulze@453 2450 <p class=note>Note that for SVG elements without associated layout box the
dschulze@453 2451 ‘<code class=property>border-width</code>’ is considered to be
dschulze@453 2452 ‘<code class=css>0</code>’.
dschulze@301 2453
dschulze@299 2454 <h3 id=the-mask-box-image-repeat><span class=secno>7.5. </span>The ‘<a
dschulze@299 2455 href="#mask-box-image-repeat"><code
dschulze@299 2456 class=property>mask-box-image-repeat</code></a>’ property</h3>
dschulze@299 2457
dschulze@299 2458 <table class=propdef>
dschulze@299 2459 <tbody>
dschulze@299 2460 <tr>
dschulze@299 2461 <th>Name:
dschulze@299 2462
dschulze@299 2463 <td><dfn id=mask-box-image-repeat>mask-box-image-repeat</dfn>
dschulze@299 2464
dschulze@299 2465 <tr>
dschulze@299 2466 <th><a href="#values">Value</a>:
dschulze@299 2467
dschulze@299 2468 <td>[ stretch | repeat | round | space ]{1,2}
dschulze@299 2469
dschulze@299 2470 <tr>
dschulze@299 2471 <th>Initial:
dschulze@299 2472
dschulze@299 2473 <td>stretch
dschulze@299 2474
dschulze@299 2475 <tr>
dschulze@299 2476 <th>Applies to:
dschulze@299 2477
dschulze@551 2478 <td>All elements. In SVG, it applies to <a
dschulze@551 2479 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermContainerElement">container
dschulze@551 2480 elements</a> and <a
dschulze@551 2481 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermGraphicsElement">graphics
dschulze@551 2482 elements</a>.
dschulze@299 2483
dschulze@299 2484 <tr>
dschulze@299 2485 <th>Inherited:
dschulze@299 2486
dschulze@299 2487 <td>no
dschulze@299 2488
dschulze@299 2489 <tr>
dschulze@299 2490 <th>Percentages:
dschulze@299 2491
dschulze@299 2492 <td>N/A
dschulze@299 2493
dschulze@299 2494 <tr>
dschulze@299 2495 <th>Media:
dschulze@299 2496
dschulze@299 2497 <td>visual
dschulze@299 2498
dschulze@299 2499 <tr>
dschulze@299 2500 <th>Computed value:
dschulze@299 2501
dschulze@299 2502 <td>as specified
dschulze@299 2503
dschulze@299 2504 <tr>
dschulze@299 2505 <th>Animatable:
dschulze@299 2506
dschulze@299 2507 <td>no
dschulze@299 2508 </table>
dschulze@299 2509
dschulze@301 2510 <p>This property specifies how the images for the sides and the middle part
dschulze@301 2511 of the mask image are scaled and tiled. The first keyword applies to the
dschulze@301 2512 horizontal sides, the second to the vertical ones. If the second keyword
dschulze@659 2513 is absent, it is assumed to be the same as the first.
dschulze@659 2514
dschulze@659 2515 <p>See <a
dschulze@659 2516 href="http://www.w3.org/TR/css3-background/#the-border-image-repeat">Image
dschulze@659 2517 Tiling: the ‘<code class=property>border-image-repeat</code>’
dschulze@659 2518 property</a> <a href="#CSS3BG"
dschulze@659 2519 rel=biblioentry>[CSS3BG]<!--{{!CSS3BG}}--></a> for the defintions of the
dschulze@659 2520 property values.
dschulze@659 2521
dschulze@659 2522 <p>The exact process for scaling and tiling the mask box image parts is
dschulze@659 2523 given in the section <a href="#masking-with-the-mask-box-image">Masking
dschulze@659 2524 with the mask-box-image</a>.
dschulze@301 2525
dschulze@299 2526 <h3 id=the-mask-box-image><span class=secno>7.6. </span>The ‘<a
dschulze@299 2527 href="#mask-box-image0"><code class=property>mask-box-image</code></a>’
dschulze@299 2528 property</h3>
dschulze@299 2529
dschulze@299 2530 <table class=propdef>
dschulze@299 2531 <tbody>
dschulze@299 2532 <tr>
dschulze@299 2533 <th>Name:
dschulze@299 2534
dschulze@299 2535 <td><dfn id=mask-box-image0>mask-box-image</dfn>
dschulze@299 2536
dschulze@299 2537 <tr>
dschulze@299 2538 <th><a href="#values">Value</a>:
dschulze@299 2539
dschulze@299 2540 <td> <var>&lt;‘<a href="#mask-box-image-source"><code
dschulze@299 2541 class=property>mask-box-image-source</code></a>’&gt;</var> ||
dschulze@299 2542 <var>&lt;‘<a href="#mask-box-image-slice"><code
dschulze@299 2543 class=property>mask-box-image-slice</code></a>’&gt;</var> [ /
dschulze@299 2544 <var>&lt;‘<a href="#mask-box-image-width"><code
dschulze@299 2545 class=property>mask-box-image-width</code></a>’&gt;</var> | /
dschulze@299 2546 <var>&lt;‘<a href="#mask-box-image-width"><code
dschulze@299 2547 class=property>mask-box-image-width</code></a>’&gt;</var>? /
dschulze@299 2548 <var>&lt;‘<a href="#mask-box-image-outset"><code
dschulze@299 2549 class=property>mask-box-image-outset</code></a>’&gt;</var> ]? ||
dschulze@299 2550 <var>&lt;‘<a href="#mask-box-image-repeat"><code
dschulze@299 2551 class=property>mask-box-image-repeat</code></a>’&gt;</var>
dschulze@299 2552
dschulze@299 2553 <tr>
dschulze@299 2554 <th>Initial:
dschulze@299 2555
dschulze@299 2556 <td>See individual properties
dschulze@299 2557
dschulze@299 2558 <tr>
dschulze@299 2559 <th>Applies to:
dschulze@299 2560
dschulze@299 2561 <td>See individual properties
dschulze@299 2562
dschulze@299 2563 <tr>
dschulze@299 2564 <th>Inherited:
dschulze@299 2565
dschulze@299 2566 <td>no
dschulze@299 2567
dschulze@299 2568 <tr>
dschulze@299 2569 <th>Percentages:
dschulze@299 2570
dschulze@299 2571 <td>N/A
dschulze@299 2572
dschulze@299 2573 <tr>
dschulze@299 2574 <th>Media:
dschulze@299 2575
dschulze@299 2576 <td>visual
dschulze@299 2577
dschulze@299 2578 <tr>
dschulze@299 2579 <th>Computed value:
dschulze@299 2580
dschulze@299 2581 <td>See individual properties
dschulze@299 2582
dschulze@299 2583 <tr>
dschulze@299 2584 <th>Animatable:
dschulze@299 2585
dschulze@299 2586 <td>See individual properties
dschulze@299 2587 </table>
dschulze@298 2588
dschulze@301 2589 <p>This is a shorthand property for setting ‘<a
dschulze@301 2590 href="#mask-box-image-source"><code
dschulze@301 2591 class=property>mask-box-image-source</code></a>’, ‘<a
dschulze@301 2592 href="#mask-box-image-slice"><code
dschulze@301 2593 class=property>mask-box-image-slice</code></a>’, ‘<a
dschulze@301 2594 href="#mask-box-image-width"><code
dschulze@301 2595 class=property>mask-box-image-width</code></a>’, ‘<a
dschulze@301 2596 href="#mask-box-image-outset"><code
dschulze@301 2597 class=property>mask-box-image-outset</code></a>’ and ‘<a
dschulze@301 2598 href="#mask-box-image-repeat"><code
dschulze@301 2599 class=property>mask-box-image-repeat</code></a>’. Omitted values are set
dschulze@301 2600 to their initial values.
dschulze@301 2601
dschulze@453 2602 <h3 id=masking-with-the-mask-box-image><span class=secno>7.7.
dschulze@453 2603 </span>Masking with the mask-box-image</h3>
dschulze@453 2604
dschulze@453 2605 <p> After the mask-box-image given by ‘<a
dschulze@453 2606 href="#mask-box-image-source"><code
dschulze@453 2607 class=property>mask-box-image-source</code></a>’ is sliced by the ‘<a
dschulze@453 2608 href="#mask-box-image-slice"><code
dschulze@453 2609 class=property>mask-box-image-slice</code></a>’ values, the resulting
dschulze@453 2610 nine images are scaled, positioned, and tiled into their corresponding
dschulze@659 2611 mask image regions in four steps as described in the section <a
dschulze@659 2612 href="http://www.w3.org/TR/css3-background/#border-image-process">Drawing
dschulze@659 2613 the Border Image</a> <a href="#CSS3BG"
dschulze@659 2614 rel=biblioentry>[CSS3BG]<!--{{!CSS3BG}}--></a>.
dschulze@301 2615
dschulze@298 2616 <h2 id=clipping-paths><span class=secno>8. </span>Clipping paths</h2>
dschulze@298 2617
birtles@466 2618 <p> The clipping path restricts the region to which paint can be applied,
birtles@466 2619 the so-called clipping region. Conceptually, any parts of the drawing that
birtles@466 2620 lie outside of this region are not drawn. This includes any content,
birtles@466 2621 background, borders, text decoration, outline and visible scrolling
birtles@466 2622 mechanism of the element to which the clipping path is applied, and those
birtles@466 2623 of its descendants.
birtles@466 2624
birtles@466 2625 <p> An element's ancestors may also clip portions of their content (e.g.,
dschulze@460 2626 via their own ‘<a href="#ClipProperty"><code
dschulze@460 2627 class=property>clip</code></a>’ or ‘<a href="#clip-path"><code
dschulze@460 2628 class=property>clip-path</code></a>’ properties and/or if their ‘<code
dschulze@460 2629 class=property>overflow</code>’ property is not ‘<code
birtles@466 2630 class=css>visible</code>’). What is rendered is the cumulative
dschulze@460 2631 intersection.
dschulze@460 2632
dschulze@460 2633 <p> If the clipping region exceeds the bounds of the UA's document window,
dschulze@460 2634 content may be clipped to that window by the native operating environment.
dschulze@298 2635
dschulze@298 2636 <h3 id=the-clip-path><span class=secno>8.1. </span>The ‘<a
dschulze@298 2637 href="#clip-path"><code class=property>clip-path</code></a>’ property</h3>
dschulze@298 2638
dschulze@298 2639 <table class=propdef>
dschulze@298 2640 <tbody>
dschulze@298 2641 <tr>
dschulze@298 2642 <th>Name:
dschulze@298 2643
dschulze@298 2644 <td><dfn id=clip-path>clip-path</dfn>
dschulze@298 2645
dschulze@298 2646 <tr>
dschulze@298 2647 <th>Value:
dschulze@298 2648
dschulze@338 2649 <td><a href="#ltshapegt"><var>&lt;shape&gt;</var></a> | <a
dschulze@338 2650 href="#ltclip-sourcegt"><var>&lt;clip-source&gt;</var></a> | none
dschulze@298 2651
dschulze@298 2652 <tr>
dschulze@298 2653 <th>Initial:
dschulze@298 2654
dschulze@298 2655 <td>none
dschulze@298 2656
dschulze@298 2657 <tr>
dschulze@298 2658 <th>Applies to:
dschulze@298 2659
dschulze@551 2660 <td>All elements. SVG <a
dschulze@551 2661 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermContainerElement">container
dschulze@551 2662 elements</a>, <a
dschulze@551 2663 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermGraphicsElement">graphics
dschulze@551 2664 elements</a> and <a class=element-name href="#ClipPathElement">‘<code
dschulze@551 2665 class=property>clipPath</code>’</a>
dschulze@298 2666
dschulze@298 2667 <tr>
dschulze@298 2668 <th>Inherited:
dschulze@298 2669
dschulze@298 2670 <td>no
dschulze@298 2671
dschulze@298 2672 <tr>
dschulze@298 2673 <th>Percentages:
dschulze@298 2674
dschulze@338 2675 <td>as specified
dschulze@298 2676
dschulze@298 2677 <tr>
dschulze@298 2678 <th>Media:
dschulze@298 2679
dschulze@298 2680 <td>visual
dschulze@298 2681
dschulze@298 2682 <tr>
dschulze@342 2683 <th>Computed value:
dschulze@298 2684
dschulze@452 2685 <td>as specified, but with <a href="#lturlgt"><var>&lt;url&gt;</var></a>
dschulze@402 2686 values made absolute
dschulze@298 2687
dschulze@298 2688 <tr>
birtles@440 2689 <th>Animatable:
dschulze@298 2690
dschulze@731 2691 <td>See <a
dschulze@731 2692 href="http://dev.w3.org/csswg/css3-exclusions/#shape-inside">‘<code
dschulze@731 2693 class=property>shape-inside</code>’</a> and <a
dschulze@731 2694 href="http://dev.w3.org/csswg/css3-exclusions/#shape-outside">‘<code
dschulze@731 2695 class=property>shape-outside</code>’</a> <a href="#CSS3-EXCLUSIONS"
dschulze@731 2696 rel=biblioentry>[CSS3-EXCLUSIONS]<!--{{!CSS3-EXCLUSIONS}}--></a>
dschulze@298 2697 </table>
dschulze@298 2698
dschulze@452 2699 <pre class=prod><dfn id=ltclip-sourcegt>&lt;clip-source&gt;</dfn> = <a
birtles@697 2700 href="#lturlgt"><var>&lt;url&gt;</var></a> | <var>child</var> | <a
birtles@697 2701 href="#ltchild-selectorgt"><var>&lt;child-selector&gt;</var></a>
dschulze@453 2702 </pre>
dschulze@338 2703
dschulze@298 2704 <dl>
dschulze@338 2705 <dt> <dfn id=ltshapegt>‘<code class=css>&lt;shape&gt;</code>’</dfn>
dschulze@338 2706
dschulze@552 2707 <dd> A basic shape function as defined in CSS3 Exclusions. The origin of
dschulze@552 2708 clipping shapes is on the top left of the <a class=index
dschulze@338 2709 href="#bounding-client-rect" id=bounding-client-rect0>bounding client
dschulze@552 2710 rect</a>. Percentage values are resolved against the <a class=index
dschulze@552 2711 href="#bounding-client-rect" id=bounding-client-rect1>bounding client
dschulze@552 2712 rect</a> width and height. (See <a href="#CSS3-EXCLUSIONS"
dschulze@342 2713 rel=biblioentry>[CSS3-EXCLUSIONS]<!--{{!CSS3-EXCLUSIONS}}--></a>.)
birtles@697 2714
birtles@697 2715 <dt>‘<code class=css>child</code>’
birtles@697 2716
dschulze@698 2717 <dd> A keyword to indicate that the last direct sibling <a
dschulze@698 2718 class=element-name href="#ClipPathElement">‘<code
dschulze@698 2719 class=property>clipPath</code>’</a> element of the element the ‘<a
dschulze@698 2720 href="#clip-path"><code class=property>clip-path</code></a>’ property
dschulze@698 2721 is applied should be used as the clip source. It is equivalent to
dschulze@698 2722 ‘<code class=css>select(clipPath:last-of-type)</code>’.
birtles@697 2723
birtles@697 2724 <dt>‘<a href="#ltchild-selectorgt"><code
birtles@697 2725 class=css>&lt;child-selector&gt;</code></a>’
birtles@697 2726
birtles@697 2727 <dd> A comma-separated list of <a
birtles@697 2728 href="http://dev.w3.org/csswg/selectors4/#compound">compound
birtles@697 2729 selector</a>s scoped at the element to which the ‘<a
birtles@697 2730 href="#clip-path"><code class=property>clip-path</code></a>’ property
birtles@697 2731 is applied. The first matching element in <a
birtles@697 2732 href="http://www.w3.org/TR/2012/WD-dom-20120405/#concept-tree-order">tree
birtles@697 2733 order</a> (as defined in <a href="#DOM"
birtles@697 2734 rel=biblioentry>[DOM]<!--{{!DOM}}--></a>) as a result of evaluating the
birtles@697 2735 list of selectors is taken as the clip source. If there are no matching
birtles@697 2736 elements the clip source is invalid.
dschulze@298 2737 </dl>
dschulze@298 2738
dschulze@298 2739 <h3 id=the-clip-rule><span class=secno>8.2. </span>The ‘<a
dschulze@298 2740 href="#clip-rule"><code class=property>clip-rule</code></a>’ property</h3>
dschulze@298 2741
dschulze@298 2742 <table class=propdef>
dschulze@298 2743 <tbody>
dschulze@298 2744 <tr>
dschulze@298 2745 <th>Name:
dschulze@298 2746
dschulze@298 2747 <td><dfn id=clip-rule>clip-rule</dfn>
dschulze@298 2748
dschulze@298 2749 <tr>
dschulze@298 2750 <th>Value:
dschulze@298 2751
dschulze@298 2752 <td>nonzero | evenodd
dschulze@298 2753
dschulze@298 2754 <tr>
dschulze@298 2755 <th>Initial:
dschulze@298 2756
dschulze@298 2757 <td>nonzero
dschulze@298 2758
dschulze@298 2759 <tr>
dschulze@298 2760 <th>Applies to:
dschulze@298 2761
dschulze@551 2762 <td><a
dschulze@551 2763 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermGraphicsElement">graphics
dschulze@551 2764 elements</a> within a <a class=element-name
dschulze@551 2765 href="#ClipPathElement">‘<code class=property>clipPath</code>’</a>
dschulze@551 2766 element
dschulze@298 2767
dschulze@298 2768 <tr>
dschulze@298 2769 <th>Inherited:
dschulze@298 2770
dschulze@298 2771 <td>yes
dschulze@298 2772
dschulze@298 2773 <tr>
dschulze@298 2774 <th>Percentages:
dschulze@298 2775
dschulze@298 2776 <td>N/A
dschulze@298 2777
dschulze@298 2778 <tr>
dschulze@298 2779 <th>Media:
dschulze@298 2780
dschulze@298 2781 <td>visual
dschulze@298 2782
dschulze@298 2783 <tr>
dschulze@551 2784 <th>Computed value:
dschulze@298 2785
dschulze@298 2786 <td>as specified
dschulze@298 2787
dschulze@298 2788 <tr>
birtles@440 2789 <th>Animatable:
dschulze@298 2790
dschulze@731 2791 <td>no
dschulze@298 2792 </table>
dschulze@298 2793
dschulze@298 2794 <dl>
dschulze@298 2795 <dt><dfn id=nonzero>‘<code class=css>nonzero</code>’</dfn>
dschulze@298 2796
dschulze@551 2797 <dd>See description of <a class=property
dschulze@551 2798 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#FillRuleProperty">‘<code
dschulze@551 2799 class=property>fill-rule</code>’</a> property <a href="#SVG11"
dschulze@551 2800 rel=biblioentry>[SVG11]<!--{{SVG11}}--></a>.
dschulze@298 2801
dschulze@298 2802 <dt><dfn id=evenodd>‘<code class=css>evenodd</code>’</dfn>
dschulze@298 2803
dschulze@551 2804 <dd>See description of <a class=property
dschulze@551 2805 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#FillRuleProperty">‘<code
dschulze@551 2806 class=property>fill-rule</code>’</a> property <a href="#SVG11"
dschulze@551 2807 rel=biblioentry>[SVG11]<!--{{SVG11}}--></a>.
dschulze@298 2808 </dl>
dschulze@298 2809
dschulze@298 2810 <p>The ‘<a href="#clip-rule"><code class=property>clip-rule</code></a>’
dschulze@551 2811 property only applies to graphics elements that are contained within a <a
dschulze@551 2812 class=element-name href="#ClipPathElement">‘<code
dschulze@551 2813 class=property>clipPath</code>’</a> element.
dschulze@298 2814
dschulze@298 2815 <div class=example> The following fragment of code will cause an evenodd
dschulze@298 2816 clipping rule to be applied to the clipping path because ‘<a
dschulze@298 2817 href="#clip-rule"><code class=property>clip-rule</code></a>’ is
dschulze@551 2818 specified on the <a class=element-name
dschulze@551 2819 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/paths.html#PathElement">‘<code
dschulze@551 2820 class=property>path</code>’</a> element that defines the clipping shape:
dschulze@551 2821
dschulze@470 2822 <pre>
dschulze@470 2823 &lt;g clip-rule="nonzero"&gt;
dschulze@470 2824 &lt;clipPath id="MyClip"&gt;
dschulze@470 2825 &lt;path d="..." clip-rule="evenodd" /&gt;
dschulze@470 2826 &lt;/clipPath&gt;
dschulze@470 2827 &lt;rect clip-path="url(#MyClip)" ... /&gt;
dschulze@470 2828 &lt;/g&gt;
dschulze@298 2829 </pre>
dschulze@298 2830
dschulze@298 2831 <p>whereas the following fragment of code will <em>not</em> cause an
dschulze@298 2832 evenodd clipping rule to be applied because the ‘<a
dschulze@298 2833 href="#clip-rule"><code class=property>clip-rule</code></a>’ is
dschulze@298 2834 specified on the referencing element, not on the object defining the
dschulze@427 2835 clipping shape:
dschulze@298 2836
dschulze@470 2837 <pre>
dschulze@470 2838 &lt;g clip-rule="nonzero"&gt;
dschulze@470 2839 &lt;clipPath id="MyClip"&gt;
dschulze@470 2840 &lt;path d="..." /&gt;
dschulze@470 2841 &lt;/clipPath&gt;
dschulze@470 2842 &lt;rect clip-path="url(#MyClip)" clip-rule="evenodd" ... /&gt;
dschulze@470 2843 &lt;/g&gt;
dschulze@298 2844 </pre>
dschulze@298 2845 </div>
dschulze@298 2846
dschulze@451 2847 <h3 id=clip-property><span class=secno>8.3. </span>The ‘<a
dschulze@451 2848 href="#ClipProperty"><code class=property>clip</code></a>’ property</h3>
dschulze@451 2849
dschulze@451 2850 <table class=propdef>
dschulze@451 2851 <tbody>
dschulze@451 2852 <tr>
dschulze@451 2853 <th>Name:
dschulze@451 2854
dschulze@451 2855 <td><dfn id=ClipProperty>clip</dfn>
dschulze@451 2856
dschulze@451 2857 <tr>
dschulze@451 2858 <th>Value:
dschulze@451 2859
dschulze@451 2860 <td><a href="#ltshapegt"><var>&lt;shape&gt;</var></a> | auto
dschulze@451 2861
dschulze@451 2862 <tr>
dschulze@451 2863 <th>Initial:
dschulze@451 2864
dschulze@451 2865 <td>see individual properties
dschulze@451 2866
dschulze@451 2867 <tr>
dschulze@451 2868 <th>Applies to:
dschulze@451 2869
dschulze@451 2870 <td>Absolutely positioned elements. In SVG, it applies to <a
dschulze@451 2871 href="http://www.w3.org/TR/SVG2/coords.html#EstablishingANewViewport">elements
dschulze@551 2872 which establish a new viewport</a>, <a class=element-name
dschulze@551 2873 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/pservers.html#PatternElement">‘<code
dschulze@551 2874 class=property>pattern</code>’</a> elements and <a class=element-name
dschulze@551 2875 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#MarkerElement">‘<code
dschulze@551 2876 class=property>marker</code>’</a> elements.
dschulze@451 2877
dschulze@451 2878 <tr>
dschulze@451 2879 <th>Inherited:
dschulze@451 2880
dschulze@451 2881 <td>no
dschulze@451 2882
dschulze@451 2883 <tr>
dschulze@451 2884 <th>Percentages:
dschulze@451 2885
dschulze@451 2886 <td>N/A
dschulze@451 2887
dschulze@451 2888 <tr>
dschulze@451 2889 <th>Media:
dschulze@451 2890
dschulze@451 2891 <td>visual
dschulze@451 2892
dschulze@451 2893 <tr>
dschulze@551 2894 <th>Computed value:
dschulze@451 2895
dschulze@451 2896 <td>as specified
dschulze@451 2897
dschulze@451 2898 <tr>
dschulze@451 2899 <th>Animatable:
dschulze@451 2900
dschulze@731 2901 <td>as <a
dschulze@731 2902 href="http://dev.w3.org/csswg/css3-transitions/#animtype-rect">rectangle</a>
dschulze@451 2903 </table>
dschulze@451 2904
dschulze@474 2905 <p class=note>With this specification the ‘<a href="#ClipProperty"><code
dschulze@474 2906 class=property>clip</code></a>’ property is deprecated. Authors are
dschulze@474 2907 encouraged to use the ‘<a href="#clip-path"><code
dschulze@474 2908 class=property>clip-path</code></a>’ property instead. UAs must support
dschulze@474 2909 the ‘<a href="#ClipProperty"><code class=property>clip</code></a>’
dschulze@474 2910 property.
dschulze@474 2911
dschulze@451 2912 <p> The ‘<a href="#ClipProperty"><code class=property>clip</code></a>’
dschulze@451 2913 property applies only to absolutely positioned elements. In SVG, it
dschulze@451 2914 applies to <a
dschulze@451 2915 href="http://www.w3.org/TR/SVG2/coords.html#EstablishingANewViewport">elements
dschulze@551 2916 which establish a new viewport</a>, <a class=element-name
dschulze@551 2917 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/pservers.html#PatternElement">‘<code
dschulze@551 2918 class=property>pattern</code>’</a> elements and <a class=element-name
dschulze@551 2919 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#MarkerElement">‘<code
dschulze@551 2920 class=property>marker</code>’</a> elements. Values have the following
dschulze@551 2921 meanings:
dschulze@451 2922
dschulze@451 2923 <dl>
dschulze@551 2924 <dt>‘<a href="#auto"><code class=css>auto</code></a>’
dschulze@451 2925
dschulze@451 2926 <dd>The element does not clip.
dschulze@451 2927
dschulze@451 2928 <dt><a href="#ltshapegt"><var>&lt;shape&gt;</var></a>
dschulze@451 2929
dschulze@451 2930 <dd>
dschulze@451 2931 <p> In CSS 2.1, the only valid &lt;shape&gt; value is: rect(<a
dschulze@451 2932 href="#lttopgt"><var>&lt;top&gt;</var></a>, <a
dschulze@451 2933 href="#ltrightgt"><var>&lt;right&gt;</var></a>, <a
dschulze@451 2934 href="#ltbottomgt"><var>&lt;bottom&gt;</var></a>, <a
dschulze@451 2935 href="#ltleftgt"><var>&lt;left&gt;</var></a>) where <a
dschulze@451 2936 href="#lttopgt"><var>&lt;top&gt;</var></a> and <a
dschulze@451 2937 href="#ltbottomgt"><var>&lt;bottom&gt;</var></a> specify offsets from
dschulze@451 2938 the top border edge of the box, and <a
dschulze@451 2939 href="#ltrightgt"><var>&lt;right&gt;</var></a>, and <a
dschulze@451 2940 href="#ltleftgt"><var>&lt;left&gt;</var></a> specify offsets from the
dschulze@451 2941 left border edge of the box. Authors should separate offset values with
dschulze@451 2942 commas. User agents must support separation with commas, but may also
dschulze@451 2943 support separation without commas (but not a combination), because a
dschulze@451 2944 previous revision of this specification was ambiguous in this respect.
dschulze@451 2945
dschulze@451 2946 <p><dfn id=lttopgt>&lt;top&gt;</dfn>, <dfn
dschulze@451 2947 id=ltrightgt>&lt;right&gt;</dfn>, <dfn
dschulze@451 2948 id=ltbottomgt>&lt;bottom&gt;</dfn>, and <dfn
dschulze@451 2949 id=ltleftgt>&lt;left&gt;</dfn> may either have a
dschulze@551 2950 <var>&lt;length&gt;</var> value or ‘<a href="#auto"><code
dschulze@551 2951 class=css>auto</code></a>’. Negative lengths are permitted. The value
dschulze@551 2952 ‘<a href="#auto"><code class=css>auto</code></a>’ means that a given
dschulze@551 2953 edge of the clipping region will be the same as the edge of the
dschulze@551 2954 element's generated border box (i.e., ‘<a href="#auto"><code
dschulze@551 2955 class=css>auto</code></a>’ means the same as ‘<code
dschulze@451 2956 class=css>0</code>’ for <a href="#lttopgt"><var>&lt;top&gt;</var></a>
dschulze@451 2957 and <a href="#ltleftgt"><var>&lt;left&gt;</var></a>, the same as the
dschulze@451 2958 used value of the height plus the sum of vertical padding and border
dschulze@451 2959 widths for <a href="#ltbottomgt"><var>&lt;bottom&gt;</var></a>, and the
dschulze@451 2960 same as the used value of the width plus the sum of the horizontal
dschulze@451 2961 padding and border widths for <a
dschulze@551 2962 href="#ltrightgt"><var>&lt;right&gt;</var></a>, such that four ‘<a
dschulze@551 2963 href="#auto"><code class=property>auto</code></a>’ values result in
dschulze@551 2964 the clipping region being the same as the element's border box).
dschulze@451 2965
dschulze@451 2966 <p> When coordinates are rounded to pixel coordinates, care should be
dschulze@451 2967 taken that no pixels remain visible when <a
dschulze@451 2968 href="#ltleftgt"><var>&lt;left&gt;</var></a> and <a
dschulze@451 2969 href="#ltrightgt"><var>&lt;right&gt;</var></a> have the same value (or
dschulze@451 2970 <a href="#lttopgt"><var>&lt;top&gt;</var></a> and <a
dschulze@451 2971 href="#ltbottomgt"><var>&lt;bottom&gt;</var></a> have the same value),
dschulze@451 2972 and conversely that no pixels within the element's border box remain
dschulze@551 2973 hidden when these values are ‘<a href="#auto"><code
dschulze@551 2974 class=css>auto</code></a>’.
dschulze@451 2975 </dl>
dschulze@451 2976
dschulze@451 2977 <div class=example>
dschulze@451 2978 <p> Example: The following two rules:
dschulze@451 2979
dschulze@470 2980 <pre><code>
dschulze@470 2981 p#one { clip: rect(5px, 40px, 45px, 5px); }
dschulze@451 2982 p#two { clip: rect(5px, 55px, 45px, 5px); }</code></pre>
dschulze@451 2983
dschulze@451 2984 <p> and assuming both Ps are 50 by 55 pixel, will create, respectively,
dschulze@451 2985 the rectangular clipping regions delimited by the dashed lines in the
dschulze@451 2986 following illustrations:
dschulze@451 2987
dschulze@451 2988 <div class=figure> <img alt="Values for rect shape" height=577
dschulze@451 2989 src="images/clip.png" width=292>
dschulze@451 2990 <p class=caption>This diagram illustrates two block boxes, one above the
dschulze@451 2991 other, with rectangular clipping regions of different dimensions. (See
dschulze@451 2992 <a href="http://www.w3.org/TR/CSS2/images/longdesc/clip-desc.html">long
dschulze@451 2993 description</a>.)
dschulze@451 2994 </div>
dschulze@451 2995 </div>
dschulze@451 2996
dschulze@551 2997 <h3 id=ClipPathElement><span class=secno>8.4. </span>The <a
dschulze@551 2998 class=element-name href="#ClipPathElement">‘<code
dschulze@551 2999 class=property>clipPath</code>’</a> element</h3>
dschulze@551 3000
dschulze@551 3001 <table class=propdef summary="clipPath element">
dschulze@551 3002 <tbody>
dschulze@551 3003 <tr>
dschulze@551 3004 <th>Name:
dschulze@551 3005
dschulze@551 3006 <td><dfn id=clippath>clipPath</dfn>
dschulze@551 3007
dschulze@551 3008 <tr>
dschulze@551 3009 <th>Categories:
dschulze@551 3010
dschulze@551 3011 <td>None.
dschulze@551 3012
dschulze@551 3013 <tr>
dschulze@551 3014 <th>Content model:
dschulze@551 3015
dschulze@551 3016 <td>Any number of the following elements, in any order:
dschulze@551 3017 <ul class=no-bullets>
dschulze@551 3018 <li><a
dschulze@551 3019 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermDescriptiveElement">descriptive</a>
dschulze@551 3020 <span class=expanding> — <a
dschulze@551 3021 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#DescElement"><span
dschulze@551 3022 class=element-name>‘desc’</span></a>, <a
dschulze@551 3023 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#TitleElement"><span
dschulze@551 3024 class=element-name>‘title’</span></a>, <a
dschulze@551 3025 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/metadata.html#MetadataElement"><span
dschulze@551 3026 class=element-name>‘metadata’</span></a></span>
dschulze@551 3027
dschulze@551 3028 <li><a
dschulze@551 3029 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermAnimationElement">animation</a>
dschulze@551 3030 <span class=expanding> — <a
dschulze@551 3031 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/animate.html#AnimateElement"><span
dschulze@551 3032 class=element-name>‘animate’</span></a>, <a
dschulze@551 3033 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/animate.html#AnimateColorElement"><span
dschulze@551 3034 class=element-name>‘animateColor’</span></a>, <a
dschulze@551 3035 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/animate.html#AnimateMotionElement"><span
dschulze@551 3036 class=element-name>‘animateMotion’</span></a>, <a
dschulze@551 3037 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/animate.html#AnimateTransformElement"><span
dschulze@551 3038 class=element-name>‘animateTransform’</span></a>, <a
dschulze@551 3039 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/animate.html#SetElement"><span
dschulze@551 3040 class=element-name>‘set’</span></a></span>
dschulze@551 3041
dschulze@551 3042 <li><a
dschulze@551 3043 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermShapeElement">shape</a>
dschulze@551 3044 <span class=expanding> — <a
dschulze@551 3045 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/shapes.html#CircleElement"><span
dschulze@551 3046 class=element-name>‘circle’</span></a>, <a
dschulze@551 3047 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/shapes.html#EllipseElement"><span
dschulze@551 3048 class=element-name>‘ellipse’</span></a>, <a
dschulze@551 3049 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/shapes.html#LineElement"><span
dschulze@551 3050 class=element-name>‘line’</span></a>, <a
dschulze@551 3051 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/paths.html#PathElement"><span
dschulze@551 3052 class=element-name>‘path’</span></a>, <a
dschulze@551 3053 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/shapes.html#PolygonElement"><span
dschulze@551 3054 class=element-name>‘polygon’</span></a>, <a
dschulze@551 3055 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/shapes.html#PolylineElement"><span
dschulze@551 3056 class=element-name>‘polyline’</span></a>, <a
dschulze@551 3057 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/shapes.html#RectElement"><span
dschulze@551 3058 class=element-name>‘rect’</span></a></span>
dschulze@551 3059
dschulze@551 3060 <li><a
dschulze@551 3061 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#TextElement"><span
dschulze@551 3062 class=element-name>‘text’</span></a>
dschulze@551 3063
dschulze@551 3064 <li><a
dschulze@551 3065 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#UseElement"><span
dschulze@551 3066 class=element-name>‘use’</span></a>
dschulze@551 3067 </ul>
dschulze@551 3068
dschulze@551 3069 <tr>
dschulze@551 3070 <th>Attributes:
dschulze@551 3071
dschulze@551 3072 <td>
dschulze@551 3073 <ul class=no-bullets>
dschulze@551 3074 <li><a
dschulze@551 3075 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermConditionalProcessingAttribute">conditional
dschulze@551 3076 processing attributes</a><span class=expanding> — <a
dschulze@551 3077 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#RequiredFeaturesAttribute"><span
dschulze@551 3078 class=attr-name>‘requiredFeatures’</span></a>, <a
dschulze@551 3079 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#RequiredExtensionsAttribute"><span
dschulze@551 3080 class=attr-name>‘requiredExtensions’</span></a>, <a
dschulze@551 3081 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#SystemLanguageAttribute"><span
dschulze@551 3082 class=attr-name>‘systemLanguage’</span></a></span>
dschulze@551 3083
dschulze@551 3084 <li><a
dschulze@551 3085 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermCoreAttributes">core
dschulze@551 3086 attributes</a><span class=expanding> — <a
dschulze@551 3087 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#IDAttribute"><span
dschulze@551 3088 class=attr-name>‘id’</span></a>, <a
dschulze@551 3089 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#XMLBaseAttribute"><span
dschulze@551 3090 class=attr-name>‘xml:base’</span></a>, <a
dschulze@551 3091 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#XMLLangAttribute"><span
dschulze@551 3092 class=attr-name>‘xml:lang’</span></a>, <a
dschulze@551 3093 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#XMLSpaceAttribute"><span
dschulze@551 3094 class=attr-name>‘xml:space’</span></a></span>
dschulze@551 3095
dschulze@551 3096 <li><a
dschulze@551 3097 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermPresentationAttribute">presentation
dschulze@551 3098 attributes</a><span class=expanding> — <a
dschulze@551 3099 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#AlignmentBaselineProperty"><span
dschulze@551 3100 class=attr-name>‘alignment-baseline’</span></a>, <a
dschulze@551 3101 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#BaselineShiftProperty"><span
dschulze@551 3102 class=attr-name>‘baseline-shift’</span></a>, <a
dschulze@551 3103 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/masking.html#ClipProperty"><span
dschulze@551 3104 class=attr-name>‘clip’</span></a>, <a
dschulze@551 3105 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/masking.html#ClipPathProperty"><span
dschulze@551 3106 class=attr-name>‘clip-path’</span></a>, <a
dschulze@551 3107 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/masking.html#ClipRuleProperty"><span
dschulze@551 3108 class=attr-name>‘clip-rule’</span></a>, <a
dschulze@551 3109 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/color.html#ColorProperty"><span
dschulze@551 3110 class=attr-name>‘color’</span></a>, <a
dschulze@551 3111 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#ColorInterpolationProperty"><span
dschulze@551 3112 class=attr-name>‘color-interpolation’</span></a>, <a
dschulze@551 3113 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#ColorInterpolationFiltersProperty"><span
dschulze@551 3114 class=attr-name>‘color-interpolation-filters’</span></a>, <a
dschulze@551 3115 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/color.html#ColorProfileProperty"><span
dschulze@551 3116 class=attr-name>‘color-profile’</span></a>, <a
dschulze@551 3117 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#ColorRenderingProperty"><span
dschulze@551 3118 class=attr-name>‘color-rendering’</span></a>, <a
dschulze@551 3119 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/interact.html#CursorProperty"><span
dschulze@551 3120 class=attr-name>‘cursor’</span></a>, <a
dschulze@551 3121 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#DirectionProperty"><span
dschulze@551 3122 class=attr-name>‘direction’</span></a>, <a
dschulze@551 3123 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#DisplayProperty"><span
dschulze@551 3124 class=attr-name>‘display’</span></a>, <a
dschulze@551 3125 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#DominantBaselineProperty"><span
dschulze@551 3126 class=attr-name>‘dominant-baseline’</span></a>, <a
dschulze@551 3127 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/filters.html#EnableBackgroundProperty"><span
dschulze@551 3128 class=attr-name>‘enable-background’</span></a>, <a
dschulze@551 3129 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#FillProperty"><span
dschulze@551 3130 class=attr-name>‘fill’</span></a>, <a
dschulze@551 3131 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#FillOpacityProperty"><span
dschulze@551 3132 class=attr-name>‘fill-opacity’</span></a>, <a
dschulze@551 3133 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#FillRuleProperty"><span
dschulze@551 3134 class=attr-name>‘fill-rule’</span></a>, <a
dschulze@551 3135 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/filters.html#FilterProperty"><span
dschulze@551 3136 class=attr-name>‘filter’</span></a>, <a
dschulze@551 3137 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/filters.html#FloodColorProperty"><span
dschulze@551 3138 class=attr-name>‘flood-color’</span></a>, <a
dschulze@551 3139 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/filters.html#FloodOpacityProperty"><span
dschulze@551 3140 class=attr-name>‘flood-opacity’</span></a>, <a
dschulze@551 3141 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#FontProperty"><span
dschulze@551 3142 class=attr-name>‘font’</span></a>, <a
dschulze@551 3143 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#FontFamilyProperty"><span
dschulze@551 3144 class=attr-name>‘font-family’</span></a>, <a
dschulze@551 3145 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#FontSizeProperty"><span
dschulze@551 3146 class=attr-name>‘font-size’</span></a>, <a
dschulze@551 3147 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#FontSizeAdjustProperty"><span
dschulze@551 3148 class=attr-name>‘font-size-adjust’</span></a>, <a
dschulze@551 3149 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#FontStretchProperty"><span
dschulze@551 3150 class=attr-name>‘font-stretch’</span></a>, <a
dschulze@551 3151 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#FontStyleProperty"><span
dschulze@551 3152 class=attr-name>‘font-style’</span></a>, <a
dschulze@551 3153 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#FontVariantProperty"><span
dschulze@551 3154 class=attr-name>‘font-variant’</span></a>, <a
dschulze@551 3155 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#FontWeightProperty"><span
dschulze@551 3156 class=attr-name>‘font-weight’</span></a>, <a
dschulze@551 3157 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#GlyphOrientationHorizontalProperty"><span
dschulze@551 3158 class=attr-name>‘glyph-orientation-horizontal’</span></a>, <a
dschulze@551 3159 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#GlyphOrientationVerticalProperty"><span
dschulze@551 3160 class=attr-name>‘glyph-orientation-vertical’</span></a>, <a
dschulze@551 3161 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#ImageRenderingProperty"><span
dschulze@551 3162 class=attr-name>‘image-rendering’</span></a>, <a
dschulze@551 3163 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#KerningProperty"><span
dschulze@551 3164 class=attr-name>‘kerning’</span></a>, <a
dschulze@551 3165 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#LetterSpacingProperty"><span
dschulze@551 3166 class=attr-name>‘letter-spacing’</span></a>, <a
dschulze@551 3167 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/filters.html#LightingColorProperty"><span
dschulze@551 3168 class=attr-name>‘lighting-color’</span></a>, <a
dschulze@551 3169 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#MarkerProperty"><span
dschulze@551 3170 class=attr-name>‘marker’</span></a>, <a
dschulze@551 3171 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#MarkerEndProperty"><span
dschulze@551 3172 class=attr-name>‘marker-end’</span></a>, <a
dschulze@551 3173 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#MarkerMidProperty"><span
dschulze@551 3174 class=attr-name>‘marker-mid’</span></a>, <a
dschulze@551 3175 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#MarkerStartProperty"><span
dschulze@551 3176 class=attr-name>‘marker-start’</span></a>, <a
dschulze@551 3177 href="#MaskProperty"><span class=attr-name>‘mask’</span></a>, <a
dschulze@551 3178 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/masking.html#OpacityProperty"><span
dschulze@551 3179 class=attr-name>‘opacity’</span></a>, <a
dschulze@551 3180 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/masking.html#OverflowProperty"><span
dschulze@551 3181 class=attr-name>‘overflow’</span></a>, <a
dschulze@551 3182 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/interact.html#PointerEventsProperty"><span
dschulze@551 3183 class=attr-name>‘pointer-events’</span></a>, <a
dschulze@551 3184 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#ShapeRenderingProperty"><span
dschulze@551 3185 class=attr-name>‘shape-rendering’</span></a>, <a
dschulze@551 3186 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/pservers.html#StopColorProperty"><span
dschulze@551 3187 class=attr-name>‘stop-color’</span></a>, <a
dschulze@551 3188 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/pservers.html#StopOpacityProperty"><span
dschulze@551 3189 class=attr-name>‘stop-opacity’</span></a>, <a
dschulze@551 3190 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#StrokeProperty"><span
dschulze@551 3191 class=attr-name>‘stroke’</span></a>, <a
dschulze@551 3192 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#StrokeDasharrayProperty"><span
dschulze@551 3193 class=attr-name>‘stroke-dasharray’</span></a>, <a
dschulze@551 3194 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#StrokeDashoffsetProperty"><span
dschulze@551 3195 class=attr-name>‘stroke-dashoffset’</span></a>, <a
dschulze@551 3196 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#StrokeLinecapProperty"><span
dschulze@551 3197 class=attr-name>‘stroke-linecap’</span></a>, <a
dschulze@551 3198 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#StrokeLinejoinProperty"><span
dschulze@551 3199 class=attr-name>‘stroke-linejoin’</span></a>, <a
dschulze@551 3200 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#StrokeMiterlimitProperty"><span
dschulze@551 3201 class=attr-name>‘stroke-miterlimit’</span></a>, <a
dschulze@551 3202 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#StrokeOpacityProperty"><span
dschulze@551 3203 class=attr-name>‘stroke-opacity’</span></a>, <a
dschulze@551 3204 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#StrokeWidthProperty"><span
dschulze@551 3205 class=attr-name>‘stroke-width’</span></a>, <a
dschulze@551 3206 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#TextAnchorProperty"><span
dschulze@551 3207 class=attr-name>‘text-anchor’</span></a>, <a
dschulze@551 3208 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#TextDecorationProperty"><span
dschulze@551 3209 class=attr-name>‘text-decoration’</span></a>, <a
dschulze@551 3210 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#TextRenderingProperty"><span
dschulze@551 3211 class=attr-name>‘text-rendering’</span></a>, <a
dschulze@551 3212 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#UnicodeBidiProperty"><span
dschulze@551 3213 class=attr-name>‘unicode-bidi’</span></a>, <a
dschulze@551 3214 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#VisibilityProperty"><span
dschulze@551 3215 class=attr-name>‘visibility’</span></a>, <a
dschulze@551 3216 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#WordSpacingProperty"><span
dschulze@551 3217 class=attr-name>‘word-spacing’</span></a>, <a
dschulze@551 3218 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#WritingModeProperty"><span
dschulze@551 3219 class=attr-name>‘writing-mode’</span></a></span>
dschulze@551 3220
dschulze@551 3221 <li><a
dschulze@551 3222 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/styling.html#ClassAttribute"><span
dschulze@551 3223 class=attr-name>‘class’</span></a>
dschulze@551 3224
dschulze@551 3225 <li><a
dschulze@551 3226 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/styling.html#StyleAttribute"><span
dschulze@551 3227 class=attr-name>‘style’</span></a>
dschulze@551 3228
dschulze@551 3229 <li><a
dschulze@551 3230 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#ExternalResourcesRequiredAttribute"><span
dschulze@551 3231 class=attr-name>‘externalResourcesRequired’</span></a>
dschulze@551 3232
dschulze@551 3233 <li><a
dschulze@551 3234 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/coords.html#TransformAttribute"><span
dschulze@551 3235 class=attr-name>‘transform’</span></a>
dschulze@551 3236
dschulze@551 3237 <li><a href="#ClipPathElementClipPathUnitsAttribute"><span
dschulze@551 3238 class=attr-name>‘clipPathUnits’</span></a>
dschulze@551 3239 </ul>
dschulze@551 3240
dschulze@551 3241 <tr>
dschulze@551 3242 <th>DOM Interfaces:
dschulze@551 3243
dschulze@551 3244 <td><a class=idlinterface
dschulze@551 3245 href="#InterfaceSVGClipPathElement">SVGClipPathElement</a>
dschulze@551 3246 </table>
dschulze@298 3247
dschulze@298 3248 <div class=adef-list>
dschulze@427 3249 <p><em>Attribute definitions:</em>
dschulze@298 3250
dschulze@298 3251 <dl>
dschulze@298 3252 <dt id=ClipPathElementClipPathUnitsAttribute><span
dschulze@298 3253 class=adef>clipPathUnits</span> = "<em>userSpaceOnUse</em> |
dschulze@298 3254 <em>objectBoundingBox</em>"
dschulze@298 3255
dschulze@551 3256 <dd>Defines the coordinate system for the contents of the <a
dschulze@551 3257 class=element-name href="#ClipPathElement">‘<code
dschulze@298 3258 class=property>clipPath</code>’</a>.<br>
dschulze@298 3259 If <span class=attr-value>clipPathUnits="userSpaceOnUse"</span>, the
dschulze@551 3260 contents of the <a class=element-name href="#ClipPathElement">‘<code
dschulze@551 3261 class=property>clipPath</code>’</a> represent values in the current
dschulze@551 3262 user coordinate system in place at the time when the <a
dschulze@551 3263 class=element-name href="#ClipPathElement">‘<code
dschulze@551 3264 class=property>clipPath</code>’</a> element is referenced (i.e., the
dschulze@551 3265 user coordinate system for the element referencing the <a
dschulze@551 3266 class=element-name href="#ClipPathElement">‘<code
dschulze@551 3267 class=property>clipPath</code>’</a> element via the <a class=property
dschulze@551 3268 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/masking.html#ClipPathProperty">‘<code
dschulze@551 3269 class=property>clip-path</code>’</a> property).<br>
dschulze@298 3270 If <span class=attr-value>clipPathUnits="objectBoundingBox"</span>, then
dschulze@551 3271 the user coordinate system for the contents of the <a class=element-name
dschulze@551 3272 href="#ClipPathElement">‘<code class=property>clipPath</code>’</a>
dschulze@551 3273 element is established using the bounding box of the element to which
dschulze@551 3274 the clipping path is applied (see <a class=index
dschulze@551 3275 href="#object-bounding-box-units" id=object-bounding-box-units0>object
dschulze@551 3276 bounding box units</a>).<br>
dschulze@551 3277 If attribute <a class=attr-name
dschulze@551 3278 href="#ClipPathElementClipPathUnitsAttribute">‘<code
dschulze@551 3279 class=property>clipPathUnits</code>’</a> is not specified, then the
dschulze@551 3280 effect is as if a value of <span class=attr-value>‘<code
dschulze@551 3281 class=property>userSpaceOnUse</code>’</span> were specified.<br>
dschulze@343 3282 <span class=anim-target>Animatable: yes.</span>
dschulze@298 3283 </dl>
dschulze@298 3284 </div>
dschulze@298 3285
dschulze@551 3286 <p>CSS properties inherit into the <a class=element-name
dschulze@551 3287 href="#ClipPathElement">‘<code class=property>clipPath</code>’</a>
dschulze@551 3288 element from its ancestors; properties do <em>not</em> inherit from the
dschulze@551 3289 element referencing the <a class=element-name
dschulze@551 3290 href="#ClipPathElement">‘<code class=property>clipPath</code>’</a>
dschulze@551 3291 element.
dschulze@551 3292
dschulze@551 3293 <p><a class=element-name href="#ClipPathElement">‘<code
dschulze@551 3294 class=property>clipPath</code>’</a> elements are never rendered
dschulze@551 3295 directly; their only usage is as something that can be referenced using
dschulze@551 3296 the <a class=property
dschulze@551 3297 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/masking.html#ClipPathProperty">‘<code
dschulze@551 3298 class=property>clip-path</code>’</a> property. The <a class=property
dschulze@551 3299 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#DisplayProperty">‘<code
dschulze@551 3300 class=property>display</code>’</a> property does not apply to the <a
dschulze@551 3301 class=element-name href="#ClipPathElement">‘<code
dschulze@551 3302 class=property>clipPath</code>’</a> element; thus, <a class=element-name
dschulze@551 3303 href="#ClipPathElement">‘<code class=property>clipPath</code>’</a>
dschulze@551 3304 elements are not directly rendered even if the ‘<code
dschulze@551 3305 class=property>display</code>’ property is set to a value other than <a
dschulze@551 3306 class=prop-value href="#none">none</a>, and <a class=element-name
dschulze@551 3307 href="#ClipPathElement">‘<code class=property>clipPath</code>’</a>
dschulze@551 3308 elements are available for referencing even when the <a class=property
dschulze@551 3309 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/painting.html#DisplayProperty">‘<code
dschulze@551 3310 class=property>display</code>’</a> property on the <a class=element-name
dschulze@551 3311 href="#ClipPathElement">‘<code class=property>clipPath</code>’</a>
dschulze@551 3312 element or any of its ancestors is set to <a class=prop-value
dschulze@344 3313 href="#none">none</a>.
dschulze@298 3314
dschulze@551 3315 <p>A <a class=element-name href="#ClipPathElement">‘<code
dschulze@551 3316 class=property>clipPath</code>’</a> element can contain <a
dschulze@551 3317 class=element-name
dschulze@551 3318 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/paths.html#PathElement">‘<code
dschulze@551 3319 class=property>path</code>’</a> elements, <a class=element-name
dschulze@551 3320 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#TextElement">‘<code
dschulze@551 3321 class=property>text</code>’</a> elements, <a
dschulze@551 3322 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermBasicShapeElement">basic
dschulze@551 3323 shapes</a> (such as <a class=element-name
dschulze@551 3324 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/shapes.html#CircleElement">‘<code
dschulze@551 3325 class=property>circle</code>’</a>) or a <a class=element-name
dschulze@551 3326 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#UseElement">‘<code
dschulze@551 3327 class=property>use</code>’</a> element. If a <a class=element-name
dschulze@551 3328 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/struct.html#UseElement">‘<code
dschulze@551 3329 class=property>use</code>’</a> element is a child of a <a
dschulze@551 3330 class=element-name href="#ClipPathElement">‘<code
dschulze@298 3331 class=property>clipPath</code>’</a> element, it must directly reference
dschulze@551 3332 <a class=element-name
dschulze@551 3333 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/paths.html#PathElement">‘<code
dschulze@551 3334 class=property>path</code>’</a>, <a class=element-name
dschulze@551 3335 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#TextElement">‘<code
dschulze@551 3336 class=property>text</code>’</a> or <a
dschulze@551 3337 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermBasicShapeElement">basic
dschulze@551 3338 shapes</a> elements. Indirect references are an error and the <a
dschulze@551 3339 class=element-name href="#ClipPathElement">‘<code
dschulze@451 3340 class=property>clipPath</code>’</a> element must be ignored.
dschulze@298 3341
dschulze@298 3342 <p>The raw geometry of each child element exclusive of rendering properties
dschulze@659 3343 such as ‘<code class=property>fill</code>’, ‘<code
dschulze@298 3344 class=property>stroke</code>’, ‘<code
dschulze@551 3345 class=property>stroke-width</code>’ within a <a class=element-name
dschulze@551 3346 href="#ClipPathElement">‘<code class=property>clipPath</code>’</a>
dschulze@551 3347 conceptually defines a 1-bit mask (with the possible exception of
dschulze@551 3348 anti-aliasing along the edge of the geometry) which represents the
dschulze@551 3349 silhouette of the graphics associated with that element. Anything outside
dschulze@551 3350 the outline of the object is masked out. If a child element is made
dschulze@551 3351 invisible by ‘<code class=property>display</code>’ or ‘<code
dschulze@298 3352 class=property>visibility</code>’ it does not contribute to the clipping
dschulze@551 3353 path. When the <a class=element-name href="#ClipPathElement">‘<code
dschulze@551 3354 class=property>clipPath</code>’</a> element contains multiple child
dschulze@551 3355 elements, the silhouettes of the child elements are logically OR'd
dschulze@551 3356 together to create a single silhouette which is then used to restrict the
dschulze@551 3357 region onto which paint can be applied. Thus, a point is inside the
dschulze@551 3358 clipping path if it is inside any of the children of the <a
dschulze@551 3359 class=element-name href="#ClipPathElement">‘<code
dschulze@551 3360 class=property>clipPath</code>’</a>.
dschulze@298 3361
dschulze@298 3362 <p>For a given graphics element, the actual clipping path used will be the
dschulze@298 3363 intersection of the clipping path specified by its ‘<a
dschulze@298 3364 href="#clip-path"><code class=property>clip-path</code></a>’ property
dschulze@298 3365 (if any) with any clipping paths on its ancestors, as specified by the
dschulze@298 3366 ‘<a href="#clip-path"><code class=property>clip-path</code></a>’
dschulze@343 3367 property on the elements which establish a new viewport. (See <a
dschulze@343 3368 href="#SVG11" rel=biblioentry>[SVG11]<!--{{SVG11}}--></a>)
dschulze@298 3369
dschulze@724 3370 <div class=note>
dschulze@724 3371 <p>A couple of notes:
dschulze@724 3372
dschulze@724 3373 <ul>
dschulze@724 3374 <li>The <a class=element-name href="#ClipPathElement">‘<code
dschulze@724 3375 class=property>clipPath</code>’</a> element itself and its child
dschulze@724 3376 elements do <em>not</em> inherit clipping paths from the ancestors of
dschulze@724 3377 the <a class=element-name href="#ClipPathElement">‘<code
dschulze@724 3378 class=property>clipPath</code>’</a> element.
dschulze@724 3379
dschulze@724 3380 <li>The <a class=element-name href="#ClipPathElement">‘<code
dschulze@724 3381 class=property>clipPath</code>’</a> element or any of its children can
dschulze@724 3382 specify property ‘<a href="#clip-path"><code
dschulze@724 3383 class=property>clip-path</code></a>’.<br>
dschulze@724 3384 If a valid ‘<a href="#clip-path"><code
dschulze@724 3385 class=property>clip-path</code></a>’ reference is placed on a <a
dschulze@724 3386 class=element-name href="#ClipPathElement">‘<code
dschulze@724 3387 class=property>clipPath</code>’</a> element, the resulting clipping
dschulze@724 3388 path is the intersection of the contents of the <a class=element-name
dschulze@724 3389 href="#ClipPathElement">‘<code class=property>clipPath</code>’</a>
dschulze@724 3390 element with the referenced clipping path.<br>
dschulze@724 3391 If a valid ‘<a href="#clip-path"><code
dschulze@724 3392 class=property>clip-path</code></a>’ reference is placed on one of the
dschulze@724 3393 children of a <a class=element-name href="#ClipPathElement">‘<code
dschulze@724 3394 class=property>clipPath</code>’</a> element, then the given child
dschulze@724 3395 element is clipped by the referenced clipping path before OR'ing the
dschulze@724 3396 silhouette of the child element with the silhouettes of the other child
dschulze@724 3397 elements.
dschulze@724 3398
dschulze@724 3399 <li>An empty clipping path will completely clip away the element that had
dschulze@724 3400 the ‘<a href="#clip-path"><code class=property>clip-path</code></a>’
dschulze@724 3401 property applied.
dschulze@724 3402 </ul>
dschulze@724 3403 </div>
dschulze@298 3404
dschulze@451 3405 <h3 id=clipPath-geometry><span class=secno>8.5. </span>Clipping paths,
dschulze@298 3406 geometry, and pointer events</h3>
dschulze@298 3407
dschulze@298 3408 <p>A clipping path is conceptually equivalent to a custom viewport for the
dschulze@298 3409 referencing element. Thus, it affects the rendering of an element, but not
dschulze@298 3410 the element's inherent geometry. The <a class=index
dschulze@552 3411 href="#bounding-client-rect" id=bounding-client-rect2>bounding client
dschulze@551 3412 rect</a> of a clipped element (that is, an element which references a <a
dschulze@551 3413 class=element-name href="#ClipPathElement">‘<code
dschulze@551 3414 class=property>clipPath</code>’</a> element via a ‘<a
dschulze@298 3415 href="#clip-path"><code class=property>clip-path</code></a>’ property,
dschulze@298 3416 or a child of the referencing element) must remain the same as if it were
dschulze@298 3417 not clipped.
dschulze@298 3418
dschulze@551 3419 <p>By default, <a
dschulze@551 3420 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/interact.html#PointerEventsProperty">pointer
dschulze@551 3421 events</a> must not be dispatched on the clipped (non-visible) regions of
dschulze@551 3422 a shape. For example, a circle with a radius of 10 which is clipped to a
dschulze@551 3423 circle with a radius of 5 will not receive <span class=event-name>‘<code
dschulze@551 3424 class=property>click</code>’</span> events outside the smaller radius.
dschulze@551 3425 Later versions of this specification may define new properties to enable
dschulze@551 3426 fine-grained control over the interactions between hit testing and
dschulze@551 3427 clipping.
dschulze@298 3428
dschulze@473 3429 <h2 id=security><span class=secno>9. </span>Security</h2>
dschulze@473 3430
dschulze@473 3431 <h3 id=origin-restrictions><span class=secno>9.1. </span>Origin
dschulze@473 3432 Restrictions</h3>
dschulze@473 3433
dschulze@551 3434 <p> External references to resources like <a class=element-name
dschulze@551 3435 href="#MaskElement">‘<code class=property>mask</code>’</a> or <a
dschulze@551 3436 class=element-name href="#ClipPathElement">‘<code
dschulze@551 3437 class=property>clipPath</code>’</a> must not violate the same origin
dschulze@551 3438 restrictions <a href="#CORS" rel=biblioentry>[CORS]<!--{{!CORS}}--></a>.
dschulze@473 3439
dschulze@473 3440 <p>This restriction includes:
dschulze@473 3441
dschulze@473 3442 <ul>
dschulze@473 3443 <li>Any images, either as content or via styling, that are not exposed
dschulze@473 3444 with CORS
dschulze@473 3445
dschulze@473 3446 <li>Any tainted canvas
dschulze@473 3447
dschulze@473 3448 <li>Any cross-origin content referenced by ‘<code
dschulze@473 3449 class=css>xlink:href</code>’ or &lt;use&gt;
dschulze@473 3450 </ul>
dschulze@473 3451
dschulze@473 3452 <p> If content falls under this restriction, the resource must be rejected.
dschulze@473 3453 The element is drawn as if the resource was not specified (i.e. the ‘<a
dschulze@473 3454 href="#clip-path"><code class=property>clip-path</code></a>’ or ‘<a
dschulze@551 3455 href="#mask"><code class=property>mask</code></a>’ property were set to
dschulze@551 3456 ‘<a href="#none"><code class=css>none</code></a>’).
dschulze@473 3457
dschulze@473 3458 <h2 id=DOMInterfaces><span class=secno>10. </span>DOM interfaces</h2>
dschulze@473 3459
dschulze@473 3460 <h3 id=InterfaceSVGClipPathElement><span class=secno>10.1. </span>Interface
dschulze@462 3461 SVGClipPathElement</h3>
dschulze@464 3462
dschulze@551 3463 <p>The <a href="#InterfaceSVGClipPathElement">SVGClipPathElement</a>
dschulze@551 3464 interface corresponds to the <a class=element-name
dschulze@551 3465 href="#ClipPathElement">‘<code class=property>clipPath</code>’</a>
dschulze@551 3466 element.
dschulze@551 3467
dschulze@551 3468 <pre class=idl>interface <b>SVGClipPathElement</b> : <a
dschulze@628 3469 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGElement">SVGElement</a> {
dschulze@551 3470 readonly attribute <a
dschulze@551 3471 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGAnimatedEnumeration">SVGAnimatedEnumeration</a> <a
dschulze@470 3472 href="#SVGClipPathElement__clipPathUnits">clipPathUnits</a>;
dschulze@628 3473 readonly attribute <a
dschulze@628 3474 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/coords.html#InterfaceSVGAnimatedTransformList">SVGAnimatedTransformList</a> <a
dschulze@628 3475 href="#SVGClipPathElement__transform">transform</a>;
dschulze@470 3476 };
dschulze@470 3477
dschulze@551 3478 <a
dschulze@551 3479 href="#InterfaceSVGClipPathElement">SVGClipPathElement</a> implements <a
dschulze@551 3480 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGUnitTypes">SVGUnitTypes</a>;</pre>
dschulze@462 3481
dschulze@462 3482 <dl class=interface>
dschulze@462 3483 <dt class=attributes-header>Attributes:
dschulze@462 3484
dschulze@462 3485 <dd>
dschulze@462 3486 <dl class=attributes>
dschulze@462 3487 <dt class="attribute first-child"
dschulze@464 3488 id="SVGClipPathElement__clipPathUnits"><b>clipPathUnits</b><span
dschulze@551 3489 class=idl-type-parenthetical> (readonly <a
dschulze@551 3490 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGAnimatedEnumeration">SVGAnimatedEnumeration</a>)</span>
dschulze@462 3491
dschulze@462 3492 <dd class=attribute>
dschulze@551 3493 <div> Corresponds to attribute <a class=attr-name
dschulze@551 3494 href="#ClipPathElementClipPathUnitsAttribute">‘<code
dschulze@551 3495 class=property>clipPathUnits</code>’</a> on the given <a
dschulze@551 3496 class=element-name href="#ClipPathElement">‘<code
dschulze@462 3497 class=property>clipPath</code>’</a> element. Takes one of the
dschulze@551 3498 constants defined in <a
dschulze@551 3499 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGUnitTypes">SVGUnitTypes</a>.</div>
dschulze@628 3500
dschulze@628 3501 <dt class="attribute first-child"
dschulze@628 3502 id="SVGClipPathElement__transform"><b>transform</b><span
dschulze@628 3503 class=idl-type-parenthetical> (readonly <a
dschulze@628 3504 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/coords.html#InterfaceSVGAnimatedTransformList">SVGAnimatedTransformList</a>)</span>
dschulze@628 3505
dschulze@628 3506 <dd class=attribute>
dschulze@628 3507 <div> Corresponds to attribute <a class=attr-name
dschulze@628 3508 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/coords.html#TransformAttribute">‘<code
dschulze@628 3509 class=property>transform</code>’</a> on the given element.</div>
dschulze@462 3510 </dl>
dschulze@462 3511 </dl>
dschulze@464 3512
dschulze@473 3513 <h3 id=InterfaceSVGMaskElement><span class=secno>10.2. </span>Interface
dschulze@462 3514 SVGMaskElement</h3>
dschulze@464 3515
dschulze@551 3516 <p>The <a href="#InterfaceSVGMaskElement">SVGMaskElement</a> interface
dschulze@551 3517 corresponds to the <a class=element-name href="#MaskElement">‘<code
dschulze@551 3518 class=property>mask</code>’</a> element.
dschulze@551 3519
dschulze@551 3520 <pre class=idl>interface <b>SVGMaskElement</b> : <a
dschulze@619 3521 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGElement">SVGElement</a> {
dschulze@551 3522 readonly attribute <a
dschulze@551 3523 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGAnimatedEnumeration">SVGAnimatedEnumeration</a> <a
dschulze@470 3524 href="#SVGMaskElement__maskUnits">maskUnits</a>;
dschulze@551 3525 readonly attribute <a
dschulze@551 3526 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGAnimatedEnumeration">SVGAnimatedEnumeration</a> <a
dschulze@470 3527 href="#SVGMaskElement__maskContentUnits">maskContentUnits</a>;
dschulze@551 3528 readonly attribute <a
dschulze@551 3529 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGAnimatedLength">SVGAnimatedLength</a> <a
dschulze@470 3530 href="#SVGMaskElement__x">x</a>;
dschulze@551 3531 readonly attribute <a
dschulze@551 3532 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGAnimatedLength">SVGAnimatedLength</a> <a
dschulze@470 3533 href="#SVGMaskElement__y">y</a>;
dschulze@551 3534 readonly attribute <a
dschulze@551 3535 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGAnimatedLength">SVGAnimatedLength</a> <a
dschulze@470 3536 href="#SVGMaskElement__width">width</a>;
dschulze@551 3537 readonly attribute <a
dschulze@551 3538 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGAnimatedLength">SVGAnimatedLength</a> <a
dschulze@470 3539 href="#SVGMaskElement__height">height</a>;
dschulze@470 3540 };
dschulze@470 3541
dschulze@551 3542 <a
dschulze@551 3543 href="#InterfaceSVGMaskElement">SVGMaskElement</a> implements <a
dschulze@551 3544 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGUnitTypes">SVGUnitTypes</a>;</pre>
dschulze@462 3545
dschulze@462 3546 <dl class=interface>
dschulze@462 3547 <dt class=attributes-header>Attributes:
dschulze@462 3548
dschulze@462 3549 <dd>
dschulze@462 3550 <dl class=attributes>
dschulze@462 3551 <dt class="attribute first-child"
dschulze@464 3552 id="SVGMaskElement__maskUnits"><b>maskUnits</b><span
dschulze@551 3553 class=idl-type-parenthetical> (readonly <a
dschulze@551 3554 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGAnimatedEnumeration">SVGAnimatedEnumeration</a>)</span>
dschulze@462 3555
dschulze@462 3556 <dd class=attribute>
dschulze@551 3557 <div> Corresponds to attribute <a class=attr-name
dschulze@551 3558 href="#MaskElementMaskUnitsAttribute">‘<code
dschulze@551 3559 class=property>maskUnits</code>’</a> on the given <a
dschulze@551 3560 class=element-name href="#MaskElement">‘<code
dschulze@551 3561 class=property>mask</code>’</a> element. Takes one of the constants
dschulze@551 3562 defined in <a
dschulze@551 3563 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGUnitTypes">SVGUnitTypes</a>.</div>
dschulze@462 3564
dschulze@462 3565 <dt class=attribute
dschulze@464 3566 id="SVGMaskElement__maskContentUnits"><b>maskContentUnits</b><span
dschulze@551 3567 class=idl-type-parenthetical> (readonly <a
dschulze@551 3568 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGAnimatedEnumeration">SVGAnimatedEnumeration</a>)</span>
dschulze@462 3569
dschulze@462 3570 <dd class=attribute>
dschulze@551 3571 <div> Corresponds to attribute <a class=attr-name
dschulze@551 3572 href="#MaskElementMaskContentUnitsAttribute">‘<code
dschulze@551 3573 class=property>maskContentUnits</code>’</a> on the given <a
dschulze@551 3574 class=element-name href="#MaskElement">‘<code
dschulze@551 3575 class=property>mask</code>’</a> element. Takes one of the constants
dschulze@551 3576 defined in <a
dschulze@551 3577 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGUnitTypes">SVGUnitTypes</a>.</div>
dschulze@462 3578
dschulze@464 3579 <dt class=attribute id="SVGMaskElement__x"><b>x</b><span
dschulze@551 3580 class=idl-type-parenthetical> (readonly <a
dschulze@551 3581 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGAnimatedLength">SVGAnimatedLength</a>)</span>
dschulze@462 3582
dschulze@462 3583 <dd class=attribute>
dschulze@551 3584 <div> Corresponds to attribute <a class=attr-name
dschulze@551 3585 href="#MaskElementXAttribute">‘<code class=property>x</code>’</a>
dschulze@551 3586 on the given <a class=element-name href="#MaskElement">‘<code
dschulze@551 3587 class=property>mask</code>’</a> element.</div>
dschulze@462 3588
dschulze@464 3589 <dt class=attribute id="SVGMaskElement__y"><b>y</b><span
dschulze@551 3590 class=idl-type-parenthetical> (readonly <a
dschulze@551 3591 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGAnimatedLength">SVGAnimatedLength</a>)</span>
dschulze@462 3592
dschulze@462 3593 <dd class=attribute>
dschulze@551 3594 <div> Corresponds to attribute <a class=attr-name
dschulze@551 3595 href="#MaskElementYAttribute">‘<code class=property>y</code>’</a>
dschulze@551 3596 on the given <a class=element-name href="#MaskElement">‘<code
dschulze@551 3597 class=property>mask</code>’</a> element.</div>
dschulze@462 3598
dschulze@464 3599 <dt class=attribute id="SVGMaskElement__width"><b>width</b><span
dschulze@551 3600 class=idl-type-parenthetical> (readonly <a
dschulze@551 3601 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGAnimatedLength">SVGAnimatedLength</a>)</span>
dschulze@462 3602
dschulze@462 3603 <dd class=attribute>
dschulze@551 3604 <div> Corresponds to attribute <a class=attr-name
dschulze@551 3605 href="#MaskElementWidthAttribute">‘<code
dschulze@551 3606 class=property>width</code>’</a> on the given <a class=element-name
dschulze@551 3607 href="#MaskElement">‘<code class=property>mask</code>’</a>
dschulze@551 3608 element.</div>
dschulze@462 3609
dschulze@464 3610 <dt class=attribute id="SVGMaskElement__height"><b>height</b><span
dschulze@551 3611 class=idl-type-parenthetical> (readonly <a
dschulze@551 3612 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#InterfaceSVGAnimatedLength">SVGAnimatedLength</a>)</span>
dschulze@462 3613
dschulze@462 3614 <dd class=attribute>
dschulze@551 3615 <div> Corresponds to attribute <a class=attr-name
dschulze@551 3616 href="#MaskElementHeightAttribute">‘<code
dschulze@551 3617 class=property>height</code>’</a> on the given <a class=element-name
dschulze@551 3618 href="#MaskElement">‘<code class=property>mask</code>’</a>
dschulze@551 3619 element.</div>
dschulze@462 3620 </dl>
dschulze@462 3621 </dl>
dschulze@464 3622
dschulze@273 3623 <h2 class=no-num id=references> References</h2>
dschulze@273 3624
dschulze@273 3625 <h3 class=no-num id=normative-references> Normative references</h3>
dschulze@273 3626 <!--begin-normative-->
dschulze@273 3627 <!-- Sorted by label -->
dschulze@273 3628
dschulze@273 3629 <dl class=bibliography>
dschulze@273 3630 <dt style="display: none"><!-- keeps the doc valid if the DL is empty -->
dschulze@273 3631 <!---->
dschulze@273 3632
dschulze@473 3633 <dt id=CORS>[CORS]
dschulze@473 3634
dschulze@473 3635 <dd>Anne van Kesteren. <a
dschulze@659 3636 href="http://www.w3.org/TR/2013/CR-cors-20130129/"><cite>Cross-Origin
dschulze@659 3637 Resource Sharing.</cite></a> 29 January 2013. W3C Candidate
dschulze@659 3638 Recommendation. (Work in progress.) URL: <a
dschulze@659 3639 href="http://www.w3.org/TR/2013/CR-cors-20130129/">http://www.w3.org/TR/2013/CR-cors-20130129/</a>
dschulze@473 3640 </dd>
dschulze@473 3641 <!---->
dschulze@473 3642
dschulze@273 3643 <dt id=CSS21>[CSS21]
dschulze@273 3644
dschulze@273 3645 <dd>Bert Bos; et al. <a
dschulze@536 3646 href="http://www.w3.org/TR/2011/REC-CSS2-20110607/"><cite>Cascading Style
dschulze@551 3647 Sheets Level 2 Revision 1 (CSS 2.1) Specification.</cite></a> 7 June
dschulze@273 3648 2011. W3C Recommendation. URL: <a
dschulze@536 3649 href="http://www.w3.org/TR/2011/REC-CSS2-20110607/">http://www.w3.org/TR/2011/REC-CSS2-20110607/</a>
dschulze@427 3650 </dd>
dschulze@273 3651 <!---->
dschulze@273 3652
dschulze@342 3653 <dt id=CSS3-EXCLUSIONS>[CSS3-EXCLUSIONS]
dschulze@342 3654
dschulze@342 3655 <dd>Vincent Hardy; Rossen Atanassov; Alan Stearns. <a
dschulze@342 3656 href="http://www.w3.org/TR/2012/WD-css3-exclusions-20120503/"><cite>CSS
dschulze@342 3657 Exclusions and Shapes Module Level 3.</cite></a> 3 May 2012. W3C Working
dschulze@342 3658 Draft. (Work in progress.) URL: <a
dschulze@342 3659 href="http://www.w3.org/TR/2012/WD-css3-exclusions-20120503/">http://www.w3.org/TR/2012/WD-css3-exclusions-20120503/</a>
dschulze@427 3660 </dd>
dschulze@342 3661 <!---->
dschulze@342 3662
dschulze@277 3663 <dt id=CSS3-IMAGES>[CSS3-IMAGES]
dschulze@277 3664
dschulze@277 3665 <dd>Elika J. Etemad; Tab Atkins Jr. <a
dschulze@277 3666 href="http://www.w3.org/TR/2012/CR-css3-images-20120417/"><cite>CSS Image
dschulze@277 3667 Values and Replaced Content Module Level 3.</cite></a> 17 April 2012. W3C
dschulze@277 3668 Candidate Recommendation. (Work in progress.) URL: <a
dschulze@277 3669 href="http://www.w3.org/TR/2012/CR-css3-images-20120417/">http://www.w3.org/TR/2012/CR-css3-images-20120417/</a>
dschulze@427 3670 </dd>
dschulze@277 3671 <!---->
dschulze@277 3672
dschulze@659 3673 <dt id=CSS3BG>[CSS3BG]
dschulze@659 3674
dschulze@659 3675 <dd>Bert Bos; Elika J. Etemad; Brad Kemper. <a
dschulze@659 3676 href="http://www.w3.org/TR/2012/CR-css3-background-20120724/"><cite>CSS
dschulze@659 3677 Backgrounds and Borders Module Level 3.</cite></a> 24 July 2012. W3C
dschulze@659 3678 Candidate Recommendation. (Work in progress.) URL: <a
dschulze@659 3679 href="http://www.w3.org/TR/2012/CR-css3-background-20120724/">http://www.w3.org/TR/2012/CR-css3-background-20120724/</a>
dschulze@659 3680 </dd>
dschulze@659 3681 <!---->
dschulze@659 3682
dschulze@731 3683 <dt id=CSS3VAL>[CSS3VAL]
dschulze@731 3684
dschulze@731 3685 <dd>Håkon Wium Lie; Tab Atkins; Elika J. Etemad. <a
dschulze@731 3686 href="http://www.w3.org/TR/2012/CR-css3-values-20120828/"><cite>CSS
dschulze@731 3687 Values and Units Module Level 3.</cite></a> 28 August 2012. W3C Candidate
dschulze@731 3688 Recommendation. (Work in progress.) URL: <a
dschulze@731 3689 href="http://www.w3.org/TR/2012/CR-css3-values-20120828/">http://www.w3.org/TR/2012/CR-css3-values-20120828/</a>
dschulze@731 3690 </dd>
dschulze@731 3691 <!---->
dschulze@731 3692
birtles@291 3693 <dt id=DOM>[DOM]
birtles@291 3694
dschulze@659 3695 <dd>Anne van Kesteren; et al. <a
dschulze@659 3696 href="http://www.w3.org/TR/2012/WD-dom-20121206/"><cite>DOM4.</cite></a>
dschulze@659 3697 6 December 2012. W3C Working Draft. (Work in progress.) URL: <a
dschulze@659 3698 href="http://www.w3.org/TR/2012/WD-dom-20121206/">http://www.w3.org/TR/2012/WD-dom-20121206/</a>
dschulze@427 3699 </dd>
birtles@291 3700 <!---->
birtles@291 3701
birtles@291 3702 <dt id=SELECTORS4>[SELECTORS4]
birtles@291 3703
birtles@291 3704 <dd>Elika J. Etemad. <a
dschulze@402 3705 href="http://www.w3.org/TR/2012/WD-selectors4-20120823/"><cite>Selectors
dschulze@402 3706 Level 4.</cite></a> 23 August 2012. W3C Working Draft. (Work in
birtles@291 3707 progress.) URL: <a
dschulze@402 3708 href="http://www.w3.org/TR/2012/WD-selectors4-20120823/">http://www.w3.org/TR/2012/WD-selectors4-20120823/</a>
dschulze@427 3709 </dd>
birtles@291 3710 <!---->
birtles@291 3711
dschulze@273 3712 <dt id=SVG11>[SVG11]
dschulze@273 3713
dschulze@273 3714 <dd>Erik Dahlström; et al. <a
dschulze@273 3715 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/"><cite>Scalable
dschulze@273 3716 Vector Graphics (SVG) 1.1 (Second Edition).</cite></a> 16 August 2011.
dschulze@273 3717 W3C Recommendation. URL: <a
dschulze@273 3718 href="http://www.w3.org/TR/2011/REC-SVG11-20110816/">http://www.w3.org/TR/2011/REC-SVG11-20110816/</a>
dschulze@427 3719 </dd>
dschulze@273 3720 <!---->
dschulze@273 3721 </dl>
dschulze@273 3722 <!--end-normative-->
dschulze@273 3723
dschulze@470 3724 <dl>
dschulze@470 3725 <dt id=ref-svg2><strong class=normref>[SVG2]</strong>
dschulze@470 3726
dschulze@731 3727 <dd> Cameron McCormack; et al. <a
dschulze@470 3728 href="http://www.w3.org/TR/2012/WD-SVG2-20120828/"><cite>Scalable Vector
dschulze@470 3729 Graphics (SVG) 2</cite>.</a> 28 August 2012. W3C Working Draft. (Work in
dschulze@470 3730 progress.) URL: <a
dschulze@470 3731 href="http://www.w3.org/TR/2012/WD-SVG2-20120828/">http://www.w3.org/TR/2012/WD-SVG2-20120828/</a>
dschulze@470 3732 </dl>
dschulze@470 3733
dschulze@273 3734 <h3 class=no-num id=other-references> Other references</h3>
dschulze@273 3735 <!--begin-informative-->
dschulze@273 3736 <!-- Sorted by label -->
dschulze@273 3737
dschulze@273 3738 <dl class=bibliography>
dschulze@273 3739 <dt style="display: none"><!-- keeps the doc valid if the DL is empty -->
dschulze@273 3740 <!---->
dschulze@273 3741
dschulze@273 3742 <dt id=CSS3-TRANSFORMS>[CSS3-TRANSFORMS]
dschulze@273 3743
dschulze@273 3744 <dd>Simon Fraser; et al. <a
dschulze@536 3745 href="http://www.w3.org/TR/2012/WD-css3-transforms-20120911/"><cite>CSS
dschulze@536 3746 Transforms.</cite></a> 11 September 2012. W3C Working Draft. (Work in
dschulze@273 3747 progress.) URL: <a
dschulze@536 3748 href="http://www.w3.org/TR/2012/WD-css3-transforms-20120911/">http://www.w3.org/TR/2012/WD-css3-transforms-20120911/</a>
dschulze@427 3749 </dd>
dschulze@273 3750 <!---->
dschulze@279 3751
dschulze@463 3752 <dt id=CSSOM-VIEW>[CSSOM-VIEW]
dschulze@463 3753
dschulze@463 3754 <dd>Anne van Kesteren. <a
dschulze@463 3755 href="http://www.w3.org/TR/2011/WD-cssom-view-20110804/"><cite>CSSOM View
dschulze@463 3756 Module.</cite></a> 4 August 2011. W3C Working Draft. (Work in progress.)
dschulze@463 3757 URL: <a
dschulze@463 3758 href="http://www.w3.org/TR/2011/WD-cssom-view-20110804/">http://www.w3.org/TR/2011/WD-cssom-view-20110804/</a>
dschulze@463 3759 </dd>
dschulze@463 3760 <!---->
dschulze@273 3761 </dl>
dschulze@273 3762 <!--end-informative-->
dschulze@273 3763
dschulze@273 3764 <h2 class=no-num id=index> Index</h2>
dschulze@273 3765 <!--begin-index-->
dschulze@273 3766
dschulze@273 3767 <ul class=indexlist>
birtles@447 3768 <li>‘<a href="#alpha"><code class=css>alpha</code></a>’, <a
dschulze@551 3769 href="#alpha" title="section 6.2."><strong>6.2.</strong></a>
dschulze@551 3770
dschulze@551 3771 <li>‘<a href="#auto"><code class=css>auto</code></a>’, <a href="#auto"
dschulze@551 3772 title="section 6.2."><strong>6.2.</strong></a>
dschulze@277 3773
dschulze@274 3774 <li>‘<code class=css>border-box</code>’
dschulze@274 3775 <ul>
dschulze@274 3776 <li>‘<a href="#mask-clip"><code class=property>mask-clip</code></a>’
dschulze@274 3777 value, <a href="#border-box"
dschulze@551 3778 title="section 6.5."><strong>6.5.</strong></a>
dschulze@275 3779
dschulze@276 3780 <li>‘<a href="#mask-origin"><code
dschulze@276 3781 class=property>mask-origin</code></a>’ value, <a href="#border-box0"
dschulze@551 3782 title="section 6.6."><strong>6.6.</strong></a>
dschulze@274 3783 </ul>
dschulze@274 3784
dschulze@451 3785 <li>&lt;bottom&gt;, <a href="#ltbottomgt"
dschulze@536 3786 title="section 8.3."><strong>8.3.</strong></a>
dschulze@451 3787
dschulze@273 3788 <li>bounding client rect, <a href="#bounding-client-rect"
dschulze@536 3789 title="section 4."><strong>4.</strong></a>, <a
dschulze@536 3790 href="#bounding-client-rect0" title="section 8.1.">8.1.</a>, <a
dschulze@552 3791 href="#bounding-client-rect1" title="section 8.1.">8.1.</a>, <a
dschulze@552 3792 href="#bounding-client-rect2" title="section 8.5.">8.5.</a>
dschulze@273 3793
dschulze@274 3794 <li><a href="#ltboxgt"><var>&lt;box&gt;</var></a>, <a href="#ltboxgt"
dschulze@551 3795 title="section 6.5."><strong>6.5.</strong></a>
dschulze@274 3796
birtles@288 3797 <li>&lt;child-selector&gt;, <a href="#ltchild-selectorgt"
dschulze@536 3798 title="section 6.1."><strong>6.1.</strong></a>
dschulze@338 3799
dschulze@536 3800 <li>clip, <a href="#ClipProperty"
dschulze@536 3801 title="section 8.3."><strong>8.3.</strong></a>
dschulze@298 3802
dschulze@615 3803 <li><a href="#ltclip-boxgt"><var>&lt;clip-box&gt;</var></a>, <a
dschulze@615 3804 href="#ltclip-boxgt" title="section 6.5."><strong>6.5.</strong></a>
dschulze@615 3805
dschulze@551 3806 <li>clipPath, <a href="#clippath"
dschulze@551 3807 title="section 8.4."><strong>8.4.</strong></a>
dschulze@551 3808
dschulze@298 3809 <li>clip-path, <a href="#clip-path"
dschulze@536 3810 title="section 8.1."><strong>8.1.</strong></a>
dschulze@298 3811
dschulze@298 3812 <li>clip-rule, <a href="#clip-rule"
dschulze@536 3813 title="section 8.2."><strong>8.2.</strong></a>
dschulze@298 3814
dschulze@338 3815 <li>&lt;clip-source&gt;, <a href="#ltclip-sourcegt"
dschulze@536 3816 title="section 8.1."><strong>8.1.</strong></a>
dschulze@338 3817
dschulze@338 3818 <li>‘<a href="#ltcompound-selectorgt"><code
dschulze@338 3819 class=css>&lt;compound-selector&gt;</code></a>’, <a
dschulze@338 3820 href="#ltcompound-selectorgt"
dschulze@536 3821 title="section 6.1."><strong>6.1.</strong></a>
birtles@288 3822
dschulze@275 3823 <li>‘<a href="#content-box0"><code class=css>content-box</code></a>’,
dschulze@551 3824 <a href="#content-box0" title="section 6.6."><strong>6.6.</strong></a>
dschulze@274 3825 <ul>
dschulze@274 3826 <li>‘<a href="#mask-clip"><code class=property>mask-clip</code></a>’
dschulze@274 3827 value, <a href="#content-box"
dschulze@551 3828 title="section 6.5."><strong>6.5.</strong></a>
dschulze@274 3829 </ul>
dschulze@274 3830
dschulze@298 3831 <li>‘<a href="#evenodd"><code class=css>evenodd</code></a>’, <a
dschulze@536 3832 href="#evenodd" title="section 8.2."><strong>8.2.</strong></a>
dschulze@298 3833
birtles@287 3834 <li>&lt;image&gt;, <a href="#ltimagegt"
dschulze@536 3835 title="section 6.1."><strong>6.1.</strong></a>
dschulze@536 3836
dschulze@536 3837 <li>layers, <a href="#layers" title="section 5.1.">5.1.</a>
dschulze@279 3838
dschulze@451 3839 <li>&lt;left&gt;, <a href="#ltleftgt"
dschulze@536 3840 title="section 8.3."><strong>8.3.</strong></a>
dschulze@451 3841
dschulze@273 3842 <li>local coordinate system, <a href="#local-coordinate-system"
dschulze@536 3843 title="section 4."><strong>4.</strong></a>
dschulze@273 3844
birtles@447 3845 <li>‘<a href="#luminance"><code class=css>luminance</code></a>’, <a
dschulze@551 3846 href="#luminance" title="section 6.2."><strong>6.2.</strong></a>
dschulze@536 3847
dschulze@536 3848 <li>mask, <a href="#MaskProperty"
dschulze@551 3849 title="section 6.8."><strong>6.8.</strong></a>, <a href="#mask"
dschulze@551 3850 title="section 6.10."><strong>6.10.</strong></a>, <a href="#mask0"
dschulze@536 3851 title="section 4."><strong>4.</strong></a>
dschulze@274 3852
dschulze@299 3853 <li>mask-box-image, <a href="#mask-box-image0"
dschulze@536 3854 title="section 7.6."><strong>7.6.</strong></a>
dschulze@299 3855
dschulze@301 3856 <li>mask box image area, <a href="#mask-box-image-area"
dschulze@536 3857 title="section 7.4."><strong>7.4.</strong></a>
dschulze@301 3858
dschulze@299 3859 <li>mask-box-image-outset, <a href="#mask-box-image-outset"
dschulze@536 3860 title="section 7.4."><strong>7.4.</strong></a>
dschulze@299 3861
dschulze@299 3862 <li>mask-box-image-repeat, <a href="#mask-box-image-repeat"
dschulze@536 3863 title="section 7.5."><strong>7.5.</strong></a>
dschulze@299 3864
dschulze@299 3865 <li>mask-box-image-slice, <a href="#mask-box-image-slice"
dschulze@536 3866 title="section 7.2."><strong>7.2.</strong></a>
dschulze@299 3867
dschulze@299 3868 <li>mask-box-image-source, <a href="#mask-box-image-source"
dschulze@536 3869 title="section 7.1."><strong>7.1.</strong></a>
dschulze@299 3870
dschulze@299 3871 <li>mask-box-image-width, <a href="#mask-box-image-width"
dschulze@536 3872 title="section 7.3."><strong>7.3.</strong></a>
dschulze@299 3873
dschulze@274 3874 <li>mask-clip, <a href="#mask-clip"
dschulze@551 3875 title="section 6.5."><strong>6.5.</strong></a>
dschulze@278 3876
dschulze@607 3877 <li>&lt;mask-element&gt;, <a href="#ltmask-elementgt"
dschulze@607 3878 title="section 6.1."><strong>6.1.</strong></a>
dschulze@607 3879
birtles@287 3880 <li>&lt;mask-image&gt;, <a href="#ltmask-imagegt"
dschulze@536 3881 title="section 6.1."><strong>6.1.</strong></a>
dschulze@274 3882
dschulze@274 3883 <li>mask-image, <a href="#mask-image"
dschulze@536 3884 title="section 6.1."><strong>6.1.</strong></a>
dschulze@536 3885
dschulze@536 3886 <li>mask image area, <a href="#mask-image-area" title="section 7.">7.</a>
dschulze@342 3887
birtles@288 3888 <li>&lt;mask-layer&gt;, <a href="#ltmask-layergt"
dschulze@551 3889 title="section 6.8."><strong>6.8.</strong></a>
dschulze@277 3890
dschulze@276 3891 <li>mask-origin, <a href="#mask-origin"
dschulze@551 3892 title="section 6.6."><strong>6.6.</strong></a>
dschulze@276 3893
dschulze@274 3894 <li>mask painting area, <a href="#mask-painting-area"
dschulze@551 3895 title="section 6.5."><strong>6.5.</strong></a>, <a
dschulze@551 3896 href="#mask-painting-area0" title="section 6.3.">6.3.</a>, <a
dschulze@659 3897 href="#mask-painting-area1" title="section 6.4.">6.4.</a>
dschulze@274 3898
dschulze@274 3899 <li>mask-position, <a href="#mask-position"
dschulze@551 3900 title="section 6.4."><strong>6.4.</strong></a>
dschulze@274 3901
dschulze@275 3902 <li>mask positioning area, <a href="#mask-positioning-area"
dschulze@659 3903 title="section 6.6."><strong>6.6.</strong></a>
dschulze@536 3904
dschulze@536 3905 <li>&lt;mask-reference&gt;, <a href="#ltmask-referencegt"
dschulze@536 3906 title="section 6.1."><strong>6.1.</strong></a>
dschulze@275 3907
dschulze@274 3908 <li>mask-repeat, <a href="#mask-repeat"
dschulze@551 3909 title="section 6.3."><strong>6.3.</strong></a>
dschulze@274 3910
dschulze@277 3911 <li><a href="#ltmask-sizegt"><var>&lt;mask-size&gt;</var></a>, <a
dschulze@551 3912 href="#ltmask-sizegt" title="section 6.7."><strong>6.7.</strong></a>
dschulze@277 3913
dschulze@277 3914 <li>mask-size, <a href="#mask-size"
dschulze@551 3915 title="section 6.7."><strong>6.7.</strong></a>
dschulze@277 3916
dschulze@281 3917 <li>mask source, <a href="#mask-source"
dschulze@536 3918 title="section 4."><strong>4.</strong></a>
dschulze@281 3919
dschulze@551 3920 <li>mask-source-type, <a href="#mask-source-type"
dschulze@551 3921 title="section 6.2."><strong>6.2.</strong></a>
dschulze@551 3922
dschulze@277 3923 <li>mask-type, <a href="#mask-type"
dschulze@551 3924 title="section 6.9."><strong>6.9.</strong></a>
dschulze@536 3925
dschulze@536 3926 <li>‘<code class=css>no-clip</code>’
dschulze@474 3927 <ul>
dschulze@474 3928 <li>‘<a href="#mask-clip"><code class=property>mask-clip</code></a>’
dschulze@536 3929 value, <a href="#no-clip"
dschulze@551 3930 title="section 6.5."><strong>6.5.</strong></a>
dschulze@474 3931 </ul>
dschulze@277 3932
dschulze@536 3933 <li>‘<a href="#none"><code class=css>none</code></a>’, <a href="#none"
dschulze@536 3934 title="section 6.1."><strong>6.1.</strong></a>
dschulze@536 3935
dschulze@298 3936 <li>‘<a href="#nonzero"><code class=css>nonzero</code></a>’, <a
dschulze@536 3937 href="#nonzero" title="section 8.2."><strong>8.2.</strong></a>
dschulze@298 3938
dschulze@273 3939 <li>object bounding box units, <a href="#object-bounding-box-units"
dschulze@536 3940 title="section 4."><strong>4.</strong></a>, <a
dschulze@536 3941 href="#object-bounding-box-units0" title="section 8.4.">8.4.</a>
dschulze@273 3942
dschulze@274 3943 <li>‘<code class=css>padding-box</code>’
dschulze@274 3944 <ul>
dschulze@274 3945 <li>‘<a href="#mask-clip"><code class=property>mask-clip</code></a>’
dschulze@274 3946 value, <a href="#padding-box"
dschulze@551 3947 title="section 6.5."><strong>6.5.</strong></a>
dschulze@275 3948
dschulze@276 3949 <li>‘<a href="#mask-origin"><code
dschulze@276 3950 class=property>mask-origin</code></a>’ value, <a href="#padding-box0"
dschulze@551 3951 title="section 6.6."><strong>6.6.</strong></a>
dschulze@274 3952 </ul>
dschulze@274 3953
dschulze@274 3954 <li><a href="#ltpositiongt"><var>&lt;position&gt;</var></a>, <a
dschulze@551 3955 href="#ltpositiongt" title="section 6.4."><strong>6.4.</strong></a>
dschulze@274 3956
dschulze@274 3957 <li><a href="#ltrepeat-stylegt"><var>&lt;repeat-style&gt;</var></a>, <a
dschulze@551 3958 href="#ltrepeat-stylegt" title="section 6.3."><strong>6.3.</strong></a>
dschulze@274 3959
dschulze@451 3960 <li>&lt;right&gt;, <a href="#ltrightgt"
dschulze@536 3961 title="section 8.3."><strong>8.3.</strong></a>
dschulze@451 3962
dschulze@338 3963 <li>‘<a href="#ltshapegt"><code class=css>&lt;shape&gt;</code></a>’,
dschulze@536 3964 <a href="#ltshapegt" title="section 8.1."><strong>8.1.</strong></a>
dschulze@338 3965
dschulze@551 3966 <li><a href="#ltsource-typegt"><var>&lt;source-type&gt;</var></a>, <a
dschulze@551 3967 href="#ltsource-typegt" title="section 6.2."><strong>6.2.</strong></a>
dschulze@551 3968
dschulze@451 3969 <li>&lt;top&gt;, <a href="#lttopgt"
dschulze@536 3970 title="section 8.3."><strong>8.3.</strong></a>
dschulze@451 3971
dschulze@443 3972 <li>‘<a href="#lturlgt"><code class=css>&lt;url&gt;</code></a>’, <a
dschulze@536 3973 href="#lturlgt" title="section 6.1."><strong>6.1.</strong></a>
dschulze@443 3974
dschulze@273 3975 <li>user coordinate system, <a href="#user-coordinate-system"
dschulze@536 3976 title="section 4."><strong>4.</strong></a>
dschulze@273 3977 </ul>
dschulze@273 3978 <!--end-index-->
dschulze@273 3979
dschulze@273 3980 <h2 class=no-num id=property-index> Property index</h2>
dschulze@273 3981 <!--begin-properties-->
dschulze@273 3982
dschulze@273 3983 <table class=proptable>
dschulze@273 3984 <thead>
dschulze@273 3985 <tr>
dschulze@273 3986 <th>Property
dschulze@273 3987
dschulze@273 3988 <th>Values
dschulze@273 3989
dschulze@273 3990 <th>Initial
dschulze@273 3991
dschulze@551 3992 <th>Applies to
dschulze@273 3993
dschulze@273 3994 <th>Inh.
dschulze@273 3995
dschulze@273 3996 <th>Percentages
dschulze@273 3997
dschulze@273 3998 <th>Media
dschulze@273 3999
dschulze@273 4000 <tbody>
dschulze@273 4001 <tr>
dschulze@536 4002 <th><a class=property href="#ClipProperty">clip</a>
dschulze@536 4003
dschulze@536 4004 <td>&lt;shape&gt; | auto
dschulze@536 4005
dschulze@536 4006 <td>see individual properties
dschulze@536 4007
dschulze@536 4008 <td>Absolutely positioned elements. In SVG, it applies to elements which
dschulze@551 4009 establish a new viewport, ‘pattern’ elements and ‘marker’
dschulze@551 4010 elements.
dschulze@536 4011
dschulze@536 4012 <td>no
dschulze@536 4013
dschulze@536 4014 <td>N/A
dschulze@536 4015
dschulze@536 4016 <td>visual
dschulze@536 4017
dschulze@536 4018 <tr>
dschulze@551 4019 <th><a class=property href="#clippath">clipPath</a>
dschulze@551 4020
dschulze@551 4021 <td>
dschulze@551 4022
dschulze@551 4023 <td>
dschulze@551 4024
dschulze@551 4025 <td>
dschulze@551 4026
dschulze@551 4027 <td>
dschulze@551 4028
dschulze@551 4029 <td>
dschulze@551 4030
dschulze@551 4031 <td>
dschulze@551 4032
dschulze@551 4033 <tr>
dschulze@298 4034 <th><a class=property href="#clip-path">clip-path</a>
dschulze@298 4035
dschulze@338 4036 <td>&lt;shape&gt; | &lt;clip-source&gt; | none
dschulze@298 4037
dschulze@298 4038 <td>none
dschulze@298 4039
dschulze@298 4040 <td>All elements. SVG container elements, graphics elements and
dschulze@298 4041 ‘clipPath’
dschulze@298 4042
dschulze@298 4043 <td>no
dschulze@298 4044
dschulze@338 4045 <td>as specified
dschulze@298 4046
dschulze@298 4047 <td>visual
dschulze@298 4048
dschulze@298 4049 <tr>
dschulze@536 4050 <th><a class=property href="#clip-rule">clip-rule</a>
dschulze@536 4051
dschulze@536 4052 <td>nonzero | evenodd
dschulze@536 4053
dschulze@536 4054 <td>nonzero
dschulze@536 4055
dschulze@536 4056 <td>graphics elements within a ‘clipPath’ element
dschulze@536 4057
dschulze@536 4058 <td>yes
dschulze@536 4059
dschulze@536 4060 <td>N/A
dschulze@536 4061
dschulze@536 4062 <td>visual
dschulze@298 4063
dschulze@298 4064 <tr>
dschulze@551 4065 <th><a class=property href="#mask">mask</a>
dschulze@551 4066
dschulze@551 4067 <td>
dschulze@551 4068
dschulze@551 4069 <td>
dschulze@551 4070
dschulze@551 4071 <td>
dschulze@551 4072
dschulze@551 4073 <td>
dschulze@551 4074
dschulze@551 4075 <td>
dschulze@551 4076
dschulze@551 4077 <td>
dschulze@551 4078
dschulze@551 4079 <tr>
dschulze@536 4080 <th><a class=property href="#MaskProperty">mask</a>
dschulze@536 4081
dschulze@536 4082 <td>&lt;mask-layer&gt;#
dschulze@451 4083
dschulze@451 4084 <td>see individual properties
dschulze@451 4085
dschulze@536 4086 <td>All elements. In SVG, it applies to container elements and graphics
dschulze@536 4087 elements
dschulze@451 4088
dschulze@451 4089 <td>no
dschulze@451 4090
dschulze@536 4091 <td>see individual properties
dschulze@299 4092
dschulze@299 4093 <td>visual
dschulze@299 4094
dschulze@299 4095 <tr>
dschulze@299 4096 <th><a class=property href="#mask-box-image0">mask-box-image</a>
dschulze@299 4097
dschulze@299 4098 <td>&lt;‘mask-box-image-source’&gt; ||
dschulze@299 4099 &lt;‘mask-box-image-slice’&gt; [ /
dschulze@299 4100 &lt;‘mask-box-image-width’&gt; | /
dschulze@299 4101 &lt;‘mask-box-image-width’&gt;? /
dschulze@299 4102 &lt;‘mask-box-image-outset’&gt; ]? ||
dschulze@299 4103 &lt;‘mask-box-image-repeat’&gt;
dschulze@299 4104
dschulze@299 4105 <td>See individual properties
dschulze@299 4106
dschulze@299 4107 <td>See individual properties
dschulze@299 4108
dschulze@299 4109 <td>no
dschulze@299 4110
dschulze@299 4111 <td>N/A
dschulze@299 4112
dschulze@299 4113 <td>visual
dschulze@299 4114
dschulze@299 4115 <tr>
dschulze@299 4116 <th><a class=property
dschulze@536 4117 href="#mask-box-image-outset">mask-box-image-outset</a>
dschulze@536 4118
dschulze@536 4119 <td>[ &lt;length&gt; | &lt;number&gt; ]{1,4}
dschulze@536 4120
dschulze@536 4121 <td>0
dschulze@299 4122
dschulze@299 4123 <td>All elements. In SVG, it applies to container elements and graphics
dschulze@299 4124 elements.
dschulze@299 4125
dschulze@299 4126 <td>no
dschulze@299 4127
dschulze@536 4128 <td>N/A
dschulze@536 4129
dschulze@536 4130 <td>visual
dschulze@536 4131
dschulze@536 4132 <tr>
dschulze@536 4133 <th><a class=property
dschulze@536 4134 href="#mask-box-image-repeat">mask-box-image-repeat</a>
dschulze@536 4135
dschulze@536 4136 <td>[ stretch | repeat | round | space ]{1,2}
dschulze@536 4137
dschulze@536 4138 <td>stretch
dschulze@536 4139
dschulze@536 4140 <td>All elements. In SVG, it applies to container elements and graphics
dschulze@536 4141 elements.
dschulze@536 4142
dschulze@536 4143 <td>no
dschulze@536 4144
dschulze@536 4145 <td>N/A
dschulze@536 4146
dschulze@536 4147 <td>visual
dschulze@536 4148
dschulze@536 4149 <tr>
dschulze@536 4150 <th><a class=property
dschulze@536 4151 href="#mask-box-image-slice">mask-box-image-slice</a>
dschulze@536 4152
dschulze@536 4153 <td>[&lt;number&gt; | &lt;percentage&gt;]{1,4} &amp;&amp; fill?
dschulze@536 4154
dschulze@536 4155 <td>0 fill
dschulze@536 4156
dschulze@536 4157 <td>All elements. In SVG, it applies to container elements and graphics
dschulze@536 4158 elements.
dschulze@536 4159
dschulze@536 4160 <td>no
dschulze@536 4161
dschulze@536 4162 <td>refer to size of the mask image
dschulze@536 4163
dschulze@536 4164 <td>visual
dschulze@536 4165
dschulze@536 4166 <tr>
dschulze@536 4167 <th><a class=property
dschulze@536 4168 href="#mask-box-image-source">mask-box-image-source</a>
dschulze@536 4169
dschulze@536 4170 <td>&lt;mask-image&gt;
dschulze@536 4171
dschulze@536 4172 <td>none
dschulze@536 4173
dschulze@536 4174 <td>All elements. In SVG, it applies to container elements and graphics
dschulze@536 4175 elements.
dschulze@536 4176
dschulze@536 4177 <td>no
dschulze@536 4178
dschulze@536 4179 <td>N/A
dschulze@536 4180
dschulze@536 4181 <td>visual
dschulze@536 4182
dschulze@536 4183 <tr>
dschulze@536 4184 <th><a class=property
dschulze@536 4185 href="#mask-box-image-width">mask-box-image-width</a>
dschulze@536 4186
dschulze@536 4187 <td>[ &lt;length&gt; | &lt;percentage&gt; | &lt;number&gt; | auto ]{1,4}
dschulze@536 4188
dschulze@536 4189 <td>auto
dschulze@536 4190
dschulze@536 4191 <td>All elements. In SVG, it applies to container elements and graphics
dschulze@536 4192 elements.
dschulze@536 4193
dschulze@536 4194 <td>no
dschulze@536 4195
dschulze@451 4196 <td>relative to width/height of the mask box image area
dschulze@299 4197
dschulze@299 4198 <td>visual
dschulze@299 4199
dschulze@299 4200 <tr>
dschulze@274 4201 <th><a class=property href="#mask-clip">mask-clip</a>
dschulze@274 4202
dschulze@615 4203 <td>&lt;clip-box&gt;#
dschulze@274 4204
dschulze@274 4205 <td>border-box
dschulze@274 4206
dschulze@274 4207 <td>All elements. In SVG, it applies to container elements and graphics
dschulze@274 4208 elements
dschulze@274 4209
dschulze@274 4210 <td>no
dschulze@274 4211
dschulze@274 4212 <td>N/A
dschulze@274 4213
dschulze@274 4214 <td>visual
dschulze@274 4215
dschulze@274 4216 <tr>
dschulze@274 4217 <th><a class=property href="#mask-image">mask-image</a>
dschulze@274 4218
dschulze@607 4219 <td>&lt;mask-reference&gt;
dschulze@274 4220
dschulze@274 4221 <td>none
dschulze@274 4222
dschulze@274 4223 <td>All elements. In SVG, it applies to container elements and graphics
dschulze@274 4224 elements
dschulze@274 4225
dschulze@274 4226 <td>no
dschulze@274 4227
dschulze@274 4228 <td>N/A
dschulze@274 4229
dschulze@274 4230 <td>visual
dschulze@274 4231
dschulze@274 4232 <tr>
dschulze@276 4233 <th><a class=property href="#mask-origin">mask-origin</a>
dschulze@276 4234
dschulze@280 4235 <td>&lt;box&gt;#
dschulze@276 4236
dschulze@276 4237 <td>padding-box
dschulze@276 4238
dschulze@277 4239 <td>All elements. In SVG, it applies to container elements and graphics
dschulze@277 4240 elements
dschulze@276 4241
dschulze@276 4242 <td>no
dschulze@276 4243
dschulze@276 4244 <td>N/A
dschulze@276 4245
dschulze@276 4246 <td>visual
dschulze@276 4247
dschulze@276 4248 <tr>
dschulze@274 4249 <th><a class=property href="#mask-position">mask-position</a>
dschulze@274 4250
dschulze@280 4251 <td>&lt;position&gt;#
dschulze@274 4252
dschulze@274 4253 <td>0% 0%
dschulze@274 4254
dschulze@274 4255 <td>All elements. In SVG, it applies to container elements and graphics
dschulze@274 4256 elements
dschulze@274 4257
dschulze@274 4258 <td>no
dschulze@274 4259
dschulze@274 4260 <td>refer to size of mask painting area minus size of mask image; see
dschulze@274 4261 text
dschulze@274 4262
dschulze@274 4263 <td>visual
dschulze@274 4264
dschulze@274 4265 <tr>
dschulze@274 4266 <th><a class=property href="#mask-repeat">mask-repeat</a>
dschulze@274 4267
dschulze@280 4268 <td>&lt;repeat-style&gt;#
dschulze@274 4269
dschulze@274 4270 <td>repeat
dschulze@274 4271
dschulze@274 4272 <td>All elements. In SVG, it applies to container elements and graphics
dschulze@274 4273 elements
dschulze@274 4274
dschulze@274 4275 <td>no
dschulze@274 4276
dschulze@274 4277 <td>N/A
dschulze@274 4278
dschulze@274 4279 <td>visual
dschulze@274 4280
dschulze@274 4281 <tr>
dschulze@277 4282 <th><a class=property href="#mask-size">mask-size</a>
dschulze@277 4283
dschulze@280 4284 <td>&lt;mask-size&gt;#
dschulze@277 4285
dschulze@277 4286 <td>auto
dschulze@273 4287
dschulze@273 4288 <td>All elements. In SVG, it applies to container elements and graphics
dschulze@273 4289 elements
dschulze@273 4290
dschulze@273 4291 <td>no
dschulze@273 4292
dschulze@277 4293 <td>see text
dschulze@273 4294
dschulze@273 4295 <td>visual
dschulze@273 4296
dschulze@273 4297 <tr>
dschulze@551 4298 <th><a class=property href="#mask-source-type">mask-source-type</a>
dschulze@551 4299
dschulze@551 4300 <td>&lt;source-type&gt;#
dschulze@551 4301
dschulze@551 4302 <td>auto
dschulze@551 4303
dschulze@551 4304 <td>All elements. In SVG, it applies to container elements and graphics
dschulze@551 4305 elements
dschulze@551 4306
dschulze@551 4307 <td>no
dschulze@551 4308
dschulze@551 4309 <td>N/A
dschulze@551 4310
dschulze@551 4311 <td>visual
dschulze@551 4312
dschulze@551 4313 <tr>
dschulze@277 4314 <th><a class=property href="#mask-type">mask-type</a>
dschulze@277 4315
dschulze@552 4316 <td>luminance | alpha
dschulze@277 4317
dschulze@432 4318 <td>luminance
dschulze@432 4319
dschulze@551 4320 <td>‘mask’ elements
dschulze@277 4321
dschulze@277 4322 <td>no
dschulze@277 4323
dschulze@277 4324 <td>N/A
dschulze@277 4325
dschulze@277 4326 <td>visual
dschulze@273 4327 </table>
dschulze@273 4328 <!--end-properties-->
dschulze@273 4329 </html>
dschulze@470 4330 <!-- Keep this comment at the end of the file
dschulze@470 4331 Local variables:
dschulze@470 4332 mode: sgml
dschulze@470 4333 sgml-declaration:"~/SGML/HTML4.decl"
dschulze@470 4334 sgml-default-doctype-name:"html"
dschulze@470 4335 sgml-minimize-attributes:t
dschulze@470 4336 sgml-nofill-elements:("pre" "style" "br")
dschulze@470 4337 sgml-live-element-indicator:t
dschulze@470 4338 sgml-omittag:nil
dschulze@470 4339 sgml-shorttag:nil
dschulze@470 4340 sgml-namecase-general:t
dschulze@470 4341 sgml-general-insert-case:lower
dschulze@470 4342 sgml-always-quote-attributes:t
dschulze@470 4343 sgml-indent-step:nil
dschulze@470 4344 sgml-indent-data:t
dschulze@470 4345 sgml-parent-document:nil
dschulze@470 4346 sgml-exposed-tags:nil
dschulze@470 4347 sgml-local-catalogs:nil
dschulze@470 4348 sgml-local-ecat-files:nil
dschulze@470 4349 End:
dschulze@273 4350 -->

mercurial