Mais conteúdo relacionado
Semelhante a Front-end Rails-приложений приложений, основанный на БЭМ (20)
Mais de Александр Ежов (20)
Front-end Rails-приложений приложений, основанный на БЭМ
- 4. БЭМ — Блок, Элемент, Модификатор
<div class="b-post b-post_favorite">
<div class="b-post__author">
<div class="avatar">...</div>
...
</div>
<div class="b-post__content">
<h3 class="title">...</h3>
...
</div>
</div>
- 5. Попробуем упростить
<div class="b-post favorite">
<div class="author">
<div class="avatar">...</div>
...
</div>
...
<a class="g-iconed favorite">В избранное</a>
</div>
.g-iconed {
padding-left: 20px;
background: left center no-repeat;
}
.g-iconed.favorite {
background-image: url("/images/icons/favorite.png");
}
- 6. Пользователь IE6 в шоке
<div class="b-post favorite">
<div class="author">
<div class="avatar">...</div>
...
</div>
...
<a class="g-iconed favorite">В избранное</a>
</div>
.g-iconed {
padding-left: 20px;
background: left center no-repeat;
}
.g-iconed.favorite {
background-image: url("/images/icons/favorite.png");
}
- 9. БЭМ на практике
C) .c-placeholder, .c-blue, .c-link, ...
$c-placeholder, $c-blue, $c-link, ...
G)
1) глобальные модификаторы:
.g-line, .g-inline-block, .g-font_accident, ...
g-line, inline-block, g-font_accident, ...
2) микроструктуры:
.g-iconed.user, .g-thumb.size_50x50, ...
g_thumb(@user.image.url(:medium), "50x50")
L) .l-page, .l-profile, l-users-show, ...
.l-page__footer, .l-profile__left-content, ...
@import "blocks/users/b-friends";
B) .b-post, .b-post_favorite, .b-post__author, ...
div_for(post, :class => "b-post") => #post_42
- 12. /app/stylesheets/import/
base.scss константы проекта
mixins.scss базовые миксины
@mixin g-line {
*zoom: 1;
_height: 0;
&:after {
content: " ";
display: block;
clear: both;
height: 0;
}
}
@mixin opacity($value: 0.5) {
opacity: $value;
$value: $value * 100;
filter: progid:DXImageTransform.
Microsoft.Alpha(opacity=#{$value});
}
$layout-page-width: 1000px;
$layout-side-width: 240px;
$c-black: #333333;
$c-gray: #777777;
$c-light-gray: #999999;
$c-blue: #2266aa;