Skip to content

Commit 226b29e

Browse files
committed
Adding new styling for issues in the spec.
Removed the section for the proposed Processing model since it relied on a particular positioning scheme which is not in the scope of this module.
1 parent 852c2e9 commit 226b29e

2 files changed

Lines changed: 350 additions & 225 deletions

File tree

css3-exclusions/Exclusions.src.html

Lines changed: 160 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -28,31 +28,79 @@
2828
.example-table tr td img {
2929
width: 90%;
3030
}
31-
32-
a.toggle {
33-
position: fixed;
34-
top: 0.5em;
35-
right: 0.5em;
36-
font-size: smaller;
37-
color: gray;
38-
opacity: 0.2;
31+
32+
@media screen and (min-width: 68em){
33+
.issue-marker {
34+
position: absolute;
35+
width: 20ex;
36+
margin-left: -22ex;
37+
text-align: right;
38+
margin-bottom: 1em;
39+
}
40+
41+
div.issue-marker .issue-marker {
42+
position: static;
43+
width: auto;
44+
margin-left: 0;
45+
text-align: right;
46+
}
47+
48+
div.issue-marker {
49+
position: absolute;
50+
width: 20ex;
51+
margin-left: -22ex;
52+
}
3953
}
4054

41-
a.toggle:hover {
42-
opacity: 1;
43-
color: #46A4E9;
55+
@media screen and (max-width: 68em){
56+
.issue-marker {
57+
margin-bottom: 1em;
58+
}
59+
60+
.issue-marker a:link {
61+
padding-left: 0.5em;
62+
}
63+
}
64+
65+
.issue-marker {
66+
background:#eee;
67+
border:1px solid #ddd;
68+
font-size: 1em;
69+
}
70+
71+
.issue-marker.wrapper {
72+
background: none;
73+
border: none;
74+
}
75+
76+
.issue-marker a:link {
77+
color: #c00;
78+
background: none;
79+
font-weight: normal;
80+
padding-right: 0.5em;
81+
}
82+
83+
.issue-details {
84+
padding:0.5em;
85+
font-size: 0.8em;
86+
line-height: 1.5;
4487
}
45-
46-
.issue-marker a {
47-
background: #c00;
48-
color: white;
49-
font-weight: bold;
50-
padding: 0.5em;
51-
}
52-
53-
.issue-marker-resolved a {
54-
background: green;
55-
}
88+
89+
.issue-details p{
90+
padding:0;
91+
margin:0;
92+
}
93+
94+
.issue-details .status{
95+
background:#333;
96+
color:white;
97+
float:left;
98+
padding:0.15em 0.8em;
99+
font-size:0.8em;
100+
margin-right:0.8em;
101+
text-transform:uppercase;
102+
}
103+
56104
</style>
57105
<link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-ED.css" />
58106

@@ -99,8 +147,7 @@ <h2 class="no-num no-toc" id="abstract">Abstract</h2>
99147

100148
<p>
101149
CSS exclusions define arbitrary areas around which inline content can flow.
102-
Unlike CSS floats, which they extend, CSS exclusions can be positioned with any
103-
CSS positioning schemes.
150+
CSS exclusions can be defined on any CSS block-level elements.
104151
</p>
105152
<p>
106153
CSS Shapes control the geometric shapes used for wrapping inline
@@ -143,8 +190,12 @@ <h2 id="definitions">Definitions</h2>
143190
</p>
144191

145192
<dfn>Exclusion area</dfn>
146-
<div class=issue-marker><a
147-
href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15087">Bug-15087</a></div>
193+
<div class="issue-marker" data-bug_id="15087" data-bug_status="NEW">
194+
<a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15087">Bug-15087</a>
195+
<div class="issue-details">
196+
<p class="short-desc">Interaction of floats and exclusions (Howcome's questions)</p>
197+
</div>
198+
</div>
148199
<p>
149200
The area used for excluding inline flow content around an exclusion element. The
150201
exclusion area is equivalent to the <a href="http://www.w3.org/TR/CSS2/box.html#box-dimensions">
@@ -156,8 +207,12 @@ <h2 id="definitions">Definitions</h2>
156207
</p>
157208

158209
<dfn>Wrapping context</dfn>
159-
<div class=issue-marker><a
160-
href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15086">Bug-15086</a></div>
210+
<div class="issue-marker" data-bug_id="15086" data-bug_status="NEW">
211+
<a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15086">Bug-15086</a>
212+
<div class="issue-details">
213+
<p class="short-desc">should the wrapping context be generic and include floats?</p>
214+
</div>
215+
</div>
161216

162217
<p>
163218
The wrapping context of an element is a collection of 'exclusion areas'. The wrapping
@@ -249,7 +304,8 @@ <h4 id="wrap-flow-property">The 'wrap-flow' property</h4>
249304
<dl>
250305
<dt><dfn title="'wrap-flow'!!'auto'">auto</dfn></dt>
251306
<dd>
252-
For floats an exclusion is created, for all other elements an exclusion is not created.
307+
Exclusion is not created and inline flow content interacts with the element as usual.
308+
For example it will wrap around floats and other elements.
253309
</dd>
254310
<dt><dfn title="'wrap-flow'!!'both'">both</dfn></dt>
255311
<dd>
@@ -304,25 +360,34 @@ <h4 id="wrap-flow-property">The 'wrap-flow' property</h4>
304360
<p class="caption">Combining exclusions</p>
305361
</div>
306362

307-
<div>
308-
<p>The above figure illustrates how exclusions combine. The red box represents an element's
309-
content box. The A, B, C and D darker gray boxes represent exclusions in the element's
310-
wrapping context. A, B, C and D have their respective
311-
'wrap-flow' set to 'both', 'start', 'end' and 'clear' respectively. The lighter gray
312-
areas show the additional areas that are excluded for inline layout as a result of the
313-
'wrap-flow' value. For example, the area to the right of 'B' cannot be used for inline
314-
layout because the 'wrap-flow' for 'B' is 'start'.</p>
315-
316-
<p>The background 'blue' area shows what areas are available for inline content layout.
317-
All areas represented with a light or dark shade of gray are not available for inline
318-
content layout.</p>
319-
</div>
363+
<p>
364+
The above figure illustrates how exclusions are combined. The outermost box represents
365+
an element's content box. The A, B, C and D darker gray boxes represent exclusions
366+
in the element's wrapping context. A, B, C and D have their respective 'wrap-flow'
367+
set to 'both', 'start', 'end' and 'clear' respectively. The lighter gray areas show
368+
the additional areas that are excluded for inline layout as a result of the 'wrap-flow'
369+
value. For example, the area to the right of 'B' cannot be used for inline layout
370+
because the 'wrap-flow' for 'B' is 'start'.
371+
</p>
372+
<p>
373+
The background 'blue' area shows what areas are available for inline content layout.
374+
All areas represented with a light or dark shade of gray are not available for inline
375+
content layout.
376+
</p>
320377

321-
<div class="issue-marker issue-marker-resolved"><a
322-
href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15088">Bug-15088</a></div>
378+
<div class="issue-marker" data-bug_id="15088" data-bug_status="FIXED">
379+
<a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15088">Bug-15088</a>
380+
<div class="issue-details">
381+
<p class="short-desc">Add an example with auto-height content and z-index for exclusions order.</p>
382+
</div>
383+
</div>
323384

324-
<div class=issue-marker><a
325-
href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15084">Bug-15084</a></div>
385+
<div class="issue-marker" data-bug_id="15084" data-bug_status="NEW">
386+
<a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15084">Bug-15084</a>
387+
<div class="issue-details">
388+
<p class="short-desc">Fluidity of the layout with respect to different amounts of content</p>
389+
</div>
390+
</div>
326391

327392
<div class="example">
328393
<p>
@@ -500,8 +565,12 @@ <h3 id="propagation-of-exclusions">Propagation of Exclusions</h3>
500565

501566
<h4 id="wrap-through-property">The 'wrap-through' Property</h4>
502567

503-
<div class=issue-marker><a
504-
href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15085">Bug-15085</a></div>
568+
<div class="issue-marker" data-bug_id="15085" data-bug_status="NEW">
569+
<a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15085">Bug-15085</a>
570+
<div class="issue-details">
571+
<p class="short-desc">do we need wrap-through?</p>
572+
</div>
573+
</div>
505574

506575
<table class="propdef">
507576
<tr>
@@ -672,15 +741,19 @@ <h3 id="exclusions-order">Exclusions order</h3>
672741

673742
</div>
674743
<!-- End section "Order of Exclusions" -->
675-
676-
<h3 id="exclusions-implementation-note">Exclusions implementation note</h3>
677-
678-
<div class="issue-marker">
744+
745+
<div class="issue-marker" data-bug_id="15183" data-bug_status="NEW">
679746
<a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15183">Bug-15183</a>
747+
<div class="issue-details">
748+
<p class="short-desc">Is the CSS exclusions processing model incorrect?</p>
749+
</div>
680750
</div>
681751

682-
<div class="issue-marker">
752+
<div class="issue-marker" data-bug_id="15083" data-bug_status="NEW">
683753
<a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15083">Bug-15083</a>
754+
<div class="issue-details">
755+
<p class="short-desc">Concerns over Error accumulation vs. performance</p>
756+
</div>
684757
</div>
685758
<p class="issue">
686759
The rules for exclusions order and exclusions on absolutely positioned elements
@@ -692,44 +765,19 @@ <h3 id="exclusions-implementation-note">Exclusions implementation note</h3>
692765
top of floats.
693766
</p>
694767

695-
<p><em>This section is not normative.</em></p>
696-
<p>
697-
Exclusions can be specified on positioned elements and elements can be positioned
698-
from their <a href="http://www.w3.org/TR/CSS21/visudet.html#static-position">static
699-
position</a>. Since, the static position of such elements depends on the inline
700-
flow content affected by the exclusion itself; there is a circular dependency between
701-
the two layout tasks. To break this circular dependency a two-pass layout approach
702-
is recommended. The first layout pass computes the static positions of all auto-positioned
703-
exclusions by laying out all content besides exclusions. The second pass is layout
704-
of all elements including all exclusions. Exclusions that depend on their static
705-
position will use the position calculated during the first layout pass.
706-
</p>
707768
<p class="note">
708-
Note, this may cause exclusions to overlap or be distant from their static position
709-
(compared to non-exclusions auto-positioned elements).
710-
</p>
711-
<p>
712-
Similar dependency exists for exclusions whose size or position is specified in
713-
percentage and the containing block size is specified as 'auto'. In such cases the
714-
size or position of the exclusion is calculated based on the size of the containing
715-
block calculated in the first layout pass.
716-
</p>
717-
<p>
718-
Exclusions can be positioned on all levels of nested elements. If layout is
719-
restarted on every level of nesting, the time to complete layout will be exponential.
720-
To avoid multiple layout passes, the restart of the second layout pass
721-
should be scoped to the top-most containing block of exclusions. Similarly, restarting
722-
layout for the entire document is not necessary unless there are exclusions whose
723-
containing block is the initial containing block.
769+
This module does not depend on any particular positioning scheme.
724770
</p>
725771

726-
<!-- End section "Processing Model of Exclusions" -->
727772
<!-- End section "Exclusions" -->
728773

729774
<h2 id="shapes">Shapes</h2>
730775

731-
<div class="issue-marker">
732-
<a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15091">Bug-15091</a><br />
776+
<div class="issue-marker" data-bug_id="15091" data-bug_status="NEW">
777+
<a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15091">Bug-15091</a><br />
778+
<div class="issue-details">
779+
<p class="short-desc">Simplify the syntax for shapes</p>
780+
</div>
733781
</div>
734782

735783
<p>
@@ -740,11 +788,6 @@ <h2 id="shapes">Shapes</h2>
740788
content will flow within that shape.
741789
</p>
742790

743-
<dfn>Flow Container</dfn>
744-
<p>
745-
A flow container is an element with a 'display' value that is computed as 'block',
746-
'table-cell' or 'inline-block'.
747-
</p>
748791
<p class="note">
749792
Note, while the boundaries used for wrapping inline flow content outside and inside
750793
an element can be defined using shapes, the actual box model does not change. If
@@ -781,7 +824,7 @@ <h3 id="shapes-from-svg-syntax">Shapes from SVG Syntax</h3>
781824
<h4 id="supported-svg-shapes">Supported SVG Shapes</h4>
782825
The following SVG shapes are supported by the CSS shapes module.
783826
<dl>
784-
<dt>rectangle(x, y, width, height, [[rx], ry])</dt>
827+
<dt>rectangle(&lt;length&gt;{4} [&lt;'border-corner-shape'&gt; &lt;length&gt;{1,2}]? )</dt>
785828
<dd>
786829
<ul>
787830
<li><strong>x, y, width and height</strong> - define the bounding box of the rectangle</li>
@@ -791,15 +834,15 @@ <h4 id="supported-svg-shapes">Supported SVG Shapes</h4>
791834
to round off the corners of the rectangle</li>
792835
</ul>
793836
</dd>
794-
<dt>circle(cx, cy, r)</dt>
837+
<dt>circle(&lt;lentgh&gt;{3})</dt>
795838
<dd>
796839
<ul>
797840
<li><strong>cx</strong> - The x-axis coordinate of the center of the circle</li>
798841
<li><strong>cy</strong> - The y-axis coordinate of the center of the circle</li>
799842
<li><strong>r</strong> - The radius of the circle</li>
800843
</ul>
801844
</dd>
802-
<dt>ellipse(cx, cy, rx, ry)</dt>
845+
<dt>ellipse(&lt;lentgh&gt;{4})</dt>
803846
<dd>
804847
<ul>
805848
<li><strong>cx</strong> - The x-axis coordinate of the center of the ellipse</li>
@@ -808,7 +851,7 @@ <h4 id="supported-svg-shapes">Supported SVG Shapes</h4>
808851
<li><strong>ry</strong> - The y-axis radius of the ellipse</li>
809852
</ul>
810853
</dd>
811-
<dt>polygon([fillRule], x1, y1, x2, y2, x3, y3, … xn, yn)</dt>
854+
<dt>polygon([&lt;fill-rule&gt;,]? &lt;length&gt;{2}#)</dt>
812855
<dd>
813856
<ul>
814857
<li><strong>fillRule</strong> - The filling rule used to determine the interior of the
@@ -820,7 +863,7 @@ <h4 id="supported-svg-shapes">Supported SVG Shapes</h4>
820863
<p>
821864
If the polygon is not closed the user-agent will automatically add a new vertex
822865
at the end.</p>
823-
<br>
866+
<br/>
824867
</dd>
825868
</dl>
826869

@@ -868,10 +911,32 @@ <h4 id='referencing-svg-shapes'>Referencing SVG shapes</h4>
868911

869912
<h3 id="shapes-from-image">Shapes from Image</h3>
870913

871-
<div class=issue-marker>
914+
<div class="issue-marker" data-bug_id="15093" data-bug_status="NEW">
872915
<a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15093">Bug-15093</a><br />
916+
<div class="issue-details">
917+
<p class="short-desc">
918+
Do we need to provide properties to repeat exclusion images as for the
919+
background-image property?
920+
</p>
921+
</div>
922+
</div>
923+
924+
<div class="issue-marker" data-bug_id="15090" data-bug_status="NEW">
873925
<a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15090">Bug-15090</a><br />
926+
<div class="issue-details">
927+
<p class="short-desc">
928+
Use the contour() keyword. &lt;img id=shape-me url=foo&gt;&lt;style&gt;#shape-me
929+
{ shape-outside: contour; }&lt;/style&gt; //equal to 'shape-outside: url(foo)'
930+
shape-outside: attr(src as url);
931+
</p>
932+
</div>
933+
</div>
934+
935+
<div class="issue-marker" data-bug_id="15092" data-bug_status="NEW">
874936
<a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15092">Bug-15092</a>
937+
<div class="issue-details">
938+
<p class="short-desc">Specify what happens with animated images</p>
939+
</div>
875940
</div>
876941

877942
<p>

0 commit comments

Comments
 (0)