レスポンシブウェブデザイン化するにあたって、inputによる入力フォームの長さがおかしくなったので改善した。
もともと以下のようなソースだったのだけど、
<input type="text" name="q" value="" size="40">
これではなぜかスマホでうまく表示されなかった。
(基準となるブロックの長さが定かでないとかかな???)
なので、以下のようにした。
<style> @media only screen and (max-width : 640px){input{width:60%}} </style> <input type="text" name="q" value="" size="40">
これで、PC時はサイズ40で、スマホ時はサイズ60%で表示されるようになった。
(上記の場合、表示サイズが640px以下の場合「長さを60%にする」という設定)
もちろん、inputが複数ある時などは、以下のようにクラスを使ってあげると同じ事が可能。
元となるinputのサイズがパーセントではなくても、CSSが優先されるのでOK。
<style> @media only screen and (max-width : 640px){ .waku1{width:60%} .waku2{width:90%} } </style> <input type="text" name="q" value="" size="40" class="waku1"> <input type="text" name="r" value="" size="78" class="waku2">
ちなみに、全デバイスで同じパーセンテージでサイズを指定するならば、
<style> input{width:60%} </style> <input type="text" name="q" value="">
で良い。
コメント