| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>CSS Writing Modes test: text-align in orthogonal table cell</title> |
| |
| <link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#line-mappings"> |
| <meta assert="text-align values respect line-relative mappings of the table cell"> |
| <link rel="match" href="reference/table-cell-align-006-ref.html"> |
| <link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> |
| |
| <meta name="flags" content="ahem" /> |
| <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> |
| |
| <style> |
| table { |
| font: 20px/1 Ahem; |
| border: 1px solid gray; |
| display: inline-table; |
| margin: 1em; |
| } |
| |
| td { |
| padding: 0; |
| color: green; |
| } |
| |
| table.vrl td { |
| writing-mode: vertical-rl; |
| } |
| |
| table.slr td { |
| writing-mode: sideways-lr; |
| } |
| |
| table.h { |
| writing-mode: vertical-lr; |
| } |
| |
| table.h td { |
| writing-mode: initial; |
| } |
| |
| /* If text-align works correctly on the cells, their green Ahem glyphs |
| should cover the red part of each background. */ |
| .left { |
| text-align: left; |
| background: linear-gradient(to bottom, red 20%, transparent 20%); |
| } |
| .slr .left { |
| background: linear-gradient(to top, red 20%, transparent 20%); |
| } |
| .center { |
| text-align: center; |
| background: linear-gradient(to bottom, transparent 40%, red 40%, red 60%, transparent 60%); |
| } |
| .right { |
| text-align: right; |
| background: linear-gradient(to bottom, transparent 80%, red 80%); |
| } |
| .slr .right { |
| background: linear-gradient(to top, transparent 80%, red 80%); |
| } |
| .start, |
| .slr .start:dir(rtl) |
| { |
| text-align: start; |
| background: linear-gradient(to bottom, red 20%, transparent 20%); |
| } |
| .start:dir(rtl), |
| .slr .start { |
| background: linear-gradient(to top, red 20%, transparent 20%); |
| } |
| .end, |
| .slr .end:dir(rtl) |
| { |
| text-align: end; |
| background: linear-gradient(to bottom, transparent 80%, red 80%); |
| } |
| .end:dir(rtl), |
| .slr .end |
| { |
| background: linear-gradient(to top, transparent 80%, red 80%); |
| } |
| .justify { |
| text-align-last: justify; |
| background: linear-gradient(to bottom, red 20%, transparent 20% 80%, red 80% ); |
| } |
| |
| .h .left { |
| background: linear-gradient(to right, red 20%, transparent 20%); |
| } |
| .h .center { |
| background: linear-gradient(to right, transparent 40%, red 40%, red 60%, transparent 60%); |
| } |
| .h .right { |
| background: linear-gradient(to right, transparent 80%, red 80%); |
| } |
| .h .start { |
| background: linear-gradient(to right, red 20%, transparent 20%); |
| } |
| .h .start:dir(rtl) { |
| background: linear-gradient(to left, red 20%, transparent 20%); |
| } |
| .h .end { |
| background: linear-gradient(to right, transparent 80%, red 80%); |
| } |
| .h .end:dir(rtl) { |
| background: linear-gradient(to left, transparent 80%, red 80%); |
| } |
| .h .justify { |
| background: linear-gradient(to right, red 20%, transparent 20% 80%, red 80% ); |
| } |
| </style> |
| |
| </div> |
| <table class=vrl> |
| <tr> |
| <td>XXXXX</td> |
| <td class=left>X</td> |
| <td class=center>X</td> |
| <td class=right>X</td> |
| <td class=start>X</td> |
| <td class=end>X</td> |
| <td class=justify>X X</td> |
| </tr> |
| </table> |
| <table class=vrl> |
| <tr dir=rtl> |
| <td>XXXXX</td> |
| <td class=left>X</td> |
| <td class=center>X</td> |
| <td class=right>X</td> |
| <td class=start>X</td> |
| <td class=end>X</td> |
| <td class=justify>X X</td> |
| </tr> |
| </table> |
| </div> |
| |
| <div> |
| <table class=slr> |
| <tr> |
| <td>XXXXX</td> |
| <td class=left>X</td> |
| <td class=center>X</td> |
| <td class=right>X</td> |
| <td class=start>X</td> |
| <td class=end>X</td> |
| <td class=justify>X X</td> |
| </tr> |
| </table> |
| <table class=slr> |
| <tr dir=rtl> |
| <td>XXXXX</td> |
| <td class=left>X</td> |
| <td class=center>X</td> |
| <td class=right>X</td> |
| <td class=start>X</td> |
| <td class=end>X</td> |
| <td class=justify>X X</td> |
| </tr> |
| </table> |
| </div> |
| |
| <div> |
| <table class=h> |
| <tr> |
| <td>XXXXX</td> |
| <td class=left>X</td> |
| <td class=center>X</td> |
| <td class=right>X</td> |
| <td class=start>X</td> |
| <td class=end>X</td> |
| <td class=justify>X X</td> |
| </tr> |
| </table> |
| <table class=h> |
| <tr dir=rtl> |
| <td>XXXXX</td> |
| <td class=left>X</td> |
| <td class=center>X</td> |
| <td class=right>X</td> |
| <td class=start>X</td> |
| <td class=end>X</td> |
| <td class=justify>X X</td> |
| </tr> |
| </table> |
| </div> |