Skip to content

Instantly share code, notes, and snippets.

@maximkoretskiy
Forked from trapex/ToyPage.jade
Last active December 17, 2015 10:38
Show Gist options
  • Save maximkoretskiy/120d63b657295fcdd006 to your computer and use it in GitHub Desktop.
Save maximkoretskiy/120d63b657295fcdd006 to your computer and use it in GitHub Desktop.
Transformers
.b-toy
//- структурно верно, но скорее всего гораздо гибче использовать универсальный блок title с модификатором
//- только b- не обязательно
.b-toy--title.b-toy-title
.b-toy-title--text.toy-title(data-js-toy-title)
//- не думаю что рекомендованный возраст должен быть частью тайтла, но это спорный вопрос
.b-toy-title--recommended_age
span(data-js-toy-recommended_age)
|+
//- норм
.b-toy--image.b-gallery
.b-gallery--stereo(data-js-stereo-image)
.b-gallery--main(data-js-main-image)
.b-gallery--list(data-js-gallery-list)
.b-gallery--bamblbi-widget(data-js-bamblbi-widget)
.b-share
.b-share--text(data-js-vk-share) хочу в подарок
.b-share--like
#vktoy.b-vk-like-widget(data-js-vk-like-widget)
.b-fb-like-widget(data-js-fb-like-widget)
//- не думаю, что здесь уместен глобальный блок
.b-info
.b-info--title(data-js-info-title) Трансформеры Дженерэйшнс: Комбайнер Ворс. Лэдженс
.b-info--article Номер артикула: 
span(data-js-info-article)
.b-info--description(data-js-info-description)
.b-info--descr-more(data-js-desc-more) подробнее
//- не думаю, что здесь уместен глобальный блок
.b-you-like
.b-you-like--title.toy-title Тебе понравится
.b-you-like--list(data-js-similar-list)
//- ну теперь кода достаточно на обсуждение
.b-toy {
position: relative;
// блоки не должны объявляться вложенно
.b-gallery {
// блоки не дожны сами определять свое расположение на странице
margin: 0 auto;
position: relative;
@include img_toys_border-gallery;
@include retinaImage(1163px, 1113px);
&--stereo {
@include img_toys_stereo-icon;
@include retinaImage(184px, 126px);
position: absolute;
top: 21px;
right: 18px;
z-index: 110;
}
&--main {
background-size: contain;
background-repeat: no-repeat;
background-position: center center;
width: 100%;
height: 450px;
}
&--list {
position: relative;
width: 480px;
margin: 10px auto;
}
}
.toy-title {
font-family: 'pfdindisplaypro-bold', arial;
text-transform: uppercase;
font-size: 24px;
}
.b-toy-title {
padding: 17px 30px;
&--text,
&--recommended_age {
display: inline-block;
vertical-align: middle;
}
&--text {
max-width: 510px;
margin-right: 10px;
}
// это точно должно быть независимым блоком
&--recommended_age {
$size: 40px;
width: $size;
height: $size;
line-height: $size;
text-align: center;
border-radius: $size;
border: 1px solid $c-grey;
font-size: 22px;
font-family: 'pfdindisplaypro-reg', arial;
}
}
.b-share {
margin-top: 25px;
padding-left: 26px;
padding-top: 18px;
color: #ffffff;
font-size: 14px;
margin-left: 5px;
@include img_toys_share-bg;
@include retinaImage(1277px, 139px);
position: relative;
&--text {
position: relative;
margin-left: 3px;
padding-left: 40px;
float: left;
font-family: 'pfdindisplaypro-bold', arial;
font-size: 14px;
line-height: 32px;
background-color: $c-light-red;
width: 126px;
height: 30px;
text-transform: uppercase;
border-radius: 3px;
box-shadow: 1px 4px 14px rgba(0,0,0,0.8);
cursor: pointer;
&:before {
@include img_toys_vk-icon;
@include retinaImage(40px, 23px);
content: '';
position: absolute;
top: 10px;
left: 10px;
}
}
&--like {
float: right;
padding-right: 62px;
margin-top: 6px;
.b-vk-like-widget,
.b-fb-like-widget {
display: inline-block;
vertical-align: top;
}
.b-fb-like-widget {
margin-top: -9px;
}
}
}
.b-info {
position: relative;
margin-left: 32px;
&--title {
font-family: 'pfdindisplaypro-bold', arial;
font-size: 19px;
line-height: 24px;
max-width: 500px;
text-transform: uppercase;
}
&--article {
margin-top: 10px;
color: $c-grey;
font-size: 18px;
font-family: 'pfdindisplaypro-med', arial;
}
&--description {
font-size: 18px;
line-height: 21px;
}
&--descr-more {
position: relative;
width: 80px;
border-bottom: 1px dashed $c-black;
font-family: 'pfdindisplaypro-bold', arial;
font-size: 14px;
line-height: 15px;
text-transform: uppercase;
cursor: pointer;
&:after {
content: '';
position: absolute;
right: -13px;
top: 4px;
border: 4px solid transparent;
border-top: 5px solid $c-black;
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment