В нашей предыдущей статье, посвященной работе с плагином Contact form 7, мы показывали как создать форму в две колонки. Сегодня мы расскажем о том, как создать адаптивную(резиновую) форму из двух колонок. Форма будет отображаться в две колонки на больших разрешениях, и будет сжиматься в одну на мобильных устройствах. Итоговый вариант будет выглядеть так:
![final-fom-desktop[1]](https://wpincode.com/wp-content/uploads/2014/09/final-fom-desktop1.png)
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-->
Если вы опубликуете эту форму на сайте прямо сейчас, то она будет выглядеть следующим образом:
![unstyled-form[1]](https://wpincode.com/wp-content/uploads/2014/09/unstyled-form1.png)
Стили 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%;
}
}
Эти стили определяют строки и столбцы. Если вы взглянете на форму сейчас, то увидите, что поля выстроились в два столбца.
![grids-added[1]](https://wpincode.com/wp-content/uploads/2014/09/grids-added1.png)
Добавим немного стилей форме..
.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;
}
Если применить вышеприведенные стили к форме, она станет выглядеть приятнее. На больших разрешениях форма будет отображаться в два столбца, а на мобильных устройствах, в свою очередь, в один.
На компьютере
![final-fom-desktop[1]](https://wpincode.com/wp-content/uploads/2014/09/final-fom-desktop11.png)
На мобильном устройстве
![final-form-mobile[1]](https://wpincode.com/wp-content/uploads/2014/09/final-form-mobile1.png)
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.
