WordPress 用CSS强制长代码换行与不换行
之前 Forece 写过一篇 “如何让 WordPress CodeColorer 长代码自动换行” ,不过对于某些长代码还是不管用,比如迅雷链接、ED2K电驴链接、磁力链等等这些长代码还是会突出屏幕宽度。今天 Forece 在网上搜索了一下。把长代码自动换行用CSS完善了一下。先看下下边的几个例子吧。
结构:
1.Transshipment Booking System is launched只对英文起作用,以字母作为换行依据
2.Transshipment Booking System is launched只对英文起作用,以单词作为换行依据
3.Transshipment Booking System is launched只对中文起作用,强制换行
4.Transshipment Booking System is launched强制不换行,都起作用
5.不换行,超出部分隐藏且以省略号形式出现
5.不换行,超出部分隐藏且以省略号形式出现Transshipment Booking System is launched
代码:
.p1{ word-break:break-all; width:150px;}/*只对英文起作用,以字母作为换行依据*/
.p2{ word-wrap:break-word; width:150px;}/*--只对英文起作用,以单词作为换行依据*/
.p3{white-space:pre-wrap; width:150px;}/*只对中文起作用,强制换行*/
.p4{white-space:nowrap; width:10px;}/*强制不换行,都起作用*/
.p5{white-space:nowrap; overflow:hidden; text-overflow:ellipsis; width:100px;}//*不换行,超出部分隐藏且以省略号形式出现*/
1. word-break:break-all;只对英文起作用,以字母作为换行依据
2. word-wrap:break-word; 只对英文起作用,以单词作为换行依据
3.{white-space:pre-wrap; 只对中文起作用,强制换行
4.{white-space:nowrap; 强制不换行,都起作用
5.{white-space:nowrap; overflow:hidden; text-overflow:ellipsis;不换行,超出部分隐藏且以省略号形式出现
注意,一定要指定容器的宽度,不然的话是没有用的。
注意word-break 是IE5+专有属性
语法:
word-break : normal | break-all | keep-all
参数:
normal : 依照亚洲语言和非亚洲语言的文本规则,允许在字内换行
break-all : 该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本
keep-all : 与所有非亚洲语言的normal相同。对于中文,韩文,日文,不允许字断开。适合包含少量亚洲文本的非亚洲文本
说明:
设置或检索对象内文本的字内换行行为。尤其在出现多种语言时。
对于中文,应该使用break-all 。
看完上边的代码,剩下的就明白了。看看自己的代码是在 codecolorer-container 这个DIV容器中,进入后台-插件-编辑Codecolorer-找到codecolorer.css。
在.codecolorer-container 后边加上 word-break:break-all; width:600px; 这条强制换行代码以及设置宽度。刷新下缓存。完美了!!
整体代码如下:
1 | .codecolorer-container { margin-bottom: 10px; text-align: left; word-break:break-all; width:600px;} |
你好,还有个问题想请教一下。去年你的文章中提到的$options['nowrap'] = false和这篇文章中的换行依据很好的解决了换行问题,但还有一个问题,便是如何使显示的行号跳过自动换行了的行,就像你上边的代码只显示了行号1。谢谢了
@LL 这个只是一行啊,就是利用CSS让他强制换行。但是CODE代码里边还是认为他是一行的。就像我这个评论,虽然显示了两行,但是其实是一行。。。只是CSS让这个评论换行了。