<div class="box-lang">
<ul class="list-lang">
<li class="list-lang__item active">
<a class="list-lang__link" href="#">Рус</a>
</li>
<li class="list-lang__item">
<a class="list-lang__link" href="#">укр</a>
</li>
</ul>
</div>
<div class="box-form">
<form>
<div class="box-field">
<label for="" class="box-field__label"></label>
<div class="box-field__input">
<input type="text" class="form-control" placeholder="Имя">
</div>
</div>
<div class="box-field">
<label for="" class="box-field__label"></label>
<div class="box-field__input">
<select>
<option>name_1</option>
<option>name_2</option>
</select>
</div>
</div>
</form>
</div>
В текстовых полях параметр type может принимать следующие значения: text, password, email, number, search, tel, url
<ul class="list-radio">
<li class="list-radio__item">
<label class="list-radio__label">
<input type="radio" name="name_1">
<span class="label-text">Name_1</span>
</label>
</li>
<li class="list-radio__item">
<label class="list-radio__label">
<input type="radio" name="name_1">
<span class="label-text">Name_2</span>
</label>
</li>
</ul>
<ul class="list-check">
<li class="list-check__item">
<label class="list-check__label">
<input type="checkbox" name="check_1">
<span class="label-text">Name_1</span>
</label>
</li>
<li class="list- check__item">
<label class="list-check__label">
<input type="radio" name="check_2">
<span class="label-text">Name_2</span>
</label>
</li>
</ul>
<nav class="main-nav">
<ul class="main-nav-list">
<li class="main-nav-list__item"><a href="#" class="main-nav-list__link"></a></li>
<li class="main-nav-list__item"><a href="#" class="main-nav-list__link"></a></li>
<li class="main-nav-list__item"><a href="#" class="main-nav-list__link"></a></li>
</ul>
</nav>
Кнопкам задается класс .button изменения цветов фонов, любых параметров - дописывается модификатором, к примеру .button_primary, .button_default...
.button{
display: inline-block;
vertical-align: top;
padding: 16px 30px 0 30px;
height: 52px;
border-radius: 26px;
position: relative;
font-size: 16px;
line-height: 18px;
letter-spacing: 0.5px;
color: #0f3755;
border: 1px solid #ffc601;
background: #ffc601;
transition: all 0.2s linear;
text-align: center;
}
.button:hover{
border-color:#0f3755;
background: #0f3755;
color: #FFF;
}
button.button, input.button{ padding-top: 0px!important;}
.button_small{
height:34px;
padding: 9px 23px 0 23px;
font-size: 14px;
line-height: 16px;
}
<div class="box-faq">
<a href="#" class="box-faq__link-all">Показать/Скрыть все</a>
<ul class="list-faq">
<li class="list-faq__item">
<a href="#" class="list-faq__link">question?</a>
<div class="list-faq__answer">
<p>Ответ</p>
</div>
</li>
</ul>
</div>
<div class="box-article">
<article class="box-article__item">
<h3><a href="#"></a></h3>
</article>
<article class="box-article__item">
<h3><a href="#"></a></h3>
</article>
</div>
<div class="box-news">
<article class="box-news__item">
<h3><a href="#"></a></h3>
</article>
<article class="box-news__item">
<h3><a href="#"></a></h3>
</article>
</div>
<ul class="products-list">
<li class="products-list__item">
<div class="products-list__cont">
<div class="products-list__logo">
<a href="#"><img src="img/logo_1.png" alt=""></a>
</div>
<div class="description-product">
...
</div>
</div>
</li>
</ul>
<div class="box-bread-crumbs">
<ul class="bread-crumbs">
<li class="bread-crambs__item">
<a href="#" class="bread-crambs__link">Главная</a>
</li>
<li class="bread-crambs__item">Оплата и доставка</li>
</ul>
</div>
<div class="box-paging">
<ul class="paging-list">
<li class="paging-list__item paging-prev">
<a href="#" class="paging-list__link">
<span class="arrow-paging"></span>
</a>
</li>
<li class="paging-list__item active">
<a href="#" class="paging-list__link">1</a>
</li>
<li class="paging-list__item">
<a href="#" class="paging-list__link">2</a>
</li>
<li class="paging-list__item paging-next">
<a href="#" class="paging-list__link">
<span class="arrow-paging"></span>
</a>
</li>
</ul>
</div>
<ul class="table-list">
<li class="table-list__item">
<div class="col col_1">...</div>
<div class="col col_2">...</div>
<div class="col col_3">...</div>
</li>
<li class="table-list__item">
<div class="col col_1">...</div>
<div class="col col_2">...</div>
<div class="col col_3">...</div>
</li>
</ul>
в стилях колонки прописываются либо display:table-cell (тогда li это display:table-row, а ul - display:table), либо display:inline-block. либо делаем на flex
<a href="#win_1" class="fancybox">открывается первое окно</a>
<a href="#win_2" class="fancybox">открывается второе окно</a>
Попапы в коде ставятся перед закрытием основного дива main-wrapper
<div class="popup">
<div class="window-open" id="win_1">
<div class="window-open-cont">
...
</div>
</div>
<div class="window-open" id="win_2">
<div class="window-open-cont">
...
</div>
</div>
</div>
Скрываются попапы классом .popup без использования display:none;
.popup{
position:absolute;
left:-9999px;top:-9999px;
opacity:0;
}
.window-open {
width:1345px;max-width:100%;
background:#FFF;
position:relative;
box-shadow:0 0 7px 0 rgba(0,0,0,0.5);
padding:35px;
}
<div class="tab-wrap">
<ul class="nav-tab-list tabs">
<li class="nav-tab-list__item active">
<a href="#tab_1" class="nav-tab-list__link">таб_1</a>
</li>
<li class="nav-tab-list__item">
<a href="#tab_2" class="nav-tab-list__link">таб_2</a>
</li>
</ul>
<div class="box-tab-cont">
<div class="tab-cont" id="tab_1">...</div>
<div class="tab-cont hide-tab" id="tab_2">...</div>
</div>
</div>
Неактивный таб скрывается стилями без использования display:none;
.box-tab-cont{
position: relative;
}
.hide-tab{
position: absolute;
left: 0;top: 0;
height:0; width:0;
overflow:hidden;
z-index: -1;
opacity: 0;
}
Скрипт для табов
$('.tabs li a').click(function() {
$(this).parents('.tab-wrap').find('.tab-cont').addClass('hide-tab');
$(this).parent().siblings().removeClass('active');
var id = $(this).attr('href');
$(id).removeClass('hide-tab');
$(this).parent().addClass('active');
return false;
});
1. Если нужно зафиксировать какую-то плашку, панель, сайдбар - это делается без дополнительных плагинов:
if($('.fixed-block').length){
var offset_this = $('.fixed-block').offset();
var scr_top = $(window).scrollTop();
$(window).scroll(function() {
if (offset_this.top <= scr_top) {
$('.fixed-block').addClass("fixed");
} else{
$('.fixed-block').removeClass("fixed")
}
});
$(window).load(function() {
if (offset_this.top <= scr_top) {
$('.fixed-block').addClass("fixed");
} else{
$('.fixed-block').removeClass("fixed")
}
});
};
$('.js-scroll').click(function() {
var target = $(this).attr('href');
$('html, body').animate({
scrollTop: $(target).offset().top
}, 1000);
return false;
});
$(".js-top").click(function() {
$("html, body").animate({ scrollTop: 0 }, "slow");
return false;
});
$(".js-toggle").toggle(function() {
$(this).parents('.help').find('.block').slideDown();
$(this).text("Свернуть");
}, function() {
$(this).parents('.help').find('.block').slideUp();
$(this).text("Развернуть");
});
if($('.js-img').length) {
if(window.devicePixelRatio > 1) {
var lowresImages = $('img.js-img');
lowresImages.each(function(i) {
var lowres = $(this).attr('data-original');
var highres = lowres.replace(".png", "@2x.png");
var highresJpg = lowres.replace(".jpg", "@2x.jpg");
$(this).attr('data-original', highres);
$(this).attr('data-original', highresJpg);
});
}
}
<span class="counter">
<span class="counter__input">
<input type="text" value="10">
</span>
<span class="counter__button">
<span class="counter__link counter__link_next"></span>
<span class="counter__link counter__link_prev"></span>
</span>
</span>
$('.counter__link_prev').click(function() {
var $input = $(this).parents('.box-counter').find('input');
var count = parseInt($input.val()) - 1;
count = count < 1 ? 1 : count;
$input.val(count);
$input.change();
return false;
});
$('.counter__link_next').click(function() {
var $input = $(this).parents('.box-counter').find('input');
var count = parseInt($input.val()) + 1;
count = count > ($input.attr("maxlength")) ? ($input.attr("maxlength")) : count;
$input.val(count);
$input.change();
return false;
});
$(document).on('touchstart click', function(e) {
if ($(e.target).parents().filter('.main-nav:visible').length != 1) {
$('.main-nav').removeClass('open-nav');
}
});
if ($('#map').length) {
ymaps.ready(function() {
var myMap = new ymaps.Map('map', {
center: [55.760874, 37.718076],
zoom: 15
}, {
searchControlProvider: 'yandex#search'
}),
myPlacemark = new ymaps.Placemark(myMap.getCenter(), {
hintContent: ''
}, {
iconLayout: 'default#image'
});
myMap.geoObjects.add(myPlacemark);
if (/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)) {
myMap.behaviors.disable('multiTouch');
myMap.behaviors.disable('scrollZoom');
myMap.behaviors.disable('drag');
}
});
};
https://gist.github.com/MokusM/0aa4273a1dfc69aa4d004c3fb132a007
if (viewport_wid <= 767) {
$('.col-country').detach().insertAfter($('.customers'));
}
if (viewport_wid > 767) {
$('.col-country').detach().insertAfter($('.customers-map'));
}
image
, img
, picture
, pic
— картинка
icon
— иконка
logo
— логотип
userpic
, avatar
— юзерпик, маленькая картинка пользователя
thumbnail
, thumb
— миниатюра, уменьшенное изображение
title
, subject
, heading
, headline
, caption
— заголовок
subtitle
— подзаголовок
slogan
— слоган
lead
, tagline
— лид-абзац в тексте
text
— текстовый контент
desc
— описание, вариант текстового контента
excerpt
— отрывок текста, обычно используется перед ссылкой «Читать далее...»
link
— ссылка
copyright
, copy
— копирайт
list
, items
— список
item
— элемент списка
page
— корневой элемент страницы
header
— шапка (страницы или элемента)
footer
— подвал (страницы или элемента)
section
— раздел контента (один из нескольких)
body
— основная часть (страницы или элемента)
content
— содержимое элемента
sidebar
— боковая колонка (страницы или элемента)
aside
— блок с дополнительной информацией
widget
— виджет, например, в боковой колонке
wrapper
, wrap
— обёртка, обычно внешняя
inner
— внутренняя обёртка
container
, holder
, box
— контейнер
grid
— раскладка (страницы или элемента) в виде сетки (обычно содержит в себе row
и col
)
row
— контейнер в виде строки
col
, column
— контейнер в виде столбца
button
, btn
— кнопка, например, для отправки формы
control
— элемент управления, например, стрелки «Вперёд/назад» в фотогалерее, кнопки управления слайдером
dropdown
— выпадающий список
phone
, mobile
— мобильные устройства
phablet
— телефоны с большим экраном (6-7")
tablet
— планшеты
notebook
, laptop
— ноутбуки
desktop
— настольные компьютеры
tiny
— маленький, крохотный
small
— небольшой
medium
— средний
big
, large
— большой
huge
— огромный
narrow
— узкий
wide
— широкий
search
— поиск
socials
— блок иконок соцсетей
advertisement
, adv
, commercial
, promo
— рекламный блок (режутся Адблоком, не рекомендуется использовать такие классы для блоков с внутренней рекламой)
features
, benefits
— список основных особенностей товара, услуги
slider
, carousel
— слайдер, интерактивный элемент с прокруткой содержимого
pagination
— постраничная навигация
user
, author
— пользователь, автор записи или комментария
meta
— блок с дополнительной информацией, например, блок тегов и даты в посте
cart
, basket
— корзина
breadcrumbs
— навигационная цепочка, «хлебные крошки»
more
, all
— ссылка на полную информацию
modal
— модальное (диалоговое) окно
popup
— всплывающее окно
tooltip
, tip
— всплывающее подсказки
preview
— анонс, отрывок, например новости или поста, может состоять из заголовка, описания и картинки. Предполагается ссылка на полную версию
active
, current
— активный элемент, например, текущий пункт меню
hidden
— скрытый элемент
error
— статус ошибки
warning
— статус предупреждения
success
— статус успешного выполнения задачи
pending
— состояние ожидания, например, перед сменой статуса на error или success