the <span>exclusion area</span> for an <span>exclusion element</span>
        or 
(cut from Shapes section intro)


        <span>exclusions</span> and
(cut from Shapes section intro note)

    
    <dfn>Content area</dfn>
    <p>
        The <a href="http://www.w3.org/TR/CSS2/box.html#box-dimensions">content area</a> 
        is normally used for layout of the inline flow content of a box.
    </p>

    <div class="issue-marker" data-bug_id="15089" data-bug_status="NEW">
      <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15089">Issue-15089</a>
      <div class="issue-details">
          <p class="short-desc">shrink-to-fit circle / shape</p>
      </div>  
    </div>
    
    <dfn title="outside-inside">Outside and inside</dfn>
    
    <p>
        In this specification, 'outside' refers to DOM content that is not a descendant of an element 
        while 'inside' refers to the element's descendants.
    </p>
(cut from shapes definitions)


        The inside shape defines an element's <span>content shape</span> and the element's inline 
        content will flow within that shape.

            <p class="note">It is important to note that while outside shapes only apply to floats, inside shapes apply to all block-level elements.</p>
(cut from shapes intro)

    
    <div class="example">
        <p>
            CSS 'shape-outside' and CSS box model relation: 
            the red box illustrates the exclusion element's
            content box, which is unmodified and subject to normal CSS positioning (here absolute positioning).</p>
<pre><code class="html">
&lt;style type="text/css"&gt; 
    .exclusion  {
        wrap-flow: both; 
        position: absolute; 
        top: 25%;
        left: 25%;
        width: 50%;
        height: 50%;
        shape-outside: circle(50%, 50%, 50%); 
        border: 1px solid red; 
    } 
&lt;/style&gt; 

&lt;div style=”position: relative;”&gt; 
    &lt;div class=”exclusion”&gt;&lt;/div&gt; 
    Lorem ipsum dolor sit amet... 
&lt;/div&gt;
</code></pre>
        <img class="singleImgExample" src="images/shapes_CSS2.1_MBP.png" alt="Example rendering of circle shape and box model."  style="max-width:40%"/>
    </div>
(cut exclusion example from shapes intro)

      
      <p class="note">
          Note, images can define cavities and inline flow content should wrap inside
          them. In order to avoid that, another exclusion element can be overlaid.
      </p>
(cut from Shapes from Image)

      <p>
          The shape defined by the 'shape-inside' 
          and 'shape-padding' properties 
          defines an <span>exclusion area</span> 
          that contributes 
          to the element's <span>wrapping context</span>. 
          The 'shape-inside' property applies 
          to all block-level elements.
      </p>
(cut from Declaring Shapes, along with shape-inside references)

The shape is computed 
            based on the border box of the element for exclusions, 
            or computed based on the margin box for floats.
(cut from shape-outside:auto definition)

      
      <div class='figure'>
          <img alt="arbitrary shapes for exclusions. Illustrates how content flows around shapes" src="images/shapes-exclusions.png" width="70%"/>
          <p class="caption">Arbitrary shapes for exclusions</p>
      </div>
      
      <div>
          <p>The above figure shows how 
            'shape-outside' shapes 
            impact the <span>exclusion areas</span>. 
            The red box represents an element's content box 
            and 'A', 'B', 'C' and 'C' represent exclusions 
            with a complex shape 
            and their 'wrap-flow' property 
            computes to 'both', 'start', 'end' and 'clear', 
            respectively.</p>
              
          <p>As illustrated in the picture, 
            when an exclusion allows wrapping 
            on all sides, 
            text can flow inside 'holes' 
            in the exclusion 
            (as for exclusion 'A'). 
            Otherwise, the exclusion clears 
            the area on the side(s) 
            defined by 'wrap-flow', 
            as illustrated 
            for 'B', 'C' and 'D' above.</p>
      </div>
(cut from shape-outside)

      <h4 id="shape-inside-property">The 'shape-inside' Property</h4>
      <p>
          The 'shape-inside' property adds 
          one or more exclusion areas 
          to the element's wrapping context. 
          This modifies the normal rectangular shape 
          of the content area 
          to a possibly non-rectangular wrapping area. 
          The exclusion areas  
          are defined by subtracting the shape 
          from the element's content area. 
          Any part of the shape outside 
          the element's content area 
          has no effect.
      </p>

      <table class="propdef">
          <tr>
              <th>Name:</th>
              <td><dfn title="'shape-inside'">shape-inside</dfn></td>
          </tr>
          <tr>
              <th>Value:</th>
              <td><var>outside-shape</var> | <var>auto</var> | <var>&lt;basic-shape&gt;</var> | <var>&lt;uri&gt;</var></td>
          </tr>
          <tr>
              <th>Initial:</th>
              <td>outside-shape</td>
          </tr>
          <tr>
              <th>Applies to:</th>
              <td>block-level elements</td>
          </tr>
          <tr>
              <th>Inherited:</th>
              <td>no</td>
          </tr>
          <tr>
              <th>Percentages:</th>
              <td>N/A</td>
          </tr>
          <tr>
              <th>Computed&nbsp;value:</th>
              <td>computed lengths for &lt;basic-shape&gt;, the absolute URI for &lt;uri&gt;, otherwise as specified</td>
          </tr>
      </table>

    <p>The values of this property have the following meanings:</p>
    <dl>
        <dt><dfn title="'shape-inside'!!'outside-shape'">outside-shape</dfn></dt>
        <dd>
            The shape is computed 
            based on the computed value 
            of the 'shape-outside' property. 
            E.g., when shape-outside 
            computes to 'auto', 
            use the meaning of 'auto' below 
            to compute the shape.
        </dd>
    </dl>
    <dl>
        <dt><dfn title="'shape-inside'!!'auto'">auto</dfn></dt>
        <dd>
            The shape is computed based on the content box of the element.
        </dd>
    </dl>
    <dl>
        <dt><dfn title="'shape-inside'!!'&lt;basic-shape&gt;'">&lt;basic-shape&gt;</dfn></dt>
        <dd>
            The shape is computed based on the values of one of 'rectangle', 'inset-rectangle', 'circle', 'ellipse'
            or 'polygon'.
        </dd>
    </dl>
    <dl>
        <dt><dfn title="'shape-inside'!!'&lt;uri&gt;'">&lt;uri&gt;</dfn></dt>
        <dd>
            If the &lt;uri&gt; references an SVG shape element, that element defines the shape.
              Otherwise, if the &lt;uri&gt; references an image, the shape is extracted and computed 
              based on the alpha channel of the specified image.
          
              If the &lt;uri&gt; does not reference an SVG shape element or an image, the 
              effect is as if the value 'auto' had been specified.
        </dd>
    </dl>
    
    <p>The 'shape-inside' property applies to floats.</p>
    
    <p>The 'shape-inside' property may not apply on some elements such as elements with a 
        computed 'display' value of 'table'.</p>

    <div class='figure'>
        <img alt="Content flowing with and without a shape-inside" src="images/shape-inside-content.png"/>
        <p class="caption">Effect of shape-inside on inline content.</p>
    </div>

    <p>Overflow content avoids 
        the exclusion area(s) added 
        by 'shape-inside' and 'shape-padding' 
        (as well as any other exclusion areas 
        in the element's wrapping context).</p>

    <div class='figure'>
            <img alt="Overflow interacting with rounded rect" style="display:inline-block;vertical-align:top" src="images/rounded-rect-overflow.png"/>
            <img alt="Overflow interacting with ellipse" style="display:inline-block;vertical-align:top" src="images/ellipse-overflow.png"/>
        <p class="caption">Overflow interacting with exclusion areas defined by 'shape-inside' and 'shape-padding'.</p>
    </div>
        
    <!-- End section "The shape-inside property" -->
 
  The 'shape-image-threshold'
        applies to both 'shape-outside' and 'shape-inside'.
(cut from shape-image-threshold)


    <h4 id="shape-padding-property">The 'shape-padding' Property</h4>
    <p>
        The 'shape-padding' property adds padding to a shape-inside. 
        This defines a new shape where every point 
        is the specified distance from the shape-inside. 
        This property takes on positive values only.
    </p>
    <table class="propdef">
        <tr>
            <th>Name:</th>
            <td><dfn title="'shape-padding'">shape-padding</dfn></td>
        </tr>
        <tr>
            <th>Value:</th>
            <td><var>&lt;length&gt;</var></td>
        </tr>
        <tr>
            <th>Initial:</th>
            <td>0</td>
        </tr>
        <tr>
            <th>Applies to:</th>
            <td>block-level elements</td>
        </tr>
        <tr>
            <th>Inherited:</th>
            <td>no</td>
        </tr>
        <tr>
            <th>Percentages:</th>
            <td>N/A</td>
        </tr>
        <tr>
            <th>Computed&nbsp;value:</th>
            <td>the absolute length</td>
        </tr>
    </table>

    <div class="example">
        <p>A 'shape-padding' creating an offset 
            from a circular shape-inside. 
            The light blue rectangles represent 
            inline content affected 
            by the shape created 
            by the padding.</p>
        <img src="images/shape-padding.png" 
            alt="Example of a shape-padding offset"/>
    </div>
    <!-- End section "shape-padding property" -->
    
    <div class="note">Note that the 'shape-padding' property only affects layout of content inside 
        the element it applies to while the 'shape-margin' property only affects layout of content 
        outside the element.</div>
    
