Тимофей Чаптыков, 2GIS
Тимофей Чаптыков
tim.chaptykov@gmail.com @chaptykov
<!-- Кладем картинку с макетом -->
<img src="index.png" id="psd">
/* Позиционируем поверх сайта */
#psd {
position: absolute;
top: 0;
left: 50%;
margin: 0 0 0 -640px;
opacity: .5;
pointer-events: none;
}
/* Позиционируем поверх сайта */
#psd {
position: absolute;
top: 0;
left: 50%;
margin: 0 0 0 -640px;
opacity: .5;
pointer-events: none; /* вёрстка остается кликабельной */
}
/* Можем даже инвертировать */
#psd {
position: absolute;
top: 0;
left: 50%;
margin: 0 0 0 -640px;
opacity: .5;
pointer-events: none;
-webkit-filter: invert(100%);
}
/* И прятать по наведению */
#psd {
position: absolute;
top: 0;
left: 50%;
margin: 0 0 0 -640px;
opacity: .5;
pointer-events: none;
-webkit-filter: invert(100%);
}
body:hover #psd {
opacity: 0;
}
var s=document.createElement('script');s.src ="//2gis.github.io/makeup/autoload/script.js";document.body.appendChild(s)
<!-- 2. Новая страница со всеми ресурсами -->
<!DOCTYPE html>
<html lang="en">
<head>
<title>Makeup</title>
<link rel="stylesheet" href="style.css"> <!-- Стили проекта -->
</head>
<body>
<button class="button">My button</button> <!-- Разметка -->
</body>
</html>
<!-- 3. Добавляем Мейкап -->
<!DOCTYPE html>
<html lang="en">
<head>
<title>Makeup</title>
<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="makeup.css"> <!-- Стили Мейкапа -->
</head>
<body>
<button class="button">My button</button>
<script src="makeup.js"></script> <!-- Привет, Мейкап -->
</body>
</html>
<!-- 4. Прячем разметку -->
<!DOCTYPE html>
<html lang="en">
<head>
<title>Makeup</title>
<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="makeup.css"> <!-- Стили Мейкапа -->
</head>
<body>
<div style="display: none;">
<button class="button">My button</button>
</div>
<script src="makeup.js"></script> <!-- Привет, Мейкап -->
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Makeup</title>
<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="makeup.css">
</head>
<body>
<div style="display: none;">
<button class="button">My button</button>
</div>
<script src="makeup.js"></script>
<script>
// 5. Инициализируем Мейкап
</script>
</body>
</html>
// 5. Инициализируем Мейкап
new Makeup({
// Функция, которая создает блок в Мейкапе
renderModule: function(module) {
var container = this._params.selectors.containerMarkup,
html = $('.' + module.modulename)[0].outerHTML;
$(container).html(html);
},
// Конфиг
data: {
name: 'Blocks',
items: [{
name: 'button',
image: 'button.png'
}]
}
});
{
// Имя
"name": "Button", ← Единственный обязательный параметр
"label": "button",
// Текст для панели статуса
"hint": "Кнопка для формы поиска",
// Любые данные
"data": { "text": "найти" },
// Картинка из PSD
"image": "psd_button.png"
}
// Поправка стилей, которую можно добавить для блока или группы блоков
"styles": {
// CSS-стили для обертки
"wrapper": "font-family: Arial;",
// CSS-стили для контейнера с изображением
"image": "position: relative; top: -6px;",
// CSS-стили для контейнера с версткой
"markup": "height: 200px;"
}
{
// Функция, которая будет вызвана после рендера
"snippet": function() {
block.baron();
}
}
"documentation": [
{
"link": "http://mysite.com/docs/article1/",
"label": "ТЗ на разработку интернет-магазина",
"modifier": "_important"
}
],
"documentation": [
"http://mysite.com/docs/article1/",
"http://mysite.com/docs/article2/"
],
"documentation": "http://mysite.com/docs/article/"
.makeup--smiley-true .makeup__container-in {
font: 100px/1 'Comic Sans';
color: red;
}