Skip to content

Commit 7e691b2

Browse files
committed
adding text and examples of inline footnotes, revising text on footnote magic, added env() function
1 parent 915ad7c commit 7e691b2

1 file changed

Lines changed: 79 additions & 57 deletions

File tree

css3-gcpm/Overview.src.html

Lines changed: 79 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,24 @@ <h4>Setting named strings: the 'string-set' property</h4>
269269

270270
<p class="note">The expected use for ''content(first-letter)'' is to create one-letter headers, e.g., in dictionaries.</p>
271271

272+
<dt>''env()''
273+
274+
<dd>This functions returns data from the enviroment of the document at
275+
the time of formatting.
276+
277+
<div class=example>
278+
279+
<p>Possible uses of this function are:
280+
281+
<pre>
282+
string-set: date env(year) "-" env(month) "-" env(day);
283+
string-set: date env(YYYY) "-" env(MM) "-" env(DD);
284+
string-set: date env(date);
285+
string-set: url env(url);
286+
</pre>
287+
288+
</div>
289+
272290
</dl>
273291
</dl>
274292

@@ -594,8 +612,7 @@ <h2>Leaders</h2>
594612
&lt;/div>
595613
</pre>
596614

597-
<p>If the name and number end up on different lines (e.g., in a narrow
598-
column), it may be formatted like this:
615+
<p>If the name and number end up on different lines (e.g., in a narrow column), it may be formatted like this:
599616

600617
<pre>
601618
John Doe....
@@ -806,7 +823,7 @@ <h2>Footnotes</h2>
806823

807824
<pre>
808825
&lt;style>
809-
.footnote { float: footnote }
826+
.footnote { float: footnote; display: block; }
810827
&lt;/style>
811828

812829
&lt;p>A sentence consists of words. &lt;span class="footnote">Most often.&lt;/span>.
@@ -836,6 +853,7 @@ <h2>Footnotes</h2>
836853
@media print {
837854
.footnote {
838855
float: footnote;
856+
display: block;
839857
content: target-pull(attr(href, url)) }
840858
.call { display: none }
841859
}
@@ -869,6 +887,7 @@ <h2>Footnotes</h2>
869887
span[title]::after {
870888
content: attr(title);
871889
float: footnote;
890+
display: block;
872891
}
873892
</pre>
874893
</div>
@@ -884,10 +903,35 @@ <h3>Turning elements into footnotes</h3>
884903
<pre>
885904
span.footnote {
886905
float: footnote;
906+
display: block;
907+
}
908+
</pre>
909+
</div>
910+
911+
<p>The 'display' property determines how elements in the footnote area are displayed.
912+
913+
<div class="example">
914+
<p>In this example, the footnotes are displayed inline:
915+
916+
<pre>
917+
span.footnote {
918+
float: footnote;
919+
display: inline; /* probably not necessary for &lt;span&gt; elements */
920+
}
921+
span.footnote::before {
922+
content: counter(footnote);
887923
}
888924
</pre>
925+
926+
<p>Here is one possible presentation of inline footnotes:
927+
928+
<pre>
929+
&#xB9; The first footnote. &#xBA; The second footnote.
930+
</pre>
889931
</div>
890932

933+
<p class=issue>Instead of relying on the 'display' property for each footnote element, there could be a setting in @footnote for this.
934+
891935
<p>For each new footnote element, the ''footnote'' counter is automatically
892936
incremented.
893937

@@ -902,12 +946,19 @@ <h3>Turning elements into footnotes</h3>
902946

903947
<h3>The footnote area</h3>
904948

949+
905950
<p>All elements with ''float: footnote'' are moved to the <em>footnote
906951
area</em>. The footnote area is described by an @footnote-rule inside
907952
the @page-rule. By default, the footnote area appears at the bottom of
908-
the page, but it can be positioned using page floats (as described
909-
below) and 'position: fixed'.
953+
the page, but it can be positioned in other places.
954+
955+
<p class=issue>Should the footnote are be positiond using page floats
956+
or (fixed?) absolute positioning? Or both? In any case, it is
957+
unclear how to make the 'gr' unit refer to the column width of a
958+
multicol element. Which element, exactly? The one at the bottom of the
959+
page, of course. Hmm.
910960

