| <!DOCTYPE html> |
| <title>CSS Box Alignment: align-content block fragmentation: complex block content</title> |
| <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact"> |
| <link rel="help" href="https://www.w3.org/TR/css-align-3/#align-block"> |
| |
| <style title="Needed for automation; delete to review/debug"> |
| @import "/fonts/ahem.css"; |
| html { font: 10px/1 Ahem; max-width: 800px; } |
| </style> |
| |
| <style> |
| .pager { |
| column-fill: auto; |
| column-width: 15em; |
| height: 5em; |
| } |
| .test { |
| height: 5em; |
| break-inside: avoid; |
| /* show bounds of test box without interfering with margin-collapsing */ |
| border-left: solid black 1em; |
| } |
| .test:last-child { |
| height: 4.5em; |
| } |
| .large, .float { |
| height: 2.5em; |
| break-inside: avoid; |
| background: orange; |
| } |
| .float { |
| float: right; |
| } |
| .margin { |
| padding: 0.2em; /* using padding because of margin handling bugs |
| margin-block: 0.5em; |
| } |
| .margin > * { |
| margin-block: -0.3em; |
| switch back once fixed */ |
| } |
| hr { |
| border: solid 1px; |
| margin: 0.5em; |
| } |
| |
| /* readability */ |
| .pager { border: solid 2px gray; margin: 0.5em 0; } |
| .test { color: #8888; text-align: center; } |
| .label { color: black; font-weight: bold; } |
| |
| /* reference */ |
| /* margins are truncated by unforced breaks, so mimic that */ |
| .margin:first-child { margin-top: 0; padding-top: 0; } |
| .margin:last-child { margin-bottom: 0; padding-bottom: 0; } |
| |
| </style> |
| |
| <!-- |
| This test creates breaks in overflow: |
| * between two blocks with collapsing negative margins |
| * through the middle of a float |
| * through some nested text |
| * after a nested float |
| --> |
| |
| <div class="pager"> |
| <div class="test"> |
| <span class="label">CENTER</span> |
| <div class="margin"> |
| <div class="large"></div> |
| </div> |
| </div> |
| <div class="test"> |
| <div class="margin"> |
| <div class="large"></div> |
| </div> |
| LINE 1<br>LINE 2 |
| </div> |
| <div class="test"> |
| <div class="float">FLT</div> |
| LINE 3 |
| <hr> |
| LINE 4<br>LINE 5 |
| </div> |
| <div class="test"> |
| <div class="float">FLT</div> |
| LINE 6<br>LINE 7 |
| </div> |
| </div> |
| |
| <div class="pager"> |
| <div class="test"> |
| <span class="label">END</span> |
| <div class="margin"> |
| <div class="large"></div> |
| </div> |
| </div> |
| <div class="test"> |
| <div class="margin"> |
| <div class="large"></div> |
| </div> |
| LINE 1<br>LINE 2 |
| </div> |
| <div class="test"> |
| <div class="float">FLT</div> |
| LINE 3 |
| <hr> |
| LINE 4<br>LINE 5 |
| </div> |
| <div class="test"> |
| <div class="float">FLT</div> |
| LINE 6<br>LINE 7 |
| </div> |
| </div> |
| |
| <div class="pager"> |
| <div class="test"> |
| <span class="label">BASELINE</span> |
| <div class="margin"> |
| <div class="large"></div> |
| </div> |
| </div> |
| <div class="test"> |
| <div class="margin"> |
| <div class="large"></div> |
| </div> |
| LINE 1<br>LINE 2 |
| </div> |
| <div class="test"> |
| <div class="float">FLT</div> |
| LINE 3 |
| <hr> |
| LINE 4<br>LINE 5 |
| </div> |
| <div class="test"> |
| <div class="float">FLT</div> |
| LINE 6<br>LINE 7 |
| </div> |
| </div> |
| |
| <div class="pager"> |
| <div class="test"> |
| <span class="label">LAST BASELINE</span> |
| <div class="margin"> |
| <div class="large"></div> |
| </div> |
| </div> |
| <div class="test"> |
| <div class="margin"> |
| <div class="large"></div> |
| </div> |
| LINE 1<br>LINE 2 |
| </div> |
| <div class="test"> |
| <div class="float">FLT</div> |
| LINE 3 |
| <hr> |
| LINE 4<br>LINE 5 |
| </div> |
| <div class="test"> |
| <div class="float">FLT</div> |
| LINE 6<br>LINE 7 |
| </div> |
| </div> |
| |
| <div class="pager"> |
| <div class="test"> |
| <span class="label">UNSAFE CENTER</span> |
| <div class="margin"> |
| <div class="large"></div> |
| </div> |
| </div> |
| <div class="test"> |
| <div class="margin"> |
| <div class="large"></div> |
| </div> |
| LINE 1<br>LINE 2 |
| </div> |
| <div class="test"> |
| <div class="float">FLT</div> |
| LINE 3 |
| <hr> |
| LINE 4<br>LINE 5 |
| </div> |
| <div class="test"> |
| <div class="float">FLT</div> |
| LINE 6<br>LINE 7 |
| </div> |
| </div> |
| |
| <div class="pager"> |
| <div class="test"> |
| <span class="label">UNSAFE END</span> |
| <div class="margin"> |
| <div class="large"></div> |
| </div> |
| </div> |
| <div class="test"> |
| <div class="margin"> |
| <div class="large"></div> |
| </div> |
| LINE 1<br>LINE 2 |
| </div> |
| <div class="test"> |
| <div class="float">FLT</div> |
| LINE 3 |
| <hr> |
| LINE 4<br>LINE 5 |
| </div> |
| <div class="test"> |
| <div class="float">FLT</div> |
| LINE 6<br>LINE 7 |
| </div> |
| </div> |