网页开发过程中时常会遇到关于折行与不折行的问题。比如一个固定尺寸的区域里,我们要写一个长英文URL,或者是有个超长英文单词时,通常浏览器会默认认为这个长串字符不能被折行,导致页面被撑开。
通常网上搜索到的结果是通过样式中加word-break来实现折行的。但是word-break只对IE5.5以上浏览器起作用。如果要在其他浏览器中也实现强制折行,需要用其他的方法来实现。
比如对firefox浏览器,如果想要实现长链接的折行可以使用javascript的方法实现。
<script language="javascript" type="text/javascript" defer="defer">
    javascript:(
      function(){
         var D=document; F(D.body);
         function F(n){
            var u,r,c,x;
            if(n.nodeType==3){
               u=n.data.search(/\S{10}/);
               if(u>=0) {
                    r=n.splitText(u+10); n.parentNode.insertBefore(D.createElement("WBR"),r);
               }
           }else if(n.tagName!="STYLE" && n.tagName!="SCRIPT"){
               for (c=0;x=n.childNodes[c];++c){
                    F(x);
               }
           }
        }
      }
 )();
</script>
 
除了javascript方法外,我们还可以通过CSS样式来控制折行:
pre{
white-space: pre; /* CSS2 */
white-space: -moz-pre-wrap; /* Mozilla */
white-space: -hp-pre-wrap; /* HP printers */
white-space: -o-pre-wrap; /* Opera 7 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: pre-wrap; /* CSS 2.1 */
white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
word-wrap: break-word; /* IE */
}
如果想控制DIV和TD强制不折行,可以用style="white-space:nowrap;"(通用)。

0

收藏

kiddymeet

170篇文章,192W+人气,0粉丝

Ctrl+Enter 发布

发布

取消

f92360e227f9d91cdff7ea95120630ef.png
left-qr.jpg

扫一扫,领取大礼包

0

1
分享
qr-url?url=https%3A%2F%2Fblog.51cto.com%2Fkiddymeet%2F15397
kiddymeet
noavatar_middle.gif