@@ -44,6 +44,7 @@ spec:css-display-3; type:property; text:display
44
44
<pre class="anchors">
45
45
url: https://www.w3.org/TR/2008/CR-css3-marquee-20081205/#the-overflow-style; type: property; text: overflow-style;
46
46
url: 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;
47
48
</pre>
48
49
<style>
49
50
.awesome-table td { padding: 5px; }
@@ -849,44 +850,46 @@ Indicating Block-Axis Overflow: the 'block-ellipsis' property</h3>
849
850
reducing the space in the line box
850
851
available to the other contents of the line.
851
852
This inline is assigned ''unicode-bidi: plaintext''
853
+ and ''line-height: 0''
852
854
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]] )
854
856
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.)
856
857
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]] .
857
860
Text <a href="https://www.w3.org/TR/css-text-3/#justification">alignment and justification</a>
858
861
occurs after placement,
859
862
and measures the inserted <a>block overflow ellipsis</a>
860
863
together with the rest of the line’s content.
861
864
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
+
862
873
The [=block overflow ellipsis=] must not be included
863
874
in either the ''::first-letter'' nor the ''::first-line'' pseudo-elements.
864
875
865
876
If there is no next <a>fragmentation container</a>
866
877
and thus the remainder of the content after the break would be discarded,
867
878
then the UA may visually replace the contents of the line,
868
879
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.
877
880
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> .
881
885
882
886
The UA must treat the <a>block overflow ellipsis</a> as an unbreakable string,
883
887
If any part of the [=block overflow ellipsis=] overflows,
884
888
it is treated as [=scrollable overflow=] ,
885
889
and its rendering is affected by the 'text-overflow' property.
886
890
887
891
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.
890
893
891
894
It also has no effect on the intrinsic size of the box:
892
895
its <a lt="min-content size">min-content</a> and <a lt="max-content size">max-content</a> sizes
0 commit comments