簡體   English   中英

用css或javascript包裝固定Div內的文本?

[英]Wrap Text inside fixed Div with css or javascript?

我有tinymce編輯器(textarea)和一個div。 每當我在文本編輯器中輸入時,它會在預覽div中顯示實時(200px),這看起來類似於stackoverflow預覽。

我想要實現的是,如果我們輸入一個沒有空格的單詞並且如果超過200px,我想將它包裝到下一行。

我試圖找到它,但我還沒有找到解決方案。 我試過這個我在這里找到的解決方案

.preview_desc 
{   
    word-wrap: break-word; /* IE>=5.5 */  
    white-space: pre; /* IE>=6 */  
    white-space: -moz-pre-wrap; /* For Fx<=2 */   
    white-space: pre-wrap; /* Fx>3, Opera>8, Safari>3 */ 
}

它在IE7中不能很好地工作。 它添加了左右空間。 所以我的div變得如下圖所示

http://img38.imageshack.us/img38/2650/ie7g.jpg

在IE8中,正確的外觀就像這樣。

img35.imageshack.us/img35/3915/ie8a.jpg(請添加http://並查看)

Opera 10也不完全正常工作。

然后我也有行數js。 這是

var height = document.getElementById('divpreview').clientHeight;
var lines = Math.round(height / 10); 
document.getElementById('lines').innerHTML = lines;  
if(document.getElementById('divpreview').innerHTML == "")
{
     document.getElementById('lines').innerHTML = 0;  
}

如果我們使用上面的css代碼,它將從除了IE8和7之外的所有瀏覽器中的第2行開始計數。

我只想在所有最新的瀏覽器上工作,包括FF2,3,IE7,IE8,Safari,Chrome,Opera(最新)。

我可能誤解了你的問題,但似乎你只需要一點CSS,特別是max-width(適用於所有非白痴瀏覽器)和帶有古怪IE表達式的寬度(對於IE)。

例如

max-width:200px;
_width:expression(document.body.clientWidth > 200? "200px": "auto" );

當你將它與你已經擁有的CSS結合起來時,它似乎應該有效。

function GetWrapedText(text, maxlength) {    
    var resultText = [""];
    var len = text.length;    
    if (maxlength >= len) {
        return text;
    }
    else {
        var totalStrCount = parseInt(len / maxlength);
        if (len % maxlength != 0) {
            totalStrCount++
        }

        for (var i = 0; i < totalStrCount; i++) {
            if (i == totalStrCount - 1) {
                resultText.push(text);
            }
            else {
                var strPiece = text.substring(0, maxlength - 1);
                resultText.push(strPiece);
                resultText.push("<br>");
                text = text.substring(maxlength - 1, text.length);
            }
        }
    }
    return resultText.join("");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM