@@ -44,6 +44,7 @@ spec:css-display-3; type:property; text:display
4444<pre class="anchors">
4545url: https://www.w3.org/TR/2008/CR-css3-marquee-20081205/#the-overflow-style; type: property; text: overflow-style;
4646url: https://www.w3.org/TR/CSS22/visuren.html#positioned-element; type: dfn; spec:css2; text:positioned;
47+ url: https://www.w3.org/TR/CSS22/visudet.html#strut-element; type: dfn; spec:css2; text:strut;
4748</pre>
4849<style>
4950.awesome-table td { padding: 5px; }
@@ -849,44 +850,46 @@ Indicating Block-Axis Overflow: the 'block-ellipsis' property</h3>
849850 reducing the space in the line box
850851 available to the other contents of the line.
851852 This inline is assigned ''unicode-bidi: plaintext''
853+ and ''line-height: 0''
852854 and is placed in the line box after the last
853- <a>soft wrap opportunity</a> [[!CSS-TEXT-3]]
855+ <a>soft wrap opportunity</a> (see [[!CSS-TEXT-3]] )
854856 that would still allow the entire <a>block overflow ellipsis</a> to fit on the line.
855- (This can result in the entire contents of the line box being replaced.)
856857 For this purpose, <a>soft wrap opportunities</a> added by 'overflow-wrap' are ignored.
858+ If this results in the entire contents of the line box being displaced,
859+ the line box is considered to contain a [=strut=] , as defined in [[CSS2/visudet.html#leading]] .
857860 Text <a href="https://www.w3.org/TR/css-text-3/#justification">alignment and justification</a>
858861 occurs after placement,
859862 and measures the inserted <a>block overflow ellipsis</a>
860863 together with the rest of the line’s content.
861864
865+ Note: Setting the [=block overflow ellipsis=] 's ' line-height' to ''0''
866+ makes sure that inserting it cannot cause the line's height to grow,
867+ which could cause further relayouts and potentially cycles.
868+ This is almost equivalent to inserting the [=block overflow ellipsis=]
869+ as a paint-time operation, except that it still participates in alignment and justification.
870+ The downside is that unusually tall / deep glyphs in the [=block overflow ellipsis=]
871+ may overflow.
872+
862873 The [=block overflow ellipsis=] must not be included
863874 in either the ''::first-letter'' nor the ''::first-line'' pseudo-elements.
864875
865876 If there is no next <a>fragmentation container</a>
866877 and thus the remainder of the content after the break would be discarded,
867878 then the UA may visually replace the contents of the line,
868879 as it does for 'text-overflow' .
869- If, however, there is a next <a>fragmentation container</a>
870- that would receive subsequent content,
871- then the content replaced by the <a>block overflow ellipsis</a>
872- must be pushed to the next <a>fragmentation container</a>
873- and the <a>block overflow ellipsis</a> inserted and laid out
874- exactly as if it were part of the <a>in-flow</a> contents of the line.
875- This can result in changes to layout within or impacted by the line.
876- The means of breaking any resulting cycles is up to the UA.
877880
878- Issue(2905): We may want to get rid of the "MAY" in the previous paragraph,
879- and require a single behavior.
880- Finding how to break the cycles probably should be defined as well.
881+ If there is a subsequent <a>fragmentation container</a> in the [=fragmentation context=]
882+ that would receive subsequent content,
883+ then the content displaced by the <a>block overflow ellipsis</a>
884+ must be pushed to that <a>fragmentation container</a> .
881885
882886 The UA must treat the <a>block overflow ellipsis</a> as an unbreakable string,
883887 If any part of the [=block overflow ellipsis=] overflows,
884888 it is treated as [=scrollable overflow=] ,
885889 and its rendering is affected by the 'text-overflow' property.
886890
887891 The <a>block overflow ellipsis</a> does not capture events:
888- pointer events are dispatched to whatever is underneath
889- or otherwise visually replaced by it.
892+ pointer events are dispatched to whatever is underneath it.
890893
891894 It also has no effect on the intrinsic size of the box:
892895 its <a lt="min-content size">min-content</a> and <a lt="max-content size">max-content</a> sizes
0 commit comments