Как сделать - Форму оформления заказа
Узнать, как создать отзывчивую форму оформления заказа с помощью CSS.
Форма оформления заказа
Создать форму оформления заказа
Шаг 1) Добавить HTML
Использовать элемент <form> для обработки входных данных. Вы можете узнать больше об этом в нашем учебнике PHP.
Пример
<div class="row">
<div class="col-75">
<div class="container">
<form action="/action_page.php">
<div class="row">
<div class="col-50">
<h3>Платежный адрес</h3>
<label for="fname"><i class="fa fa-user"></i>Имя</label>
<input type="text" id="fname" name="firstname" placeholder="Щипунов Андрей Леонидович">
<label for="email"><i class="fa fa-envelope"></i> Email</label>
<input type="text" id="email" name="email" placeholder="and-shhipunov@mail.ru">
<label for="adr"><i class="fa fa-address-card-o"></i>Адрес</label>
<input type="text" id="adr" name="address" placeholder="Томская 44-39">
<label for="city"><i class="fa fa-institution"></i>Город</label>
<input type="text" id="city" name="city" placeholder="Пермь">
<div class="row">
<div class="col-50">
<label for="state">Государство</label>
<input type="text" id="state" name="state" placeholder="Россия">
</div>
<div class="col-50">
<label for="zip">Zip</label>
<input type="text" id="zip" name="zip" placeholder="10001">
</div>
</div>
</div>
<div class="col-50">
<h3>Платеж</h3>
<label for="fname">Допустимые карты</label>
<div class="icon-container">
<i class="fa fa-cc-visa" style="color:navy;"></i>
<i class="fa fa-cc-amex" style="color:blue;"></i>
<i class="fa fa-cc-mastercard" style="color:red;"></i>
<i class="fa fa-cc-discover" style="color:orange;"></i>
</div>
<label for="cname">Имя на карте</label>
<input type="text" id="cname" name="cardname" placeholder="Щипунов Андрей Леонидович">
<label for="ccnum">Номер кредитной карты</label>
<input type="text" id="ccnum" name="cardnumber" placeholder="1111-2222-3333-4444">
<label for="expmonth">Годен месяц</label>
<input type="text" id="expmonth" name="expmonth" placeholder="Сентябрь">
<div class="row">
<div class="col-50">
<label for="expyear">Годен год</label>
<input type="text" id="expyear" name="expyear" placeholder="2021">
</div>
<div class="col-50">
<label for="cvv">CVV</label>
<input type="text" id="cvv" name="cvv" placeholder="352">
</div>
</div>
</div>
</div>
<label>
<input type="checkbox" checked="checked" name="sameadr"> Адрес дставки совпадает с платежным адресом
</label>
<input type="submit" value="Продолжить оформление заказа" class="btn">
</form>
</div>
</div>
<div class="col-25">
<div class="container">
<h4>Корзина
<span class="price" style="color:black">
<i class="fa fa-shopping-cart"></i>
<b>4</b>
</span>
</h4>
<p><a href="#">Элемент 1</a> <span class="price">$15</span></p>
<p><a href="#">Элемент 2</a> <span class="price">$5</span></p>
<p><a href="#">Элемент 3</a> <span class="price">$8</span></p>
<p><a href="#">Элемент 4</a> <span class="price">$2</span></p>
<hr>
<p>Всего <span class="price" style="color:black"><b>$30</b></span></p>
</div>
</div>
</div>
Шаг 2) Добавить CSS:
Используйте CSS Флексбокс для создания адаптивного макета:
Пример
.row {
display: -ms-flexbox; /* IE10 */
display: flex;
-ms-flex-wrap: wrap; /* IE10 */
flex-wrap: wrap;
margin: 0 -16px;
}
.col-25 {
-ms-flex: 25%; /* IE10 */
flex: 25%;
}
.col-50 {
-ms-flex: 50%; /* IE10 */
flex: 50%;
}
.col-75 {
-ms-flex: 75%; /* IE10 */
flex: 75%;
}
.col-25,
.col-50,
.col-75 {
padding: 0 16px;
}
.container {
background-color: #f2f2f2;
padding: 5px 20px 15px 20px;
border: 1px solid lightgrey;
border-radius: 3px;
}
input[type=text] {
width: 100%;
margin-bottom: 20px;
padding: 12px;
border: 1px solid #ccc;
border-radius: 3px;
}
label {
margin-bottom: 10px;
display: block;
}
.icon-container {
margin-bottom: 20px;
padding: 7px 0;
font-size: 24px;
}
.btn {
background-color: #4CAF50;
color: white;
padding: 12px;
margin: 10px 0;
border: none;
width: 100%;
border-radius: 3px;
cursor: pointer;
font-size: 17px;
}
.btn:hover {
background-color: #45a049;
}
span.price {
float: right;
color: grey;
}
/* Адаптивный макет - когда экран меньше 800 пикселей в ширину, сделайте два столбца стеком друг на друга, а не рядом друг с другом (и измените направление-сделайте столбец "корзина" сверху) */
@media (max-width: 800px) {
.row {
flex-direction: column-reverse;
}
.col-25 {
margin-bottom: 20px;
}
}
Редактор кода »Совет: Зайдите на наш учебник HTML Форма, чтобы узнать больше о формах HTML.
Совет: Зайдите на наш учебник CSS Форма, чтобы узнать больше о том, как стилизовать элементы формы.
Совет: Зайдите на наш учебник CSS Флексбокс чтобы узнать больше о гибком модуле компоновки коробки.