0

このフォーム全体をインデントしようとしています。

    <%= form_for([micropost, micropost.comments.build], :html => { :id => "blah_form" }) do |f| %>

        <div class="field">
          <p2>Who are you?</p2>
          <%= f.text_field :commenter %>
        </div>
        <div class="field">
          <p2>What deal are you offering?</p2>
          <%= f.text_area :body %>
        </div>
        <div class="actions">
          <%= f.submit "Submit"%>
        </div>
      <% end %>

しかし、私はこのフォームでこの他のテキスト領域をインデントしたくありません:

    <%= form_for(@micropost) do |f| %>
      <%= render 'shared/error_messages', object: f.object %>
      <div class="field">
        <%= f.text_area :content, placeholder: "What's something else you want to buy?" %>
      </div>
      <%= f.submit "Post", class: "btn btn-large btn-primary" %>
    <% end %>

今私のCSSファイルは言う:

#blah_form input, textarea, b4 {margin-left:80px}
4

2 に答える 2

0
#blah_form input, textarea, b4 {margin-left:80px}

3つの別個の宣言です。代わりにこれを試して、CSSをそのフォームにローカライズしてください。

#blah_form input,
#blah_form textarea,
#blah_form b4 
    {margin-left:80px}

または、インデントクラスを作成します。

.indent {
    margin-left:80px;
}

これは、インデントが必要なすべての要素で使用できます。クラスをもう少しインテリジェントにして、特定のネストされた要素にインデントを適用することができます。

.indent > div {
    margin-left:80px;
}

(ie6では機能しません)これは、margin-leftdivである.indentのすべての直接の子にを適用することを意味します。

于 2012-07-15T01:23:08.093 に答える
0

textareaの周りのdivに別のクラスを追加し、それを使用してマージン左を削除します

例えば。

<div class="field no-indent">

そしてあなたのCSSで:

.no-indent textarea { margin-left:0 }

また、CSS

#blah_form input, textarea, b4 {margin-left:80px}

#blah_form内のすべての入力、およびすべてのtextareaとb4(クラスb4を意味すると思いますが、この場合は.b4である必要があります)に適用されます。

于 2012-07-15T01:23:37.713 に答える