- From: 一丝 <yiorsi@gmail.com>
- Date: Mon, 14 Oct 2013 13:09:37 +0800
- To: "Kang-Hao (Kenny) Lu" <kanghaol@oupeng.com>
- Cc: winter <hanquan.csf@taobao.com>, Dean Lee <xslidian@gmail.com>, W3C HTML5 中文興趣小組 <public-html-ig-zh@w3.org>
- Message-ID: <CA+-d5Zr4t=SXkLsYSRk9RcwHAJ5q7vH=T1V5r2MmTNXDtYvtwg@mail.gmail.com>
豪哥,现在才看啊。所以结论就是「规范写的不明觉厉,我们倾向IE和Chrome的表现更加实用?」 以上 一丝 在 2013年10月13日上午10:47,Kang-Hao (Kenny) Lu <kanghaol@oupeng.com>写道: > (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 Monday, 14 October 2013 05:10:25 UTC