Megfelelő css oocss, smacss, bem és Sass - Valery - közepes

Utánnyomást itt egy cikk, amely feledésbe merült.

Sok fejlesztő, még ők már több mint egy sikeres végrehajtását kereskedelmi projekt nem marad keresi a legjobb módja annak, hogy megszervezi az elrendezés stílust. És többségük megállt OOCSS szintézist. SMACSS. BEM SASS. Ebben a cikkben, akkor nem csak beszélni, mi minősül érvényes CSS. OOCSS Unióban. SMACSS. BEM SASS. hanem úgy a leghatékonyabb struktúra rendezi a fájlokat az elrendezés.

Kezdeni, ne feledjük, hogy ez jelenti a három CSS objektumorientált módszerek.

OOCSS + SCSS

OOCSS elv önálló létét, a tárgy és annak módosításait. Ez biztosítja, hogy tudjuk, hogy egy klón a tárgy bárhol az oldalon anélkül, hogy megszakítaná a meglévő stílusokat.

Clone tárgy révén az új osztály kiterjeszti további stílusok (design). Így a html dokumentumban van rendelve egy blokk több osztály. Húrozó osztályok jellemző sok keretek, mint a Bootstrap.

Azonban a sok osztályok ellentétes elvek SMACSS. amely azt ajánlja, elkerülve ismétlést. Ez az egyik fő elve az írás „tiszta kód”.

Segítség jön SASS. nevezetesen az irányelv
@include és @extend. Segítségükkel bármilyen egységet lehet csatlakoztatni több stílus megkerülve html.

a vonal

bővíti az osztályok a kék és piros stílus osztály gomb :.

Összeállításakor SCSS, megkapjuk a következő bejegyzést a CSS:

Ez teljesen egybeesik elvek OOCSS. amely sürgeti, hogy tartsa tiszteletben a készítője Jonathan Snook. DE! Stílusok az osztály gomb is írt CSS. És ebben az esetben, hiába, nincs szükségünk. Tehát nagyon gyakran előfordul az elrendezést, hogy az alapvető tervezési nem alkalmazható.

Ebben az esetben jobb, ha kihasználják az irányelv Placeholder Selectors (%). Placeholder van írva csak CSS! amikor az ok:

Azonban ebben az esetben a lefordított CSS azonos stílusok ismétlődnek minden osztályban.

Ugyanez fog történni abban az esetben @mixin irányelvet. Azonban, amikor mixin érünk határozott előnyt.

Definiált változók a mixin. Meg lehet változtatni egyszer, és megváltoztatja az egész elrendezés azonnal. Ez ment egy csomó időt és erőfeszítést igényel. Ezen túlmenően, a nyálkahal, meg lehet változtatni a változók értékeit, ha szükséges a tervezési egység (lásd demo).

SASS elkerüli extra osztályok az elrendezés miatt fészkelő. Néha azonban fészkelő játszott egy kegyetlen vicc velünk, és blokkolja a nagy örökséget használnak, hogy milyen típusú

És itt az ideje, hogy forduljon a módszer a BEM. által kifejlesztett Yandex. Ez határozza meg azt az elvet, a teremtés az osztály nevét az elemek különböző szinteken és az állammal.

Ebben a cikkben fogjuk vizsgálni nem az eredeti BEM egy változata Nicolas Gallagher. amelyben minden szívesebben használják, mert sokkal átláthatóbb.

Röviden, hogy néz ki a helyes CSS BEM.

.blokk - style szülői egységhez
.block__element - stílust beágyazott gyermek blokk.
.blockmodifier - style blokk állapota.

Vannak különböző változatai.

A leányvállalat egység lehet egy állam a stílus:

Az állam a stílus lehet a gyermek egység:

Visszajelzés a fejlesztők, tesztelni, BEM módszer kissé csúnya írásban és zavart az alkalmazás.

Például, az alkotó csswizardry.com Harry Roberts példát:

Aláhúzás beszél tartozékként h1 gyerekek. Harry azonban rámutat arra, hogy ez nem biztos, hogy mindig egy osztály h1 ebben az esetben kell írni oly módon.

Mégis ismétli többször lapjain cikkében, gondolta, nem számít, mennyire szép néz technológia, ami még fontosabb, hogy működik!

Bármi is volt, BEM tökéletesen megoldja a problémát öröksége a SASS. És bár az egyik, hogy hasznos lehet számunkra, hogy írjon a megfelelő CSS.

írunk be SASS:

Az összeállított CSS kapjuk:

Sass 3.3+ BEM lehetővé teszi a következő kombinációt:

Az összeállított CSS kapjuk:

Öröklik a célból létrehozott csak egy osztályba!

fájl szerkezetét szervezet

Beszéljünk a szervezet a fájl szerkezetét az elrendezés SASS. Tanulás a tapasztalatok a vezető nemzetközi fejlesztők és elrendezés, valamint a saját, szerény tudás, én került sor az alábbi következtetést az optimális elrendezés a szerkezet:

Leggyakrabban ez style.css, de itt mondjam szoktak elrendezések HTML5 boilerplate. Az alapvető elrendezés a fájlt, amely az importált összes többi részét (lásd. Lent)

Ez magában foglalja a normalize.css és stílusok alapvető elemei a helyszínen: html, test, egy, ul, li, és így tovább.

Ha a saját hálózatra vagy felülbírálhatja teljes kereteket. Ennek megfelelően itt importált _mixins mappát. _variables.scss és mások.

Stílusok tárgyakat.

Azt még tovább bezár megközelítés SMACSS szolgáló sort az összes mappát. Inkább menteni minden modul egy külön fájlban, majd importálni _modules.scss. Sokkal kényelmesebb szerkeszteni. Is figyelembe az alkotók SCSS Bootstrap.

Minden, ami nem szerepel a megadott mappában fent.