LoginSignup
46
54

More than 5 years have passed since last update.

rails フォームの大きさをcssで変更する

Posted at

cssでレスポンシブするときの悩み

最近サービスをスマホでも使えるようにしたいということで、レスポンシブ対応させています。
デバイスの大きさによって可変するやつ。。。
でもあの可変て、css内で区切りますよね。だからhtmlに直でcssが書けないという罠にはまっています。。。
styleとかでごまかしごまかしやっていたのが、全てバレてしまいました。。。。。
今回はそんな悩みの中で一つ解決策を学んだので、メモ。

ログインフォームの大きさって変えられるんですか?

スクリーンショット 2018-03-04 11.17.34.gif

ログインフォームです。初期の状態ってみなさんこれだと思います。
最初自分はこんな感じで書いていました。

example.html.erb
<%= f.label :ユーザー名%>
<%= f.text_field :username , placeholder: "ユーザー名"%>

<%= f.label :パスワード%>
<%= f.password_field :password, placeholder: "パスワード"%>

では、このフォームの大きさを変えるにはどうすれば良いのか。。。
調べてみると、こんな書き方を見つけました。

example.html.erb
<%= f.label :ユーザー名 %>
<%= f.text_field :username, placeholder: "ユーザー名", :size => "30*30" %>

sizeというオプションを追加しました。

で、結果をみてみると。。。。。
スクリーンショット 2018-03-04 11.20.56.gif

確かに、横長にはなってるけれども! (笑)
この書き方には問題点が2つあります。。。

1.縦の長さを変えられない
2.レスポンシブに対応できない(htmlに直書きのため、デバイスの大きさで条件分けができない)

解決策

そこで色々な方に教わり、解決策わかりました!

cssの部分に下のコードを追加

example.scss
input[type="text"] {
        width: 300px;
        height: 40px;
    }

input[type="password"] {
        width: 300px;
        height: 40px;
    }

typeの部分には、fieldの前の部分を入れれば対応します。

こうすると。。。。

スクリーンショット 2018-03-03 22.57.45.gif

できました!
縦幅も変えられるし、何よりcssに書くのでレスポンシブもできます!

46
54
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
46
54