![](/img/trans.png)
[英]Javascript createElement - Need to wrap input text with div class for css formatting
[英]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.