Re: [css3-text-overflow] Question regarding float and text-overflow: ellipsis(float 和 text-overflow: ellipsis 的问题)

(Cc -www-style -Tab Atkins)

(2013/06/04 12:24), 一丝 wrote:
> 问题源于这个讨论:
> http://lists.w3.org/Archives/Public/www-style/2013Apr/0540.html
> 
> 我写了一个测试用例:http://jsbin.com/afuxid/1/edit
> 
> 得到如下结果:
> 
> http://img02.taobaocdn.com/tps/i2/T1rgC1XANbXXbAUXjT-270-405.png

真是有趣的不兼容!

(2013/06/04 13:27), hanquan.csf wrote:
> 刚刚跟一丝旺旺上讨论过,符合标准的肯定是文字遮盖 input,标准上说:
>
> This property specifies rendering when inline content overflows its
> block container element.
>
> 因为float元素只影响line box,所以text-overflow这属性跟float就完全无关
> 了。
>
> 然而我是认为这个设定相当有问题,从符合直觉的角度,一切文字都盛装在
> line box里面,它的排版行为也基本都是和line box相关的,这里跳过line box
> 莫名奇妙地去找外层的block container,实在是非常诡异,而且我相信从应用
> 场景上,也不会有人想要这种float和文字重叠的排版,这样的use case根本就
> 不存在。
>
> 所以我想更好的做法是调整整个text-overflow的策略,让它变成基于line box
> 去描述的。

嗯,說的好。这好像也是 Mozilla 的 Robert O'Callahan 的结论了[1]。WebKit
的 bugzilla 有把基于 line box 切改成基于包含块切的后果 — inspector 显示
的很糟 — 的图片[2],挺有意思的,也说用 line box 去切比较符合预期。

这里的教训还是,规范都写的很糟,参考看看就好 :)

(2013/06/04 14:47), Dean Lee wrote:>
> 这里出现偏差的是没有包含在单独元素标签里的“游离文字”。
> 将它们渲染为匿名 inline 元素(类似于 <span>)似乎没有分歧。**

从头到尾都不会跟 “游离文字” 有关系,你把一丝的例子里的:

<div class="normal">
<input type="text">
1. Lorem ipsum dolor sit amet, consectetur adipisicing elit, ...
</div>

改成

<div class="normal"><span>
</span><input type="text"><span>
1. Lorem ipsum dolor sit amet, consectetur adipisicing elit, ...
</span></div>

之类的,就没有“游离文字”了,不过各个浏览器上的结果没有变化。

(2013/06/04 14:47), Dean Lee wrote:
> 匿名框的属性继承非常少,不应该影响 <span> 内的表现。右边仍然应该留下合
> 适的位置。但 Opera 在上一步里偷懒,直接把 span 改成了 block!于是里面
> 的文字也不再 inline 了。所以上一段对高亮的判断有误。Opera 可是急性子。
> (验证:添加样式 span {display: block;} 可以使 Chrome 得到同样的结
> 果。)

添加 span {display: block; } 之后[3],就没有 "..." 了,这是完全不一样的
例子,也没有什么 “span 改成了 block” 的事情。怎么说 'text-overflow' 都是
比较接近渲染的效果(决定切在哪个地方等等),匿名框什么的都是布局,比渲染
早很多的事。


以上

Kenny

[1] http://lists.w3.org/Archives/Public/www-style/2013Apr/0545
[2] https://bugs.webkit.org/show_bug.cgi?id=115746#c15
[3] http://jsbin.com/afuxid/28/edit
-- 
Web Specialist, Opera Sphinx Team, Oupeng Browser, Beijing
Try Sphinx: http://sphinx.oupeng.com/

Received on Sunday, 13 October 2013 02:48:11 UTC