|
| 1 | +<!DOCTYPE html> |
| 2 | +<meta charset=utf-8> |
| 3 | +<html lang=en> |
| 4 | +<title>CSS Cascading and Inheritance Level 3 Implementation Report</title> |
| 5 | +<style> |
| 6 | + |
| 7 | +/** General Text Styling ******************************************************/ |
| 8 | + |
| 9 | +html { |
| 10 | + font-family: sans-serif; |
| 11 | + line-height: 1.5; |
| 12 | + margin: 0.5em 4%; |
| 13 | + padding: 0 0.5em; |
| 14 | +} |
| 15 | +body { |
| 16 | + margin: 0; padding: 2rem; |
| 17 | +} |
| 18 | + |
| 19 | +h1, h2, h3, h4 { |
| 20 | + color: navy; |
| 21 | + line-height: 1; |
| 22 | + margin: 3rem 0 1rem -2rem; |
| 23 | +} |
| 24 | + |
| 25 | +aside { |
| 26 | + font-style: italic; |
| 27 | +} |
| 28 | +p.annotation { |
| 29 | + text-align: right; |
| 30 | + text-align: end; |
| 31 | + font-style: italic; |
| 32 | +} |
| 33 | + |
| 34 | +dt { |
| 35 | + font-weight: bold; |
| 36 | +} |
| 37 | +dd { |
| 38 | + margin-bottom: 1em; |
| 39 | +} |
| 40 | + |
| 41 | +ul { |
| 42 | + list-style-type: circle; |
| 43 | +} |
| 44 | + |
| 45 | +code { |
| 46 | + font: inherit; |
| 47 | + font-style: italic; |
| 48 | +} |
| 49 | + |
| 50 | +:link, :visited { |
| 51 | + color: navy; |
| 52 | +} |
| 53 | + |
| 54 | +/** Data tables ***************************************************************/ |
| 55 | + |
| 56 | + table { |
| 57 | + word-wrap: normal; |
| 58 | + overflow-wrap: normal; |
| 59 | + hyphens: manual; |
| 60 | + text-align: center; |
| 61 | + } |
| 62 | + |
| 63 | + table.data { |
| 64 | + margin: 1em auto; |
| 65 | + border-collapse: collapse; |
| 66 | + border: hidden; |
| 67 | + border-bottom: 2px solid; |
| 68 | + width: 100%; |
| 69 | + font-size: 90%; |
| 70 | + } |
| 71 | + table.data caption { |
| 72 | + max-width: 50em; |
| 73 | + margin: 0 auto 1em; |
| 74 | + } |
| 75 | + |
| 76 | + table.data tr { |
| 77 | + border-width: 1px; |
| 78 | + border-color: silver; |
| 79 | + border-top-style: solid; |
| 80 | + } |
| 81 | + table.data thead, |
| 82 | + table.data tbody { |
| 83 | + border-bottom: 2px solid; |
| 84 | + } |
| 85 | + |
| 86 | + table.data td, table.data th { |
| 87 | + padding: 0.25em 1em; |
| 88 | + vertical-align: baseline; |
| 89 | + } |
| 90 | + table.data thead td:empty { |
| 91 | + padding: 0; |
| 92 | + border: 0; |
| 93 | + } |
| 94 | + |
| 95 | + |
| 96 | + table.data tbody th, |
| 97 | + table.data td:first-child { |
| 98 | + font: inherit; |
| 99 | + text-align: left; |
| 100 | + } |
| 101 | + table.data th[scope=rowgroup] { |
| 102 | + font-weight: bold; |
| 103 | + } |
| 104 | + table.data img { |
| 105 | + vertical-align: middle; |
| 106 | + } |
| 107 | +</style> |
| 108 | + |
| 109 | + |
| 110 | +<h1>CSS Cascading and Inheritance Level 3 Implementation Report</h1> |
| 111 | +<p class="annotation">Last updated <time>2020-08-17</time> |
| 112 | + |
| 113 | + <p>The following new features were added in Level 3: |
| 114 | + |
| 115 | + <table class=data> |
| 116 | + <thead> |
| 117 | + <tr> |
| 118 | + <th>Feature |
| 119 | + <th>Gecko |
| 120 | + <th>Blink |
| 121 | + <th>WebKit |
| 122 | + <th>EdgeHTML |
| 123 | + <tbody> |
| 124 | + <tr> |
| 125 | + <th><a href="#all"><code>all</code> shorthand</a> |
| 126 | + <td>27+ |
| 127 | + <td>37+ |
| 128 | + <td>525+ |
| 129 | + <td>× |
| 130 | + <tr> |
| 131 | + <th><a href="#initial"><code>initial</code> keyword</a> |
| 132 | + <td>19+ |
| 133 | + <td>28+ |
| 134 | + <td>532+ |
| 135 | + <td>12+ |
| 136 | + <!-- CSS2 |
| 137 | + <tr> |
| 138 | + <th><a href="#unset"><code>inherit</code> keyword</a> |
| 139 | + <td>1.8.1+ |
| 140 | + <td>28+ |
| 141 | + <td>525+ |
| 142 | + <td>12+ |
| 143 | + --> |
| 144 | + <tr> |
| 145 | + <th><a href="#unset"><code>unset</code> keyword</a> |
| 146 | + <td>27+ |
| 147 | + <td>41+ |
| 148 | + <td>601.5+ |
| 149 | + <td>13+ |
| 150 | + </table> |
| 151 | + |
| 152 | + <p class="annotation"><small>Version data sourced from <a href="https://caniuse.com/">caniuse.com</a> and <a href="https://en.wikipedia.org/">Wikipedia</a></small> |
| 153 | + |
| 154 | + <p>The following module integrations were defined in Level 3: |
| 155 | + |
| 156 | + <table class=data> |
| 157 | + <thead> |
| 158 | + <tr> |
| 159 | + <th>Feature |
| 160 | + <th>Gecko |
| 161 | + <th>Blink |
| 162 | + <th>WebKit |
| 163 | + <th>EdgeHTML |
| 164 | + <tbody> |
| 165 | + <tr> |
| 166 | + <th><a href="#mq-import">Media Queries + @import</a> |
| 167 | + <td> |
| 168 | + <td> |
| 169 | + <td> |
| 170 | + <td> |
| 171 | + <tr> |
| 172 | + <th><a href="#animations">Animations + Cascade</a> |
| 173 | + <td>○ |
| 174 | + <td>○ |
| 175 | + <td>× |
| 176 | + <td>? |
| 177 | + <tr> |
| 178 | + <th><a href="#transitions">Transitions + Cascade</a> |
| 179 | + <td>— |
| 180 | + <td>— |
| 181 | + <td>— |
| 182 | + <td>— |
| 183 | + </table> |
| 184 | + |
| 185 | +<h2 id=details> |
| 186 | +Detailed Testing</h2> |
| 187 | + |
| 188 | + <table class=data> |
| 189 | + <thead> |
| 190 | + <tr> |
| 191 | + <th>Test |
| 192 | + <th>Interop? |
| 193 | + <th>Results |
| 194 | + <th>Live |
| 195 | + |
| 196 | + <tbody id=all> |
| 197 | + <tr><th scope=rowgroup colspan=4> |
| 198 | + <a href="https://www.w3.org/TR/css-cascade-3/#all-shorthand"><code>all</code> Shorthand</a></h3> |
| 199 | + <tr> |
| 200 | + <th><code>all</code> does not set <code>direction</code> |
| 201 | + <td>○ |
| 202 | + <td><a href="https://wpt.fyi/results/css/css-cascade/all-prop-001.html">3/3 Pass</a> |
| 203 | + <td><a href="https://wpt.live/css/css-cascade/all-prop-001.html">Run</a> |
| 204 | + <tr> |
| 205 | + <th><code>all</code> does set <code>display</code> |
| 206 | + <td>○ |
| 207 | + <td><a href="https://wpt.fyi/results/css/css-cascade/all-prop-002.html">3/3 Pass</a> |
| 208 | + <td><a href="https://wpt.live/css/css-cascade/all-prop-002.html">Run</a> |
| 209 | + <tr> |
| 210 | + <th><code>all: inherit</code> is overridden by subsequent declarations |
| 211 | + <td>○ |
| 212 | + <td><a href="https://wpt.fyi/results/css/css-cascade/all-prop-inherit-color.html">3/3 Pass</a> |
| 213 | + <td><a href="https://wpt.live/css/css-cascade/all-prop-inherit-color.html">Run</a> |
| 214 | + <tr> |
| 215 | + <th><code>all: initial</code> is overridden by subsequent declarations |
| 216 | + <td>○ |
| 217 | + <td><a href="https://wpt.fyi/results/css/css-cascade/all-prop-initial-color.html">3/3 Pass</a> |
| 218 | + <td><a href="https://wpt.live/css/css-cascade/all-prop-initial-color.html">Run</a> |
| 219 | + <tr> |
| 220 | + <th><code>all: unset</code> is overridden by subsequent declarations |
| 221 | + <td>○ |
| 222 | + <td><a href="https://wpt.fyi/results/css/css-cascade/all-prop-unset-color.html">3/3 Pass</a></a> |
| 223 | + <td><a href="https://wpt.live/css/css-cascade/all-prop-unset-color.html">Run</a> |
| 224 | + |
| 225 | + <tbody id=initial> |
| 226 | + <tr><th colspan=4 scope=rowgroup> |
| 227 | + <a href="https://www.w3.org/TR/css-cascade-3/#initial"><code>initial</code> Keyword</a> |
| 228 | + <tr> |
| 229 | + <th><code>initial</code> sets inherited and uninherited properties to their initial value |
| 230 | + <td>○ |
| 231 | + <td><a href="https://wpt.fyi/results/css/css-cascade/initial-color-background-001.html">3/3 Pass</a> |
| 232 | + <td><a href="https://wpt.live/css/css-cascade/initial-color-background-001.html">Run</a> |
| 233 | + |
| 234 | + <tbody id=unset> |
| 235 | + <tr><th colspan=4 scope=rowgroup> |
| 236 | + <a href="https://www.w3.org/TR/css-cascade-3/#unset"><code>unset</code> Keyword</a></h3> |
| 237 | + <tr> |
| 238 | + <th><code>unset</code> sets inherited properties to inherit, |
| 239 | + and uninherited properties to their initial value |
| 240 | + <td>○ |
| 241 | + <td><a href="https://wpt.fyi/results/css/css-cascade/unset-val-001.html">3/3 Pass</a> |
| 242 | + <td><a href="https://wpt.live/css/css-cascade/unset-val-001.html">Run</a> |
| 243 | + <tr> |
| 244 | + <th><code>unset</code> sets uninherited properties to their initial value |
| 245 | + despite UA style sheet declarations to the contrary |
| 246 | + <td>○ |
| 247 | + <td><a href="https://wpt.fyi/results/css/css-cascade/unset-val-002.html">3/3 Pass</a> |
| 248 | + <td><a href="https://wpt.live/css/css-cascade/unset-val-002.html">Run</a> |
| 249 | + |
| 250 | + <tbody id=mq-import> |
| 251 | + <tr><th colspan=4 scope=rowgroup> |
| 252 | + <a href="https://www.w3.org/TR/css3-mediaqueries/">Media Queries</a> + <a href="https://www.w3.org/TR/css-cascade-3/#at-import">@import</a> Integration</h3> |
| 253 | + |
| 254 | + <tbody id=animations> |
| 255 | + <tr><th colspan=4 scope=rowgroup> |
| 256 | + <a href="https://www.w3.org/TR/css-animations-1/">Animations</a> + <a href="https://www.w3.org/TR/css-cascade-3/#cascading">Cascade</a> Integration</h3> |
| 257 | + <tr> |
| 258 | + <th>Author <code>!important</code> overrides animation</a> |
| 259 | + <td>△ |
| 260 | + <td><a href="https://wpt.fyi/results/css/css-cascade/important-prop.html">2/3 Pass</a> |
| 261 | + <td><a href="https://wpt.live/css/css-cascade/important-prop.html">Run</a> |
| 262 | + <tbody id=transitions> |
| 263 | + <tr><th colspan=4 scope=rowgroup> |
| 264 | + <a href="https://www.w3.org/TR/css-transitions-1/">Transitions</a> + <a href="https://www.w3.org/TR/css-cascade-3/#cascading">Cascade</a> Integration</h3> |
| 265 | + |
| 266 | + <tr><td colspan=4> |
| 267 | + <aside>Essentially untestable, except insofar as transitions work at all.</aside> |
| 268 | + </table> |
| 269 | + |
| 270 | +<h2 id=missing> |
| 271 | +Missing Tests</h2> |
| 272 | + |
| 273 | + <ul> |
| 274 | + <li>Media queries + @import |
| 275 | + <li>Animation overrides author styles |
| 276 | + <li>all shorthand vs. unicode-bidi |
| 277 | + <li>@import after invalid rules |
| 278 | + </ul> |
0 commit comments