|
12 | 12 |
|
13 | 13 | <style type="text/css"> |
14 | 14 | .example img { display: block } |
| 15 | +.example { background: #ddd } |
15 | 16 | body { line-height: 1.3 } |
16 | 17 | </style> |
17 | 18 |
|
@@ -2565,22 +2566,6 @@ <h2>Page floats</h2> |
2565 | 2566 | and the new 'float-modifier', provides support for common paper-based |
2566 | 2567 | layouts. |
2567 | 2568 |
|
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 | | - |
2584 | 2569 | <p>Four new keywords on 'float' have been added: |
2585 | 2570 |
|
2586 | 2571 | <dl> |
@@ -2754,7 +2739,10 @@ <h3>Floating inside and outside pages</h3> |
2754 | 2739 | </pre> |
2755 | 2740 | </div> |
2756 | 2741 |
|
2757 | | -<h3>Multi-column float intrusion</h3> |
| 2742 | + |
| 2743 | +<h2>Intrusion</h2> |
| 2744 | + |
| 2745 | +<h3>Column intrusion</h3> |
2758 | 2746 |
|
2759 | 2747 | <p>A new value on 'float' is introduced to support intrusion in columns: |
2760 | 2748 |
|
@@ -2784,6 +2772,9 @@ <h3>Multi-column float intrusion</h3> |
2784 | 2772 | </div> |
2785 | 2773 |
|
2786 | 2774 |
|
| 2775 | + |
| 2776 | + |
| 2777 | + |
2787 | 2778 | <h3>The 'float-offset' property</h3> |
2788 | 2779 |
|
2789 | 2780 | <table class=propdef> |
@@ -2822,12 +2813,18 @@ <h3>The 'float-offset' property</h3> |
2822 | 2813 | <p>Negative values are allowed; a negative values will push the float |
2823 | 2814 | in the same direction as it has been floated with 'float' |
2824 | 2815 |
|
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. |
2827 | 2820 |
|
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> |
2829 | 2827 |
|
2830 | | -<p>Floats that are moved into other columns with this property intrudes. |
2831 | 2828 |
|
2832 | 2829 | <div class=example> |
2833 | 2830 | <pre>img { |
@@ -2859,6 +2856,165 @@ <h3>The 'float-offset' property</h3> |
2859 | 2856 | <p class=issue>Would it make more sense to not specify the opposite direction, but the "forward" direction? |
2860 | 2857 |
|
2861 | 2858 |
|
| 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 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 | + |
2862 | 3018 | <!-- |
2863 | 3019 | <h2>Aligning baselines in multi-column layouts</h2> |
2864 | 3020 |
|
@@ -2947,12 +3103,26 @@ <h2>Selecting columns and pages</h2> |
2947 | 3103 | <pre> |
2948 | 3104 | div.chapter::column(3) /* the third column of the element */ |
2949 | 3105 | 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 */ |
2950 | 3108 | div.chapter::page(2) /* second page of the element */ |
2951 | | -div.chapter::page-column(2,2) /* second column on second page */ |
2952 | 3109 | div.chapter::page(2)::column(2) /* second column, but only if it appears on the second page */ |
2953 | 3110 | </pre> |
2954 | 3111 | </div> |
2955 | 3112 |
|
| 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 | + |
2956 | 3126 | <!-- |
2957 | 3127 |
|
2958 | 3128 | <h2>Page selection: nth()</h2> |
|
0 commit comments