网页开发过程中时常会遇到关于折行与不折行的问题。比如一个固定尺寸的区域里,我们要写一个长英文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:(
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 */
}
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;"(通用)。
©著作权归作者所有:来自51CTO博客作者kiddymeet的原创作品,如需转载,请注明出处,否则将追究法律责任
0
收藏
推荐专栏更多
猜你喜欢
我的友情链接
linux下查看nginx,apache,mysql,php的编译参数
Java线程:线程的调度-休眠
我们不得不面对的中年职场危机
职场终极密籍--记我的职业生涯
用光影魔术手制作一寸照片(8张一寸)
我的IT职场生涯: 毕业4年,月薪过万
Linux关闭休眠和屏保模式
年薪从0到10万-我的IT职场经验总结
Windows7删除休眠文件hiberfil.sys节省大量C盘空间
致IT同仁 — IT人士常犯的17个职场错误
“跳槽加薪”现象,无奈的职场规则
js中创建对象方式----原型模式
隐藏元素之后改变窗体大小时echarts显示异常问题
九种跨域方式实现原理(完整版)
Dojo 如何测试 widget
一篇文章搞明白CORS跨域
webpack4.x最详细入门指南
第一行代码:以太坊(3)-使用更多的工具编写和测试智能合约
css float与学习骑自行车
扫一扫,领取大礼包
转载于:https://blog.51cto.com/kiddymeet/15397
Ctrl+Enter 发布
发布
取消