:rowsの値を変更すると、機能します。しかし、 ':cols =>'で設定した値はデフォルトのcolsのままです。列幅は変更されません。
HTMLソースを表示し、変更を反映しました。ブートストラップのCSSが疑わしいのではないか...
HTML(最終的なHTMLには「cols =」がありますが、列幅はデフォルト値である30のままです。私の目は信じられません!)
<textarea cols="100" id="comment_body" name="comment[body]" rows="5"></textarea>
レール:
<%= form_for([@post, @post.comments.build]) do |f| %>
<div class="field">
<i class="icon-user"></i>
<%= f.text_field :commenter %>
</div>
<div class="field">
<i class="icon-comment"></i>
<%= f.text_area :body, :rows => 5, :cols => 100 %>
</div>
<div class="actions">
<%= f.submit %>
<div>
<% end %>
他の答えは私にはうまくいきませんでした。これは:
<div class="span6">
<h2>Document</h2>
</p>
<textarea class="field span12" id="textarea" rows="6" placeholder="Enter a short synopsis"></textarea>
<button class="btn">Upload</button>
</div>
span12
のあるdivのspan6
に注意してください。
UPDATE:Bootstrap 3.0以降、入力要素の幅を設定するために以下で説明するinput-*
クラスが削除されました。代わりに、col-*
クラスを使用して、入力要素の幅を設定します。 例はドキュメントに記載されています 。
Bootstrap 2.3では、幅を設定するために入力クラスを使用します。
<textarea class="input-mini"></textarea>
<textarea class="input-small"></textarea>
<textarea class="input-medium"></textarea>
<textarea class="input-large"></textarea>
<textarea class="input-xlarge"></textarea>
<textarea class="input-xxlarge"></textarea>
<textarea class="input-block-level"></textarea>
ドキュメントの例 の「コントロールのサイズ設定」を検索します。
しかし、高さについては、まだrows属性を使用すると思います。
単にbootstrap "row-fluid"クラスをtextareaに追加します。 100%の幅に伸縮します。
更新:bootstrap 3.xの場合、textareaに「col-xs-12」クラスを使用します。
更新II:コンテナを全幅に拡張したい場合:container-fluidクラス。
VS2013によって生成されたsite.cssで次を見つけました
/* Set width on the form input elements since they're 100% wide by default */
input,
select,
textarea {
max-width: 280px;
}
特定の要素でこの動作をオーバーライドするには、次を追加します...
style="max-width: none;"
例えば:
<div class="col-md-6">
<textarea style="max-width: none;"
class="form-control"
placeholder="a col-md-6 multiline input box" />
</div>
これが正しい方法であるかどうかはわかりませんが、私はこれをしました:
<div class="control-group">
<label class="control-label" for="id1">Label:</label>
<div class="controls">
<textarea id="id1" class="textareawidth" rows="10" name="anyname">value</textarea>
</div>
</div>
これを私のbootstrapcustom.cssファイルに入れます:
@media (min-width: 768px) {
.textareawidth {
width:500px;
}
}
@media (max-width: 767px) {
.textareawidth {
}
}
このように、ビューポートに基づいてサイズが変更されます。大きなブラウザと小さなモバイルデバイスでは、すべてがうまく並んでいるようです。
これは、Twitter bootstrap 2およびsimple_form 2.0.4で動作します
結果は、span9行のspan6テキスト領域です
<div class="row" >
<div class="span9">
<%= f.input :some_text, :input_html => {:rows => 5, :placeholder => "Enter some text.", :class => "span6"}%>
</div>
</div>
別のオプションは、次のようにSite.cssのtextareaを分割することです。
/* Set width on the form input elements since they're 100% wide by default */
input,
select {
max-width: 280px;
}
textarea {
/*max-width: 280px;*/
max-width: 500px;
width: 280px;
height: 200px;
}
また、(私のMVC 5で)textareaにrefを追加します:
@Html.TextAreaFor(model => ................... @class = "form-control", @id="textarea"............
それは私のために働いた