961+
<p class=issue>
911962

912963
<div class="example">
913964

@@ -922,37 +973,29 @@ <h3>The footnote area</h3>
922973
</div>
923974

924975

925-
<!--<p>An element with 'float: footnote' inherits from its parent, not from @footnote.-->
926-
927-
<!--
928-
<p>The footnote area does not have to be placed at the bottom of the
929-
page. It can be moved to anywhere on the page using the 'float' property or
930-
''position: fixed''.
931-
-->
932-
933976

934977
<div class="example">
935-
<p>These rules place the footnote area on the left side of the page:
978+
<p>These rules place the footnote area in the bottom left corner of the page:
936979

937980
<pre>
938981
@page {
939982
@footnote {
940983
position: fixed;
941-
top: 10em;
942-
left: 3em;
984+
bottom: 0;
985+
left: 0;
943986
width: 5em;
944987
}
945988
}
946989
</pre>
947990
</div>
948991

949992
<div class="example issue">
950-
<p>How do we place the footnote area in a certain column? Perhaps:
993+
<p>This code places the footnote area at the bottom of the right column:
951994

952995
<pre>
953996
@page {
954997
@footnote {
955-
float: bottom left multicol;
998+
float: bottom right multicol;
956999
width: 1gr;
9571000
}
9581001
}
@@ -1042,40 +1085,13 @@ <h3>Footnote calls</h3>
10421085

10431086
<p>The resulting note call is a super-script decimal number.
10441087

1045-
<!--
1046-
<div class="example">
1047-
1048-
The content and style of the footnote-call is set on the
1049-
''footnote-call'' pseudo-element.
1050-
1051-
</div>
1052-
-->
1053-
<!--
1054-
<p class="issue">Should any white space characters between the
1055-
note-call and and the preceding content be removed?
1056-
-->
1057-
<!--
1058-
<div class="example">
1059-
The goal is to achieve this result:
1060-
1061-
<pre>
1062-
... some notion¹
1063-
</pre>
1064-
1065-
<p>rather than this:
1066-
1067-
<pre>
1068-
... some notion ¹
1069-
</pre>
1070-
</div>
1071-
-->
1072-
10731088

10741089
<h3>Footnote markers</h3>
10751090

10761091
<p>A ::footnote-marker pseudo-element is added to each footnote
1077-
element. User agents must, by default, show the "footnote" counter in
1078-
the footnote-marker.
1092+
element, in the same place, and replacing, the ::before
1093+
pseudo-element. User agents must, by default, show the "footnote"
1094+
counter in the footnote-marker.
10791095

10801096
<div class="example">
10811097
<p>User Agents may display footnote-calls and footnote-markers this way by default:
@@ -1169,16 +1185,17 @@ <h3>Laying out footnotes</h3>
11691185

11701186
<h3>Footnote magic</h3>
11711187

1188+
<p>When an element is turned into a footnote, certain magical things
1189+
happen. The element is moved to the footnote area, a footnote call is
1190+
left behind in its place, a footnote marker is displayed before the
1191+
element, and the footnote counter is incremented.
1192+
11721193
<p>When rendering footnotes, User Agents may apply certain heuristics
11731194
to improve the presentation. For example, the space between a
11741195
footnote-call and surrounding text may be adjusted. Another example is
11751196
the height of the footnote area; it may be heuristically constrained
11761197
to limit the area that is used for footnotes.
11771198

1178-
<p>The "footnote" counter represents another kind of magic; it is
1179-
automatically created and incremented each time an element is turned
1180-
into a footnote, and the footnotes and footnote-calls are
1181-
automatically labeled with the value of the footnote counter.
11821199

11831200

11841201
<!--
@@ -1221,6 +1238,7 @@ <h2>Clipping borders</h2>
12211238

12221239
<h3>The 'border-clip' properties</h3>
12231240

1241+
12241242
<table class=propdef>
12251243
<tr>
12261244
<td><em>Name:</em>
@@ -1248,6 +1266,8 @@ <h3>The 'border-clip' properties</h3>
12481266
<td>''normal'', or a list consisting of absolute lengths, or percentages as specified
12491267
</table>
12501268

