Skip to content

Instantly share code, notes, and snippets.

@kianurivzzz
Last active August 29, 2024 13:23
Show Gist options
  • Save kianurivzzz/c0f736edc3d9eef65e4d8c4ae50861a8 to your computer and use it in GitHub Desktop.
Save kianurivzzz/c0f736edc3d9eef65e4d8c4ae50861a8 to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Обратная связь</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<form class="block-center form">
<button class="btn btn-green">Отправить сообщение</button>
</form>
</body>
</html>
body {
width: 100vw;
height: 100vh;
margin: 0;
font: 18px/1.5 sans-serif;
background-color: #0093e9;
background-image: linear-gradient(160deg, #0093e9 0%, #80d0c7 100%);
}
.form {
box-sizing: border-box;
width: 500px;
padding: 30px 80px;
background: #fff;
border-radius: 7px;
}
.btn {
padding: 15px 30px;
font-weight: bold;
border: none;
cursor: pointer;
}
.btn-green {
color: #fff;
background: #4caf50;
}
.block-center {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.mb-1 {
margin-bottom: 1em;
}
.mb-2 {
margin-bottom: 1.5em;
}
.small {
font-size: 14px;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
overflow: hidden;
white-space: nowrap;
border: 0;
}

Создайте форму обратной связи по макету ниже. Форма состоит из пяти основных элементов:

Два однострочных текстовых поля для ввода имени и email

Большое текстовое поле – textarea. Для ввода сообщения

Чекбокс с принятием условий сервиса

Кнопка отправки сообщения

Форма обратной связи

index.html

Заголовок первого уровня внутри формы: «Обратная связь»

Каждое текстовое поле формы лежит в обёртке с классом .form-input. Отступ снизу от каждой обёртки создаётся с помощью класса mb-2.

Для каждого текстового поля обязательно наличие label, который будет скрыт с помощью класса sr-only. Его реализация уже находится в файле style.css.

Чекбокс с принятием условий сервиса имеет обёртку с классами small и mb-1.

Обёртка / контейнер — блок, внутри которого лежат элементы. Таким блоком зачастую является <div> или <section>. Например,

<div class="container">
  <p>Параграф 1</p>
  <p>Параграф 2</p>
  <p>Параграф 3</p>
  <p>Параграф 4</p>
</div>

Для параграфов элемент с классом container будет являться обёрткой или контейнером

Описание полей

Для элементов input, кроме чекбокса и textarea добавьте описания через атрибут placeholder

Ваше имя

Ваш Email

Ваше сообщение

style.css

Реализуйте стили form-input по следующему ТЗ.

Все дочерние элементы внутри класса form-input должны иметь блочное отображение и иметь ширину в 100%

Текстовые поля имеют высоту 50 пикселей с внутренними отступами в 10 пикселей по вертикали и 20 пикселей по горизонтали. Для сохранения размеров измените поведение блочной модели с помощью свойства box-sizing со значением border-box. Поля имеют сплошную границу в 1 пиксель и цветом #e2e2e2.

Поле для ввода сообщения имеет высоту 200 пикселей. Запретите пользователю управлять размерами этого поля.

Подсказки

Для выбора всех потомков в CSS используется селектор *. Например, конструкция:

.block * {
  color: white;
}

установит белый цвет для всех элементов, которые вложены в блок с классом .block.

Селектор так же можно использовать в комбинации с другими, например >, тогда конструкция

.block > * {
  color: white;
}

установит белый цвет для всех элементов, которые лежат непосредственно в .block, то есть являются прямыми потомками.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment