Дизайн Contact Form 7 — добавляем тему оформления

Едва ли не единственным плагином для WordPress, который обеспечивает нормальное функционирование формы обратной связи является хорошо знакомый нам Contact Form 7. Я уже писал о том, как можно исправить ошибку отправки почты посредством этого плагина.

Плагин хорош тем, что можно легко настроить любые поля и переключатели внутри формы так, что это может выполнять функции заказа товара с множеством опций. Все подобные изменения описаны на FAQ страничке — http://contactform7.com/faq/

Но сегодня не об этом, не смотря на широкую функциональность — плагин фактически не обладает возможностями настройки внешнего вида форм и кнопок, так что дефолтная тема выглядит несколько устаревшей и скучной. Благо, что настройка внешнего вида Contact Form 7 осуществляется очень просто посредством добавления кода CSS. Один из примеров такой темы оформления привожу ниже.

tema_contact_form_7

Чтобы внешний вид вашей Contact Form 7 изменился из скучной стандартной темы — просто скопируйте нижеследующий CSS-код в конец файла-стилей плагина Contact Form 7. Находится он здесь:

http://vashsite.com/wp-content/plugins/contact-form-7/includes/css/styles.css

Просто откройте этот файл вашим ftp-клиентом (FileZilla etc.) и добавьте код:

.wpcf7 input, 
.wpcf7 textarea{
    
    width: 90%;
    padding:10px;
    color:#8e8e8e;
    font-family:Arial, Helvetica, sans-serif;
    font-size:16px;
    line-height: 20px;

    border: solid 1px #9f9f9f; 
    
    box-shadow: inset 2px 2px 8px #bababa;
    
    -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
    
}

.wpcf7 .wpcf7-list-item{
  padding-left: 0;
  margin-left: 0;
  margin-right: 25px;
}

.wpcf7 .wpcf7-list-item input{
  border: none;
  padding-left: 0;
  margin-left: 0;
}

.wpcf7 select{
  outline: none;
  font-size:16px;
  font-family:Arial, Helvetica, sans-serif;
}

.wpcf7 input:hover, 
.wpcf7 input:focus, 
.wpcf7 input:active, 
.wpcf7 textarea:hover, 
.wpcf7 textarea:focus, 
.wpcf7 textarea:active {
  background: #ebf7f5;
  outline: none;
}

.wpcf7 input.wpcf7-submit{

    -webkit-transition: 0;
  -moz-transition: 0;
  -o-transition: 0;
  transition: 0;
  
  border: none;
  position: relative;
  
  color: #fff;
  
  text-shadow: 1px -2px 0px black;
  
  text-transform: uppercase;
  
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  
  font-size: 14px;
  
  padding-top: 11px;
  padding-bottom: 10px;
  padding-left: 35px;
  padding-right: 35px;
  
  /* Gradient background */
  background-color: #000000;
  background: -webkit-gradient(linear, left top, left bottom, from(#4d1b5c), to(#000000));  
  background:  -moz-linear-gradient(top, #4d1b5c, #000000);  
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#4d1b5c', endColorstr='#000000');
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4d1b5c, endColorstr=#000000)";
  
  /* Drop Shadow */
  -webkit-box-shadow: 0 2px 5px rgba(0,0,0,0.3);
  -moz-box-shadow: 0 2px 5px rgba(0,0,0,0.3);
  box-shadow: 0 2px 5px rgba(0,0,0,0.3);
  
}

/* On hover */
.wpcf7 input.wpcf7-submit:hover{
  
  cursor: pointer;
  text-decoration: none;
  
  background-color: #000000;
  background: -webkit-gradient(linear, left top, left bottom, from(#4d1b5c), to(#6d2f80));  
  background:  -moz-linear-gradient(top, #4d1b5c, #6d2f80);  
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#4d1b5c', endColorstr='#6d2f80');
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4d1b5c, endColorstr=#6d2f80)"; 
}

/* On click */
.wpcf7 input.wpcf7-submit:active{
  top: 1px;
  
  color: #d8c6e2;
  
  background-color: #000000;
  background: -webkit-gradient(linear, left top, left bottom, from(#4d1b5c), to(#4d1b5c));  
  background:  -moz-linear-gradient(top, #4d1b5c, #4d1b5c);  
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#4d1b5c', endColorstr='#4d1b5c');
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4d1b5c, endColorstr=#4d1b5c)"; 
  
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}

/* CF7 Messages */
.wpcf7 .wpcf7-validation-errors{
    border:none;
    background-color:#f4ae46;
    margin:0;
    padding:20px;
    
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}

.wpcf7 .wpcf7-mail-sent-ok{
    border:none;
    background-color:#7ad33f;
    margin:0;
    padding:20px;
    
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}

.wpcf7 .wpcf7-mail-sent-ng{
    border:none;
    background-color:#cf2d38;
    margin:0;
    padding:20px;
  
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  
    color: white;
}

.wpcf7 span.wpcf7-not-valid-tip{
    border:none;
    background-color:#cf2d38;
    padding:10px;
    padding-left: 15px;
    padding-right: 15px;
    border-radius:10px;
    width: 180px;
    color: white;
    
    /* Drop shadow */
    -webkit-box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
    -moz-box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
    box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
}

.wpcf7-form .fleft{
  float: left;
}

.wpcf7-form .mright20{
  margin-right: 20px;
}

.wpcf7-form .mright40{
  margin-right: 40px;
}

.wpcf7-form .clear{
  clear: both;
}

Вот и всё, цвета можно менять прямо в этом коде 🙂

Комментарии 15

  • Спасибо большое) Все так просто на самом деле.

  • Вот применил ваши настройки к своей контактной форме http://coralwater.org.ua/kontakty, отлично смотрится. Вы бы еще может составили другие шаблоны для формы для большего разнообразия для других сайтов

    • рад, что помогло. Если будет еще что-то интересное — обязательно поделюсь.

  • Супер решение! Мне, как дизайнеру, оно очень понравилось! Только у меня поля встали все друг под другом, а не как у вас — имя и почта в одной строчке, ну и кнопка Отправить растянулась на ширину этих полей. Можно ли это исправить? И ещё вопрос — как увеличить высоту поля для текстового сообщения, а то это поле тоже выводится одной строчкой, как все остальные? 

    • Да, все эти параметры можно менять непосредственно в самом CSS-коде. Просто поэкспериментируйте со значениями.

  • Ммм… Я не такой знаток, как вы ) Подскажите хотя бы, в какой категории эти значения находятся — я про длину кнопки Отправить и высоту поля для сообщения

  • Добрый вечер! Но при обновлении плагина все исчезнет? Как быть

    • Можно заморочиться через functions.php и дочернюю тему, а можно хранить измененные файлы локально и после обновления плагина синхронизировать изменения.

  • Сначала все сработало, потом решил исправить поля, покопался в этом немного. В итоге все сбилось и не хочет вставать обратно. Не знаю, что теперь делать. Единственное, пользовался не ftp программой, а ftp админом на хостинге. Никто не знает, что теперь делать?)

    • Например: скачайте плагин, достаньте из него файл стилей и залейте на сайт этот не измененный файл. А затем экспериментируйте снова

  • Спасибо большое, все отлично работает!

  • Привет. Благодарю. Элегантное решение вопроса.

  • Chrckbox выходит просто отвратительно. Да и кнопки «file» тоже «не айс»… 🙁

Добавить комментарий для Артем Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *