Создаем адаптивную форму контактов в две колокни в Contact form 7

В нашей предыдущей статье, посвященной работе с плагином Contact form 7, мы показывали как создать форму в две колонки. Сегодня мы расскажем о том, как создать адаптивную(резиновую) форму из двух колонок. Форма будет отображаться в две колонки на больших разрешениях, и будет сжиматься в одну на мобильных устройствах. Итоговый вариант будет выглядеть так:

final-fom-desktop[1]

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]

Стили 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]

Добавим немного стилей форме..

.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]

На мобильном устройстве
final-form-mobile[1]

По всем вопросам и отзывам просьба писать в комментарии ниже.

Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.

VN:F [1.9.22_1171]
Rating: 5.0/5 (18 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top