我每次開發一個新的形式,包括textarea
我有以下的困境,當我需要指定其尺寸:我應該使用CSS寬度/高度或HTML cols/rows屬性來設置textarea的大小嗎?
使用CSS或使用textarea
的屬性cols
和rows
?
每種方法的優缺點是什麼?
什麼是使用這些屬性的語義?
它通常如何做?
我每次開發一個新的形式,包括textarea
我有以下的困境,當我需要指定其尺寸:我應該使用CSS寬度/高度或HTML cols/rows屬性來設置textarea的大小嗎?
使用CSS或使用textarea
的屬性cols
和rows
?
每種方法的優缺點是什麼?
什麼是使用這些屬性的語義?
它通常如何做?
我推薦使用兩者。如果客戶端不支持CSS,則行和列是必需的和有用的。但作爲一名設計師,我會覆蓋它們以獲得我想要的尺寸。
推薦的方法是通過外部樣式表例如
textarea {
width: 300px;
height: 150px;
}
<textarea> </textarea>
根據w3c,cols和rows都是textareas的必需屬性。行數和列數是將在textarea中適合的字符數,而不是像素或其他可能的任意值。去行/列。
w3c學校聲明您可以通過行和列屬性來設置它,但是設置高度和寬度會更好。在w3c.org上沒有提及行和列是textarea的必需屬性。 http://www.w3schools.com/tags/tag_textarea.asp http://www.w3.org/wiki/HTML/Elements/textarea – 2014-08-13 12:53:16
@MichaelStramel我的答案是四歲:) - 順便說一句,它的*不是* w3c學校。他們不隸屬於。我不確定HTML5是否具有* required *屬性的概念,但我可能是錯的。我仍然不明白爲什麼設置寬度/高度會比行/列更好,雖然 – 2014-08-13 13:51:15
我意識到,在我評論之後,但仍然覺得它與任何閱讀本文的人都有關。另外,使用響應式設計,行和列可能會導致問題,除非它們是通過JavaScript設置的。國際海事組織通過CSS設定了一個更好的方法。 – 2014-08-13 14:06:14
的答案是 「是」。也就是說,你應該使用兩者。沒有行和列(即使沒有顯式使用它們也有默認值),如果禁用了CSS或者被用戶樣式表覆蓋,textarea就會變得很小。始終關注可訪問性問題。也就是說,如果你的樣式表被允許控制textarea的外觀,你通常會看到一些看起來好得多的東西,適合整體頁面設計,可以調整大小以跟上用戶輸入(當然,在良好的口味範圍內)。
<textarea style="width:300px; height:150px;" ></textarea>
從未harcode的風格,這是從「90年代 – 2013-07-11 23:32:21
@ user470962對人不對事的事情。如果將語法錯誤更正爲'
@TAAPSogeking公平,這是4年後的相同答案。 -1 – Rambatino 2016-10-29 11:24:07
textarea的大小可以通過cols和rows屬性指定,甚至更好;通過CSS的高度和寬度屬性。 所有主流瀏覽器都支持cols屬性。 一個主要區別是<TEXTAREA ...>
是一個容器標籤:它有一個開始標籤()。
我通常沒有指定height
,但確實指定了width: ...
和rows
和cols
。
通常,在我的情況下,只需要width
和rows
,textarea與其他元件相比看起來不錯。 (和cols
是一個備用的,如果有人不使用CSS,如其他答案解釋。)
((同時指定rows
和height
感覺像重複數據我覺得一點點?))
在HTML設置
<textarea rows="10"></textarea>
在CSS設置
textarea { height: auto; }
這將觸發瀏覽器textarea的高度準確地設置行的金額加上週圍的墊襯。將CSS高度設置爲精確的像素量會留下任意的空格。
input
{
width: 300px;
height: 40px;
}
<textarea rows="4" cols="50">HELLO</textarea>
你可以用CSS做很容易 – ASHU 2014-03-14 15:05:08
問題是問'textarea' ... – iblamefish 2014-03-14 15:24:25
您可以通過CSS兩種方式做,或者你可以通過手動像這樣 – ASHU 2014-03-17 13:40:19
textareas的一個主要特點是它們是可擴展的。在網頁上,如果文本長度超過了您設置的空間(使用行或使用CSS),則可能導致滾動條出現在文本區域上。當用戶決定打印時,這可能是一個問題,特別是與「打印」成PDF - 所以設置一個舒適的大最小高度爲印刷文字區域是有條件的CSS規則:
@media print {
textarea {
min-height: 900px;
}
}
:「..」;財產及其控制。textarea的和寬度屬性的textarea的寬度的高度
,或者你可以通過下面的CSS使用字體大小:
#sbr {
font-size: 16px;
line-height:1.4;
width:100%;
}
這是好的,但你必須認識到,無論你設置大小的任何空間將會浪費,而且真的只是爲了表演。 – 2010-10-09 08:27:46
@tandu:你是什麼意思,「會浪費,真的只是爲了表演」? – BoltClock 2010-10-09 08:48:44
行/列是基於用戶的字符大小。所以如果你有一個css定義的寬度/高度不能被textarea中一個字符的像素點所分割,那麼就會有那麼多的垂直和水平的whitepsace。可能沒有人會注意到,但只是說。 – 2010-10-09 08:50:31