Хорошая таблица цен поможет увеличить конверсию продающих страниц вашего проекта. Очень важно, чтобы она была четкой и понятной с самого начала работы сайта, чтобы посетитель мог сделать лучший выбор конфигурации продукта или услуги.
В данном уроке мы сделаем эффективную таблицу цен с помощью CSS 3. Такой подход облегчит сопровождение изменений ценовой политики проекта и создаст условия для автоматического изменения информации из единого центра.
Разметка HTML
Структура документа для ценовой таблицы достаточно проста:
<div id="pricing-table">
<div class="plan plan1">
<div class="header">Супер</div>
<div class="price">$59</div>
<div class="monthly">в месяц</div>
<ul>
<li><b>10GB</b> пространства на диске</li>
<li><b>100GB</b> месячный трафик</li>
<li><b>20</b> почтовых ящиков</li>
<li><b>Сколько хочешь</b> поддоменов</li>
</ul>
<a class="signup" href="">Подключиться</a>
</div >
<div class="plan plan2 popular-plan">
<div class="header">Профи</div>
<div class="price">$29</div>
<div class="monthly">в месяц</div>
<ul>
<li><b>5GB</b> пространства на диске</li>
<li><b>50GB</b> месячный трафик</li>
<li><b>10</b> почтовых ящиков</li>
<li><b>Сколько хочешь</b> поддоменов</li>
</ul>
<a class="signup" href="">Подключиться</a>
</div>
<div class="plan plan3">
. . .
</div>
. . .
</div>
CSS
Зададим базовые стили для шаблона нашей страницы:
#pricing-table {
margin: 100px auto;
text-align: center;
width: 928px; /* total computed width */
zoom: 1;
}
#pricing-table:before, #pricing-table:after {
content: "";
display: table
}
#pricing-table:after {
clear: both
}
#pricing-table .plan {
font: 13px 'Lucida Sans', 'trebuchet MS', Arial, Helvetica;
background: #fff;
border: 1px solid #ddd;
color: #333;
padding: 20px;
width: 180px;
float: left;
_display: inline; /* IE6 double margin fix */
position: relative;
margin: 0 5px;
box-shadow: 0 2px 2px -1px rgba(0,0,0,.3);
}
Для придания объема пунктам таблицы сделаем специальные тени:
#pricing-table .plan:after {
z-index: -1;
position: absolute;
content: "";
bottom: 10px;
right: 4px;
width: 80%;
top: 80%;
box-shadow: 0 12px 5px rgba(0, 0, 0, .3);
transform: rotate(3deg);
}
Выделим один из пунктов таблицы:
#pricing-table .popular-plan {
top: -20px;
padding: 40px 20px;
}
Для выделения заголовка будем использовать зубчатую линию, созданную с помощью изображения треугольника:
#pricing-table .header {
position: relative;
font-size: 20px;
font-weight: normal;
text-transform: uppercase;
padding: 40px;
margin: -20px -20px 20px -20px;
border-bottom: 8px solid;
background-color: #eee;
background-image: linear-gradient(#fff, #eee);
}
#pricing-table .header:after {
position: absolute;
bottom: -8px; left: 0;
height: 3px; width: 100%;
content: '';
background-image: url(data:image/png;base64,iVBO[...]);
}
#pricing-table .popular-plan .header {
margin-top: -40px;
padding-top: 60px;
}
#pricing-table .plan1 .header {
border-bottom-color: #B3E03F;
}
#pricing-table .plan2 .header {
border-bottom-color: #7BD553;
}
#pricing-table .plan3 .header {
border-bottom-color: #3AD5A0;
}
#pricing-table .plan4 .header {
border-bottom-color: #45D0DA;
}
Остается только оформить цены. информацию. и кнопки:
#pricing-table .price{
font-size: 45px;
}
#pricing-table .monthly{
font-size: 13px;
margin-bottom: 20px;
text-transform: uppercase;
color: #999;
}
/* --------------- */
#pricing-table ul {
margin: 20px 0;
padding: 0;
list-style: none;
}
#pricing-table li {
padding: 10px 0;
}
/* --------------- */
#pricing-table .signup {
position: relative;
padding: 10px 20px;
color: #fff;
font: bold 14px Arial, Helvetica;
text-transform: uppercase;
text-decoration: none;
display: inline-block;
background-color: #72ce3f;
border-radius: 3px;
text-shadow: 0 -1px 0 rgba(0,0,0,.15);
opacity: .9;
}
#pricing-table .signup:hover {
opacity: 1;
}
#pricing-table .signup:active {
box-shadow: 0 2px 2px rgba(0,0,0,.3) inset;
}
#pricing-table .plan1 .signup{
background: #B3E03F;
}
#pricing-table .plan2 .signup{
background: #7BD553;
}
#pricing-table .plan3 .signup{
background: #3AD5A0;
}
#pricing-table .plan4 .signup{
background: #45D0DA;
}
Готово!