В нашей предыдущей статье, посвященной работе с плагином Contact form 7, мы показывали как создать форму в две колонки. Сегодня мы расскажем о том, как создать адаптивную(резиновую) форму из двух колонок. Форма будет отображаться в две колонки на больших разрешениях, и будет сжиматься в одну на мобильных устройствах. Итоговый вариант будет выглядеть так:
HTML разметка
Для начала создадим HTML разметку для формы. Мы обернем всю форму в ID под названием “responsive-form”, а затем укажем ей количество строк и столбцов следующем образом:
<div id="responsive-form" class="clearfix"> <div class="form-row"> <div class="column-half">Имя [text* first-name]</div> <div class="column-half">Фамилия [text* last-name]</div> </div> <div class="form-row"> <div class="column-half">Email [email* your-email]</div> <div class="column-half">Телефон [text* your-phone]</div> </div> <div class="form-row"> <div class="column-full">Тема сообщения [text* your-subject]</div> </div> <div class="form-row"> <div class="column-full">Ваше сообщение [textarea your-message]</div> </div> <div class="form-row"> <div class="column-full">[submit "Отправить"]</div> </div> </div><!--end responsive-form-->
Если вы опубликуете эту форму на сайте прямо сейчас, то она будет выглядеть следующим образом:
Стили CSS
Давайте посмотрим на стили css для нашей двухколоночной сетки.
#responsive-form{ max-width:600px /*-- измените это значение для установки необходимой ширины вашей формы --*/; margin:0 auto; width:100%; } .form-row{ width: 100%; } .column-half, .column-full{ float: left; position: relative; padding: 0.65rem; width:100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box } .clearfix:after { content: ""; display: table; clear: both; } /**---------------- Media query ----------------**/ @media only screen and (min-width: 48em) { .column-half{ width: 50%; } }
Эти стили определяют строки и столбцы. Если вы взглянете на форму сейчас, то увидите, что поля выстроились в два столбца.
Добавим немного стилей форме..
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 textarea { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 3px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box } .wpcf7 input[type="text"]:focus{ background: #fff; } .wpcf7-submit{ float: right; background: #CA0002; color: #fff; text-transform: uppercase; border: none; padding: 8px 20px; cursor: pointer; } .wpcf7-submit:hover{ background: #ff0000; } span.wpcf7-not-valid-tip{ text-shadow: none; font-size: 12px; color: #fff; background: #ff0000; padding: 5px; } div.wpcf7-validation-errors { text-shadow: none; border: transparent; background: #f9cd00; padding: 5px; color: #9C6533; text-align: center; margin: 0; font-size: 12px; } div.wpcf7-mail-sent-ok{ text-align: center; text-shadow: none; padding: 5px; font-size: 12px; background: #59a80f; border-color: #59a80f; color: #fff; margin: 0; }
Если применить вышеприведенные стили к форме, она станет выглядеть приятнее. На больших разрешениях форма будет отображаться в два столбца, а на мобильных устройствах, в свою очередь, в один.
На компьютере
На мобильном устройстве
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.