tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

line-breaking-019.html (3291B)


      1 <!DOCTYPE html>
      2 <meta charset=utf-8>
      3 <title>CSS Text — out-of-flow element adjacent to a potential line-break</title>
      4 <meta name=assert content="The anchor of an out-of-flow should not migrate across a soft line break">
      5 <!-- NOTE: I'm not sure the spec explicitly addresses this exact point, but it seems like a clear
      6           bug in Firefox, hence this test (which passes as expected in Chrome and Safari). -->
      7 <link rel=help href="https://www.w3.org/TR/css-text-3/#line-break-details">
      8 <link rel=match href="reference/line-breaking-019-ref.html">
      9 <link rel=author title="Jonathan Kew" href="jkew@mozilla.com">
     10 <style>
     11 .outer { float: left; padding: 0 1em; margin: 1em; border: 1px solid silver; }
     12 
     13 .outer div { font-family: monospace; line-height: 2; margin: 1em 0; border: 1px dotted silver; }
     14 
     15 .test20 div { width: 20ch; }
     16 .test27 div { width: 27ch; }
     17 .test30 div { width: 30ch; }
     18 
     19 b { color: blue; border-left: 2px solid red; border-right: 2px solid green; }
     20 
     21 /* adjust for the width of the target element's border */
     22 div > .before { margin-left: 2px; }
     23 div > .after { margin-left: -2px; }
     24 
     25 .test::before,
     26 .test::after,
     27 .before,
     28 .after { position: absolute; font-size: 0.5em; }
     29 
     30 .test::before { content: "before"; }
     31 .test::after { content: "after"; }
     32 
     33 .before,
     34 .test::before { color: red; font-weight: normal; }
     35 .after,
     36 .test::after { color: green; font-weight: normal; }
     37 </style>
     38 
     39 <div>Test passes if all the examples in each group render the same:</div>
     40 
     41 <div class="outer test30">
     42  <!-- Using ::before and ::after to insert abs-pos elements with non-empty content: -->
     43  <div>
     44  Preceding text <b class=test>target element</b> following text.
     45  </div>
     46  <!-- With explicit spans just inside the target element: -->
     47  <div>
     48  Preceding text <b><span class=before>before</span>target element<span class=after>after</span></b> following text.
     49  </div>
     50  <!-- With explicit spans just outside the target element: -->
     51  <div>
     52  Preceding text <span class=before>before</span><b>target element</b><span class=after>after</span> following text.
     53  </div>
     54  <!-- With explicit line breaks: -->
     55  <div>
     56  Preceding text <span class=before>before</span><b>target element</b><span class=after>after</span><br>following text.
     57  </div>
     58 </div>
     59 
     60 <div class="outer test27">
     61  <div>
     62  Preceding text <b class=test>target element</b> following text.
     63  </div>
     64  <div>
     65  Preceding text <b><span class=before>before</span>target element<span class=after>after</span></b> following text.
     66  </div>
     67  <div>
     68  Preceding text <span class=before>before</span><b>target element</b><span class=after>after</span> following text.
     69  </div>
     70  <div>
     71  Preceding text <span class=before>before</span><b>target<br>element</b><span class=after>after</span> following text.
     72  </div>
     73 </div>
     74 
     75 <div class="outer test20">
     76  <div>
     77  Preceding text <b class=test>target element</b> following text.
     78  </div>
     79  <div>
     80  Preceding text <b><span class=before>before</span>target element<span class=after>after</span></b> following text.
     81  </div>
     82  <div>
     83  Preceding text <span class=before>before</span><b>target element</b><span class=after>after</span> following text.
     84  </div>
     85  <div>
     86  Preceding text<br><span class=before>before</span><b>target element</b><span class=after>after</span><br>following text.
     87  </div>
     88 </div>