2013-04-15 58 views
1

我想用white-space CSS屬性在HTML textareacss在textarea中的空白屬性?

基本上,如果有人類型的textarea一堆換行文本,然後提交這一數據被存儲在MySQL中,我想用white-space CSS屬性顯示在文本區域的換行符。但是,當我嘗試它時,它不工作,只是在一個大段落中顯示文本,沒有任何休息或任何東西。有沒有辦法做到這一點?

<form action="includes/changebio.php" method="post" id="form1">   
<textarea id="bio" style="width: 440px; 
    margin-top:3px; 
    text-align:left; 
    margin-left:-2px; 
    height: 120px; 
    resize: none; 
    outline:none; 
    overflow:scroll; 

    **white-space:pre-line;** 

    border: #ccc 1px solid;" textarea name="bio" data-id="bio" maxlength="710" placeholder="<?php echo stripslashes($profile['bio']); ?>"></textarea> 
<input type="image" src="assets/img/icons/save-edit.png"class="bio-submit" name="submit" value="submit" id="submit"/> 
</form> 
+0

這是什麼「它」是「顯示文本都聚集在一名大段」?這聽起來像你的問題出現在提交的用戶輸入的*處理中,而不是'textarea'元素的樣式。如示例代碼所示,該元素沒有內容。 –

回答

0

不要。

<textarea>元素已經處理的空白字面上。沒有必要嘗試把事情掌握在自己手中。

+0

所以任何想法爲什麼文本將顯示爲一個沒有空格的大段落? –

+0

你正在嘗試覆蓋它,它不能正常工作。我不知道瀏覽器如何處理它,但是「不正確」僅僅是對它進行總結。只需完全刪除'white-space'屬性。 –

+0

我已經完成,它stil不顯示換行符:( –

3
textarea{white-space:pre} 

當我看到這個,這是因爲你的textarea從某物繼承了一個空白:nowrap。它也可以通過textareas上的wrap =「no」而變得複雜,這有時可能是有用的。

對於一個textarea NOWRAP的默認行爲是前期,所以只需設置CSS如上在您的樣式底部將被設置白空間的任何地方覆蓋。

如果你檢查你的textarea元素,你肯定會發現在層次結構的某個地方,你正在設置某個類型的元素上的nowrap屬性,這個元素覆蓋默認的textarea行爲。

0

事情似乎工作確定爲我...扔進一個codepen只是爲了測試這一點。直接添加時,換行符在textarea內顯示正常。

不知道發生了什麼事情。 PHP剝離換行符?你在通過$ profile ['bio']傳遞什麼時使用雙引號?

這裏有一個答案可以幫助你:The .val() of a textarea doesn't take new lines into account

最後的響應,尤其如此。根據你的代碼,聽起來不像.replace()方法是你需要的(但我可能是錯的......也許我不瞭解你在做什麼)。