WordPress個別サポート

最近のテーマや問い合わせフォームのプラグインでは多くがレスポンシブ対応でしょうから心配ないかもしれませんが、問題は自作のフォームです。

tableタグの中にフォーム要素をレイアウトして自力で問い合わせフォームを作る場合もあります。たとえば、次のようなタグです。

<form>
 <table>
  <tr>
   <th>お名前</td>
   <td><input type="text" name="uname"></td>
  </tr>
  <tr>
   <th>メールアドレス</td>
   <td><input type="text" name="from"></td>
  </tr>
  <tr>
   <th>タイトル</td>
   <td><input type="text" name="title"></td>
  </tr>
  <tr>
   <th>メッセージ</td>
   <td><textarea rows="5" name="naiyou"></textarea></td>
  </tr>
  <tr>
   <td colspan="2"><input type="submit" value="内容を確認"></td>
  </tr>
 </table>
</form>

言うまでもなく、PC画面で見た場合は問題ありません。

PC画面で表示した問い合わせフォーム

PC画面で表示した問い合わせフォーム

レスポンシブではないテーマでスマホ表示すると、次のように右端が切れるかもしれません。

スマホで見るとフォームの右端が切れる

スマホで見るとフォームの右端が切れる

抜本的にレスポンシブ対応するには、じっくり検討する必要がありますが、最も単純な“スマホ対応”は、テーブルの幅を画面いっぱいにする方法です。

table {
    width: 100%;
}

これで問い合わせフォームは画面に収まりますが、幅が狭く入力しづらいかもしれません。

フォームを画面幅におさめる“スマホ対応”

フォームを画面幅におさめる“スマホ対応”

そんなときは横に並んだテーブルのセルをバラバラにして単純に上から下に表示する方法があります。たとえば、次のようなイメージです。

各セルを上から下に表示する

各セルを上から下に表示する

このように表示するには、テーブルの各セルをテーブル形式のレイアウトではなくブロックとして表示します。

たとえば、次のようなCSSを使います。

@media (max-width: 480px) {
    table {
        width: 100%;
    }

    table th,
    table td {
        display: block;
    }
}

これにより、tableタグで作成したテーブルが表形式ではなくブロックとしてバラバラになり、上記の図のように上から下に表示されます。

実際に使うにはもう少しカスタマイズが必要な場合があります。
この記事をSNSで共有する
WordPressでお困りのときはご相談を
この記事を書いた西沢直木が直接、WordPress個別サポートで対応します。
こんなときはご相談を
  • WordPressの使い方(ページやメニューの作り方を教えてほしい)
  • カスタマイズ(機能の追加やデザイン調整をお願いしたい)
  • トラブル対応(画面真っ白・「ログインできない」を解決したい)
マンツーマンなので相談内容は自由です。いただいた課題をその場で解決、CSSやPHPも目の前で修正します。気軽にご相談ください。
wordpress講座受講予約
WordPress講座の問い合わせ先

関連記事

BizVektorのカスタマイズ

WordPressによるサイト作成のヒント

WordPressプラグイン

スポンサーリンク
西沢直木によるWordPress講座の紹介
ホームページ作成講座WordPress個別サポート