architektura css pre pracu v time

22
Števo Vadócz Front End Developer ARCHITEKTÚRA CSS PRE PRÁCU V TÍME

Upload: steve-vadocz

Post on 08-May-2015

100 views

Category:

Internet


1 download

TRANSCRIPT

Page 1: Architektura CSS pre pracu v time

Števo VadóczFront End Developer

ARCHITEKTÚRA CSS PRE PRÁCU V TÍME

Page 2: Architektura CSS pre pracu v time
Page 3: Architektura CSS pre pracu v time

Nočná mora

Page 4: Architektura CSS pre pracu v time

Manažovatelný

Dobrý systém.

Udržiavatelný

Škálovatelný

Page 5: Architektura CSS pre pracu v time

Menej kódu, menej starostí a chýb.

Page 6: Architektura CSS pre pracu v time

Je jednoduché začať dobre, ale dopadnúť zle.

CSS specificity.ID.Rozličný štýl pisania CSS.Preprocesory.

Page 7: Architektura CSS pre pracu v time

CSS Guidelines

Page 8: Architektura CSS pre pracu v time

CSS Guidelines

https://github.com/csswizardry/CSS-Guidelines

Page 9: Architektura CSS pre pracu v time

Atomic designGranular

Rozbiť kód na atómy.

Atómy sa môžu spájať do molekúl.

Molekuly do organizmov.

Page 10: Architektura CSS pre pracu v time

Atomic designGranular

Page 11: Architektura CSS pre pracu v time

QuarkAtomic design

.btn {display:inline-block;vertical-align:middle;white-space:nowrap;font-family:inherit;font-size:100%;cursor:pointer;border:none;

}

.btn--search {padding: 5px 10px;background-color: red;

}

<button class=”btn btn--search”></button

Page 12: Architektura CSS pre pracu v time

Single responsibilityprinciple

Robím jednu vec a tú robím dobre.

Page 13: Architektura CSS pre pracu v time

Open/closed principle

Základný objekt je otvorený na rozšírenie, ale uzavretý na

modifikáciu.

Page 14: Architektura CSS pre pracu v time

Preprocesory

Fyzicky delíme kód na menšie časti.Kontrola CSS specificity.Dedičnosť.

Page 15: Architektura CSS pre pracu v time

Preprocesory

sass/variables/partials/components/modules/main.scss

Page 16: Architektura CSS pre pracu v time

CSS je nuda.

Page 17: Architektura CSS pre pracu v time

BEMBlock, Element, Modifier

.block {}

.block__element {}

.block--modifier {}

.dom {}

.dom__izba {}

.dom__izba--spalna {}.dom--panelak {}

Page 18: Architektura CSS pre pracu v time

BEM

<ul class="pagination"><li class="pagination__item">

<a class="pagination__prev" href>prev</a>

</li><li class="pagination__item">

<a class="pagination__link" href>1</a>

</li><li class="pagination__item--last">

<a class="pagination__next" href>next</a>

</li></ul>

Page 19: Architektura CSS pre pracu v time

Knižnica modulov

Page 20: Architektura CSS pre pracu v time

Single vs Multi class

.btn--search {@extend .btn;

padding: 5px 10px;background-color: red;

}

.btn--search {padding: 5px 10px;background-color: red;

}

<button class=”btn--search”>

<button class=”btn btn--search”>

Page 21: Architektura CSS pre pracu v time

Komenty

/** * Koment * * 1. Detailný popis určitého štýlu */

.foo {padding: 10px; /* [1] */

}

Page 22: Architektura CSS pre pracu v time

Ďakujem