Skip to content

Commit cc84d8d

Browse files
committed
adding image
1 parent 49f8d99 commit cc84d8d

2 files changed

Lines changed: 192 additions & 22 deletions

File tree

css3-gcpm/14.png

22.1 KB
Loading

css3-gcpm/Overview.src.html

Lines changed: 192 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
<style type="text/css">
1414
.example img { display: block }
15+
.example { background: #ddd }
1516
body { line-height: 1.3 }
1617
</style>
1718

@@ -2565,22 +2566,6 @@ <h2>Page floats</h2>
25652566
and the new 'float-modifier', provides support for common paper-based
25662567
layouts.
25672568

2568-
<!--
2569-
<p>(A few words about the difference between this proposa, and the one
2570-
sketched in the next section: Care has now been taken to avoid layouts
2571-
that are hard to achieve, or that can be achieved in other ways. For
2572-
example, by saying 'top-corner' instead of 'top left' or 'top right',
2573-
it becomes impossible to specify a layout where one has to replace
2574-
already laid-out content. Compared to the mk1 float model, mk2 does
2575-
not allow one to explicityly set the containing block of the float;
2576-
the CB is the column or the multicol element (depending on which
2577-
keyword in use). It is therefore impossible to float something to the
2578-
top of the page. However, given that 'column-span' now is widely
2579-
supported, a different strategy can be used: make the root element a
2580-
multicol element, and float the box to the top. Thereby it ends up at
2581-
the top of hte page.)
2582-
-->
2583-
25842569
<p>Four new keywords on 'float' have been added:
25852570

25862571
<dl>
@@ -2754,7 +2739,10 @@ <h3>Floating inside and outside pages</h3>
27542739
</pre>
27552740
</div>
27562741

2757-
<h3>Multi-column float intrusion</h3>
2742+
2743+
<h2>Intrusion</h2>
2744+
2745+
<h3>Column intrusion</h3>
27582746

27592747
<p>A new value on 'float' is introduced to support intrusion in columns:
27602748

@@ -2784,6 +2772,9 @@ <h3>Multi-column float intrusion</h3>
27842772
</div>
27852773

27862774

2775+
2776+
2777+
27872778
<h3>The 'float-offset' property</h3>
27882779

27892780
<table class=propdef>
@@ -2822,12 +2813,18 @@ <h3>The 'float-offset' property</h3>
28222813
<p>Negative values are allowed; a negative values will push the float
28232814
in the same direction as it has been floated with 'float'
28242815

2825-
<p>The float will never be pushed outside the content edges
2826-
of the multicol element due to a setting on 'float-offset'.
2816+
<p>This property may move floats into other column than where they
2817+
naturally appear. However, the float will never be pushed outside the
2818+
content edges of the multicol element due to a settings on this
2819+
property.
28272820

2828-
<p>Percentage values refer to the width/height of the float plus a fraction of the column gap.
2821+
<p>Percentage values are computed according to this formula:
2822+
2823+
<pre>
2824+
(containing-block-width - float-width) * percentage
2825+
(containing-block-height - float-height) * percentage
2826+
</pre>
28292827

2830-
<p>Floats that are moved into other columns with this property intrudes.
28312828

28322829
<div class=example>
28332830
<pre>img {
@@ -2859,6 +2856,165 @@ <h3>The 'float-offset' property</h3>
28592856
<p class=issue>Would it make more sense to not specify the opposite direction, but the "forward" direction?
28602857

28612858

2859+
<h3>The 'clear-side' property</h3>
2860+
2861+
<table class=propdef>
2862+
<tr>
2863+
<td><em>Name:</em>
2864+
<td><dfn>clear-side</dfn>
2865+
<tr>
2866+
<td><em>Value:</em>
2867+
<td>auto | left | right | both
2868+
<tr>
2869+
<td><em>Initial:</em>
2870+
<td>auto
2871+
<tr>
2872+
<td><em>Applies to:</em>
2873+
<td>floated elements
2874+
<tr>
2875+
<td><em>Inherited:</em>
2876+
<td>no
2877+
<tr>
2878+
<td><em>Percentages:</em>
2879+
<td>N/A
2880+
<tr>
2881+
<td><em>Media:</em>
2882+
<td>visual, paged
2883+
<tr>
2884+
<td><em>Computed&nbsp;value:</em>
2885+
<td>as specified
2886+
</table>
2887+
2888+
<p>This property declares if the side of a float should be cleared of
2889+
content. Values have the following meaning:
2890+
2891+
2892+
<dl>
2893+
<dt>auto
2894+
<dd>if the float is left-floated, there should be no content to the left; if the float is right-floated, there should be no content to the right
2895+
<dt>left
2896+
<dd>there should be no content to the left of the float
2897+
<dt>right
2898+
<dd>there should be no content to the left of the float
2899+
<dt>none
2900+
<dd>there may be content on either side of the float
2901+
</dl>
2902+
2903+
2904+
<h3>Pull-quotes</h3>
2905+
2906+
<div class=example>
2907+
<img width=213 src="exclusion_wrap_side_left.png">
2908+
2909+
<pre>
2910+
.pullquote {
2911+
float: right;
2912+
float-offset: 5em;
2913+
}
2914+
</pre>
2915+
2916+
<pre>
2917+
.pullquote {
2918+
float: right;
2919+
float-offset: center;
2920+
}
2921+
</pre>
2922+
2923+
<pre>
2924+
.pullquote {
2925+
float: center;
2926+
clear-side: right;
2927+
}
2928+
</pre>
2929+
2930+
<pre>
2931+
.pullquote {
2932+
float: positioned;
2933+
right: 5em;
2934+
clear-side: right;
2935+
}
2936+
</pre>
2937+
</div>
2938+
2939+
<div class=example>
2940+
<p><img width=213 src="exclusion_wrap_side_right.png">
2941+
2942+
<pre>
2943+
.pullquote {
2944+
float: left;
2945+
float-offset: 5em;
2946+
}
2947+
</pre>
2948+
2949+
<pre>
2950+
.pullquote {
2951+
float: left;
2952+
float-offset: 50%; /* center */
2953+
}
2954+
</pre>
2955+
2956+
<pre>
2957+
.pullquote {
2958+
float: center;
2959+
clear-side: left;
2960+
}
2961+
</pre>
2962+
2963+
<pre>
2964+
.pullquote {
2965+
float: positioned;
2966+
left: 5em;
2967+
clear-side: left;
2968+
}
2969+
</pre>
2970+
2971+
</div>
2972+
2973+
<pre>
2974+
.pullquote {
2975+
float: left;
2976+
float-offset: 50%; /* center */
2977+
}
2978+
</pre>
2979+
2980+
2981+
2982+
<div class=example>
2983+
<img width=213 src="exclusion_wrap_side_both.png">
2984+
2985+
<pre>
2986+
.pullquote {
2987+
float: center;
2988+
clear-side: none;
2989+
}
2990+
</pre>
2991+
2992+
<pre>
2993+
.pullquote {
2994+
float: left;
2995+
float-offset: 5em;
2996+
clear-side: none;
2997+
}
2998+
</pre>
2999+
3000+
<pre>
3001+
.pullquote {
3002+
float: positioned;
3003+
left: 5em;
3004+
clear-side: none;
3005+
}
3006+
</pre>
3007+
3008+
<pre>
3009+
.pullquote {
3010+
float: center;
3011+
}
3012+
</pre>
3013+
3014+
</div>
3015+
3016+
3017+
28623018
<!--
28633019
<h2>Aligning baselines in multi-column layouts</h2>
28643020
@@ -2947,12 +3103,26 @@ <h2>Selecting columns and pages</h2>
29473103
<pre>
29483104
div.chapter::column(3) /* the third column of the element */
29493105
div.chapter::column(2n) /* all even columns of the element */
3106+
div.chapter::column(2,2) /* second column on second page */
3107+
div.chapter::column(*,2) /* all columns on the second page */
29503108
div.chapter::page(2) /* second page of the element */
2951-
div.chapter::page-column(2,2) /* second column on second page */
29523109
div.chapter::page(2)::column(2) /* second column, but only if it appears on the second page */
29533110
</pre>
29543111
</div>
29553112

3113+
<div class=example>
3114+
<pre>
3115+
div.chapter::column(1) {
3116+
transform: rotate(6.5deg);
3117+
}
3118+
div.chapter::column(2) {
3119+
transform: rotate(-5.5deg) translate(0, 40px);
3120+
}
3121+
</pre>
3122+
3123+
<img src="regions_rotated_columns.jpg">
3124+
</div>
3125+
29563126
<!--
29573127
29583128
<h2>Page selection: nth()</h2>

0 commit comments

Comments
 (0)