用SyntaxHighlighter 語法高亮插件的朋友可能都遇到過代碼顯示不換行的問題,這個(gè)問題在網(wǎng)上也找不到什么解決辦法,一直困擾了我很久,今天算是把它解決了,辦法其實(shí)簡單,下面說下...
解決方法:
打開shCoreDefault.css文件,找到對.syntaxhighlighter textarea的定義,在最后加上一句:word-break:break-all !important;就ok了,意思是讓代碼強(qiáng)制換行顯示。
由于每個(gè)人調(diào)用的css不同,大家可以根據(jù)自己的需要修改css
測試發(fā)現(xiàn)對于3.08版本無效,大家可以參考下面的方法
由于我的博客主要是代碼分享,很多貼的代碼,都很長。很多時(shí)候我都是手動(dòng)給他換行。
但是今天實(shí)在是受不了。從網(wǎng)上找個(gè)辦法解決一下。
1、css修改:

在文件夾:/zb_system/ADMIN/ueditor/third-party/SyntaxHighlighter
在文件shCoreDefault.pack.css添加css:
body .syntaxhighlighter .line{ white-space: pre-wrap !important;} .syntaxhighlighter{width:100%!important;margin:.3em 0 .3em 0!important;position:relative!important;overflow:auto!important;background-color:#f5f5f5!important;border:1px solid #ccc!important;word-break:break-all;}2、Jquery代碼:
$(function () { // Line wrap back var shLineWrap = function () { $('.syntaxhighlighter').each(function () { // Fetch var $sh = $(this), $gutter = $sh.find('td.gutter'), $code = $sh.find('td.code') ; // Cycle through lines $gutter.children('.line').each(function (i) { // Fetch var $gutterLine = $(this), $codeLine = $code.find('.line:nth-child(' + (i + 1) + ')') ; //alert($gutterLine); // Fetch height var height = $codeLine.height() || 0; if (!height) { height = 'auto'; } else { height = height += 'px'; //alert(height); } // Copy height over $gutterLine.attr('style', 'height: ' + height + ' !important'); // fix by Edi, for JQuery 1.7+ under Firefox 15.0 console.debug($gutterLine.height(), height, $gutterLine.text(), $codeLine); }); }); }; // Line wrap back when syntax highlighter has done it's stuff var shLineWrapWhenReady = function () { if ($('.syntaxhighlighter').length === 0) { setTimeout(shLineWrapWhenReady, 10); } else { shLineWrap(); } }; // Fire shLineWrapWhenReady();});上面的代碼就是屬于長代碼。大家看看是不是都換行了??
現(xiàn)在,行號的高度就能和代碼的高度保持一致了。
新聞熱點(diǎn)
疑難解答