1269+
<p class=issue>Should these properties be simplified to only accept <code>normal | [ &lt;length&gt; | &lt;percentage&gt; ] +</code>?
1270+
12511271
<p>These properties split their respective borders into parts along
12521272
the border edge. The first part is visible, the second is invisible,
12531273
the third part is visible, etc. Parts can be specified with lengths,
@@ -1508,7 +1528,7 @@ <h3>The 'border-clip' properties</h3>
15081528
border-top-parts: 40px 20px 0 1fr repeat(20px 20px) 0 1fr 40px;
15091529
</pre>
15101530

1511-
<p>In this example, there will be a visible 40px border part on each end of the top border. Inside the 40px border parts, there will be an invisible border part of at least 20px. Inside these invisible border parts, there will be visible border parts, each 20px long with 20px invisble border parts between them.
1531+
<p>In this example, there will be a visible 40px border part on each end of the top border. Inside the 40px border parts, there will be an invisible border part of at least 20px. Inside these invisible border parts, there will be visible border parts, each 20px long with 20px invisible border parts between them.
15121532
<div style="position: relative; width: 192px; background: white; padding: 40px">
15131533

15141534
<div style="border: 4px solid black; height: 40px"></div>
@@ -1535,7 +1555,7 @@ <h3>The 'border-clip' properties</h3>
15351555
border-top-parts: 40px 20px 0 1fr 20px 20px 0 1fr 40px;
15361556
</pre>
15371557

1538-
<p>In this example, there will be a visible 40px border part on each end of the top border. Inside the 40px border parts, there will be an invisible border part of at least 20px. Inside these invisible border parts, there will be visible border parts, each 20px long with 20px invisble border parts between them.
1558+
<p>In this example, there will be a visible 40px border part on each end of the top border. Inside the 40px border parts, there will be an invisible border part of at least 20px. Inside these invisible border parts, there will be visible border parts, each 20px long with 20px invisible border parts between them.
15391559
<div style="position: relative; width: 192px; background: white; padding: 40px">
15401560

15411561
<div style="border: 4px solid black; height: 40px"></div>
@@ -2718,7 +2738,7 @@ <h2>Page floats</h2>
27182738
<dd>The element may intrude neighboring columns; if the element is not in a multi-column element, this keyword has no effect.
27192739

27202740
<dt>unless-room
2721-
<dd>If the element can be laid out in its natural position without causing a page break, it should be laid out there disregarding the 'float' property; in other cases the other values on 'float' will dertermine its floating behaviour.
2741+
<dd>If the element can be laid out in its natural position without causing a page break, it should be laid out there disregarding the 'float' property; in other cases the other values on 'float' will determine its floating behavior.
27222742

27232743

27242744
<dt>top
@@ -2892,7 +2912,7 @@ <h2>Page floats</h2>
28922912

28932913
<h3>Float intrusion in multicol elements</h3>
28942914

2895-
<p>In multi-colum layouts [[CSS3MULTICOL]], floats appear within columns; they never intrude into neighboring columns.
2915+
<p>In multi-column layouts [[CSS3MULTICOL]], floats appear within columns; they never intrude into neighboring columns.
28962916

28972917
<div class=example>
28982918

@@ -3042,7 +3062,7 @@ <h2>Advanced multi-column layout</h2>
30423062
to page floats; elements escape their normal flow root by setting
30433063
a value on 'float'. In the case of multi-column layout, the keyword is
30443064
''multicol'' (instead of ''page'') and it indicates that the
3045-
element should floated wrt. the multi-column element instead of the
3065+
element should floated with regard to. the multi-column element instead of the
30463066
column where it naturally occurs.
30473067

30483068
<p>To further enhance positioning, the 'float-offset' property is
@@ -3540,6 +3560,8 @@ <h3>The 'float-offset' property</h3>
35403560

35413561
<div class="example">
35423562

3563+
<p>Consider this code:
3564+
35433565
<pre>
35443566
img {
35453567
float: top left multicol;

0 commit comments

Comments
 (0)