メルマガ登録フォームは名前とメールアドレスを入力する箇所なので、なるべるレイアウトはキレイに整えたいところです。
というのも、つい最近このwebサイトの登録フォームがエラーを起こして、見た目がよろしくないままで数日間サイト運営していました。
こんな感じの↓
絶対に登録したくないですよね(汗)。
僕はメルマガスタンドにアスメルを利用しているので、登録フォームもアスメルのCSSジェネレーターでカスタマイズしたものをサイトに埋め込んでいます。
一番はじめに作業したときはなんの問題もなかったのですが、メルマガ登録フォームのサムネイル画像を変更した際に突然フォームの見た目が上記のように崩れてしまったのです。
この状態から一刻も早くなんとかせねばと思って数日間バタバタしていたところ、ようやくなんとかなりました。
原因はスマホとPCの表示切り替えが上手くいっていないことにありました。
たぶん、この問題に直面する人は僕以外にもいると思ったので今回はその解説をしていこうと思います。
賢威のスマホとPC表示切り替えはCSS書き換えで完結
CSSジェネレーターでメルマガ登録フォームを作成すると2つのコードが出てきます。
ひとつはdesign.cssに貼り付ける用でもうひとつはメルマガ登録フォームを埋め込むページに貼り付けるようです。
【design.css用】
【埋め込みページ用】
この方法で設定した場合、CSSジェネレーターでカスタマイズしたとおりのレイアウトになりますが、残念ながらスマホでの表示はPCサイズのまま画面からはみ出てしまうんですよね。
これを改善するにはPC表示とスマホ表示で切り替わるようにコードを書き換える必要があります。
僕が最初に行ったのは、mobile.cssにCSSジェネレーターで書き出したコードをスマホのサイズに書き換えて貼り付けるやり方でした。
しかし、この場合スマホ表示は上手くいきますが今度はPC表示のサイズがおかしくなってきます。なのでdesign.cssのコードをいじってみたのですが、変化しません。前述の画像がそれで、登録フォームの外枠がスマホサイズから変化しないのです。
あっコード崩れた・・・
とか思いましたが実はこれ、design.cssとmobile.cssにCSSジェネレーターで作成したコードを貼り付けてしまうとdesign.cssの共通コードがmobile.cssに上書きされてしまうらしいのです。
この原因を突き止めたところどうやら賢威の設定に問題がありました。賢威のmobile.cssには冒頭にこのようなコードがあります
1 2 3 4 5 6 7 8 9 10 11 |
/*-------------------------------------------------------- モバイル用レイアウト(640px以下の解像度のスクリーン含む) --------------------------------------------------------*/ @media only screen and (max-width : 640px){ /*-------------------------------------------------------- サイト全体の共通設定 -------------------------------------------------------*/ |
このonly screenとは、スマホのみに対応するというコードで640pxの横幅以下のサイズに限り適用しますよ~ってコードになります。
つまりこの
{
↑以降に、CSSジェネレーターで作成したCSSのコードをスマホサイズに書き換えて貼り付ければOKということです。
こんな感じで↓
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
/*-------------------------------------------------------- モバイル用レイアウト(640px以下の解像度のスクリーン含む) --------------------------------------------------------*/ @media only screen and (max-width : 640px){ <!--============フォームのCSSここから============--> <style type="text/css"> #asumeruform{ width:189px; } #asumeruform table { border-collapse : collapse ; margin: 0 0 10px; width: 289px; table-layout: fixed; border-color:#ccc; } #asumeruform table th { width: 113px; padding: 5px 10px; border: 1px solid #ccc; background: #ffffcc; text-align: left; vertical-align: middle; font-size:12px; color:#000; } #asumeruform table tr{ border-color:#ccc; } #asumeruform table td { padding: 10px; border: 1px solid #ccc; color: #000; font-size:12px; background: #ffffff; } #asumeruform input{ font-size: 12px; } #asumeruform .inputselect { padding: 3px; font-size: 12px; color:#000; } #asumeruform .inputtext.inputtextshortest { width: 100px; } #asumeruform .inputtext.inputtextshort { width: 140px; } #asumeruform .inputtext.inputtextlong { width: 140px; } #asumeruform textarea { font-size: 12px; width: 133px; height: 87px; padding: 3px; } #asumeruform .formbtn { margin-left:200px; font-size: 16px; width: 200px; height:5px; padding: 1px; padding-left: 8px; padding-right: 8px; -webkit-border-radius: 6px; -webkit-box-shadow: 0 2px 2px #ccc; border-radius: 6px; box-shadow: 0 2px 2px #ccc; } #asumeruform span.require { color: red; font-weight: bold; } </style> <!--============フォームのCSSここまで============--> /*-------------------------------------------------------- サイト全体の共通設定 -------------------------------------------------------*/ |
ちなみに、テキストエリアと登録フォームの枠のサイズは埋め込みページではなく、cssで調整しています。
するとスマホ表示はしっかりデバイスに収まってます▼
PC表示も▼
以上がアスメルのCSSジェネレーターで作成したメルマガ登録フォームのレイアウトをPCとスマホで切り替える方法でした。
コードの書き換えは理解出来ればなんてことない話ですが、そこに行き着くまでが大変なんですよね(汗)。
登録フォームはPCでもスマホでもキレイに整えてガンガン集客していきましょう!

コメントを残す