Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Поговорим о верстке: Архитектура
Search
fliptheweb
January 28, 2016
Technology
560
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Поговорим о верстке: Архитектура
Видео —
https://youtu.be/Updm5lqdhN8
fliptheweb
January 28, 2016
Other Decks in Technology
See All in Technology
リアーキテクチャ後の障害ゼロを目指したShadow Testingの取り組み
nihonbuson
PRO
1
170
Minecraft JavaのMODをSwiftで作る
1mash0
0
200
SREは、MCPとAutopilotをこう使え!
kazumax55
3
940
作って終わりじゃないサーバーレス 〜9年運用する大規模EC物流API基盤の設計・運用のリアル〜
zozotech
PRO
0
430
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
140
AI de Idea
kawaguti
PRO
2
130
LLMに渡さなかった仕事
nanaism
0
1.3k
JSONataとAWS Step Functionsで目指すRuntimelessな世界
mu7889yoon
0
400
[Kiro Meetup #7] Kiro Crew Dive Deep
konippi
0
140
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
4
700
What the customer really needed
kawaguti
PRO
3
220
負債のメタファと2026年 / Debt Metaphor in Agentic Engineering Age 202609 Edition
twada
PRO
10
5k
Featured
See All Featured
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
380
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
Building the Perfect Custom Keyboard
takai
2
880
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Optimising Largest Contentful Paint
csswizardry
37
4k
BBQ
matthewcrist
89
10k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
330
Discover your Explorer Soul
emna__ayadi
2
1.3k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.2k
How to make the Groovebox
asonas
2
2.4k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.1k
Transcript
Поговорим о верстке: Архитектура.* Корнаков Артур @fliptheweb aviasales.ru * доклад
так же известен под кодовым названием «семинар по верстке»
Я хреново верстаю Верстка — это всего лишь правильная расстановка
блоков и их адаптация под разные условия (устройства, вьюпорт, браузер и пр.) “ ”
Оформление Архитектура
Наследование, специфичность и каскад
Наследование ul { border: 4px solid #4fb2ff; color: #ff7019; }
li { background: #e9e9e9; }
Специфичность (вес ⚖) Калькулятор специфичности — http://specificity.keegan.st/ a = 1
a.class = 11 #id.class = 110 #id.class.other = 120
Мини-опрос a { color: red; } #header a.link { color:
blue; } #header .link { color: green; } #content a.link { color: magenta; } ойлютс 1 111 110 111
Мини-опрос .link.link.link { color: red; } a.link { color: blue;
} 30 11
None
.news .news-item a Бенчи селекторов — https://github.com/benfrain/css-performance-tests
Наследование, специфичность и каскад
None
.cabin-class-trigger .srch-cntrl-px-cbn-cls .cbn-cls-trvlrs-trgr .search-controls-pax-cabin-class .cabin-class-travellers-trigger
.list .news-list .tile-list
<ul class="news-list"> <li> <a href="#"> <span class="datetime">14:20 29 января</span> </a>
</li> </ul> .news-datetime .news-list li a span.datetime span.datetime
.news-list { li { a { span.datetime { } }
} } Препроцессоры .news-list { li {} a {} span.datetime {} }
None
.ticket { .title {color: red;} .price {} .proposals {} }
.hotel { .title {color: blue;} .stars {} } <div class=“ticket”> <div class=“price”>123</price> <div class=“title”>Москва — Магадан</div> <ul class=“proposals”></ul> </div> <div class=“hotel”> <div class=“title”>Grand Palace</div> <div class=“stars”></div> </div> <div class=“ticket”> <div class=“price”>123</price> <div class=“title”>Москва — Магадан</div> <ul class=“proposals”></ul> <div class=“hotel”> <div class=“title”>Grand Palace</div> <div class=“stars”></div> </div> </div>
Модульность или компонентность или блочность • Изолированность; • Переиспользование; •
Легкая модификация.
<div class="share"> <div class="header-logos"> <a href="#"></a> <div class="as_logo"></div> </a> </div>
</div> Больной ублюдок! Помоги Даше- путешественнице найти в каком файле править класс
Методологии БЭМ OOCSS SMACSS SUITCSS AMCSS MCSS DOCSS RSCSS Поздравляю,
вы послушали уже 7% доклада!
None
http://bem.info/ http://getbem.com/
Блок, элемент, модификатор Блок .news-list Элемент .news-list__item .news-list__item-favourite Модификатор
Изображение с сайта http://getbem.com/
Sass/LESS .block { &__content {} &__title {} } .block__content {}
.block__title {}
Миксование блоков <div class="news-item"> <div class="news-item__icon"></div> <div class="news-item__category badge —advise"></div>
<div class="news-item__content"></div> </div>
.b-facilities «b-» — это не БЭМ .facilities
.form-buy-results__to-city__slider__tab__column_buy Доклад Игоря Зенича про частые ошибки http://ihorzenich.github.io/talks/2015/frontendweekend-bem/ .form-buy-results__column_buy
<div class=“block”> <div class=“block__element”></div> </div> .block .block__element { } .block__element
{ }
<div class=“block”> <div class=“block__element grid__content”></div> </div> <div class=“block grid”> <div
class=“block__element grid__content”></div> </div>
SUITCSS Компонент .MyComponent Элемент .MyComponent-element .MyComponent--modifier Модификатор .MyComponent Стейт .is-animating
Atomic CSS или почему я не использую классы-хелперы .Mt10 {
margin-top: 10px; } .Pos-r { position: relative; } <div class="Fl-start Mend-10 My-2 Pos-r NoTextDecoration Ov-h Z-1 Pt-0 Ta-c”></div> Код с сайта http://my.yahoo.com/
ASCSS Блок .block Элемент .block__element .block.––modifier Модификатор .block Стейт .is-active
Scalable CSS Reading List (https://github.com/davidtheclark/scalable-css-reading-list) CSS Guidelines (http://cssguidelin.es/) Sass Guidelines
(http://sass-guidelin.es/) Must Watch CSS talks (https://github.com/AllThingsSmitty/must-watch-css) Что почитать?
Aviasales office Grand Palace, 2nd floor @fliptheweb
[email protected]
Cпасибо!