如何解决网页上的软连字符问题?在文本中可能有一些长词,您可能想要用连字符换行.但是你不希望连字符显示整个单词是否在同一行.
根据这个页面 <wbr>上的评论是由Netscape发明的非标准"标签汤".它似乎­ 也存在标准合规性方面的问题.似乎没有办法为所有浏览器提供有效的解决方案.
处理软连字符的方法是什么?为什么选择它?有优选的解决方案还是最佳实践?
想象一下,我在DIV中有一个长的,多字的文本行:
你好,亲爱的顾客.请看看我们的优惠.
DIV具有动态宽度.我想用自己的文字包装上面的文字.目前,包装发生在一个单词边界上,它最大化了第一行的长度:
|-DIV WIDTH------------------------------------|
Hello there, dear customer. Please have a look
at our offer.
Run Code Online (Sandbox Code Playgroud)
我希望包装发生在句子边界上.但是,如果不需要包装,我希望该行保持为一个.
为了说明我的观点,请查看各种DIV宽度以及我希望如何包装文本:
|-DIV WIDTH--------------------------------------------------------|
Hello there, dear customer. Please have a look at our offer.
|-DIV WIDTH-----------------------------------|
Hello there, dear customer.
Please have a look at our offer.
|-DIV WIDTH--------|
Hello there, dear
customer.
Please have a look
at our offer.
Run Code Online (Sandbox Code Playgroud)
使用单词,您可以使用软连字符,以便在建议的音节边界上进行自动换行.如果不需要包装,则­保持不可见.如果需要包装­,它就是它发生的地方:
magnifi­cently
Run Code Online (Sandbox Code Playgroud)
是否有类似的方法来暗示HTML中的自动换行?
默认情况下,lxml不会低位和wbr标记,用于在长字中添加分词符.它将其<wbr></wbr>格式化为应该简单地格式化<wbr>,类似于br标记.
如何将此行为添加到lxml?
我正在寻找Unicode解决方案,它将成为<wbr>以下方面标记的替代方案:
这正是<wbr>现代浏览器中的功能.­,­并且​似乎并不一致.
这是一个http://jsfiddle.net/qY6mp/7/来演示.
我会感谢任何指针.