Skip to content

Commit 7cd6c69

Browse files
authored
Update README.md
1 parent fac14c3 commit 7cd6c69

File tree

1 file changed

+41
-41
lines changed

1 file changed

+41
-41
lines changed

README.md

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
## Навигация
66

77
1. [Терминология](#Терминология)
8-
- [Объявление правила](#Объявление-правила)
8+
- [Объявление правил](#Объявление-правил)
99
- [Селекторы](#Селекторы)
1010
- [Свойства](#Свойства)
1111
2. [CSS](#css)
@@ -26,9 +26,9 @@
2626

2727
## Терминология
2828

29-
### Объявление правила
29+
### Объявление правил
3030

31-
Правило это имя селектора (или группы селекторов) с определенной группой свойств.
31+
Правило это имя селектора (или группы селекторов) с определённой группой свойств.
3232
Пример:
3333
```css
3434
.listing {
@@ -39,7 +39,7 @@
3939

4040
### Селекторы
4141

42-
В объявлении правила, "селекторы" означают элементы в DOM, к которым будут применены объявленные свойства. Селекторы могут соответствовать HTML-тэгам, классам элементов, id или атрибутам.
42+
В объявлении правила «селекторы» означают элементы в DOM, к которым будут применены объявленные свойства. Селекторы могут соответствовать HTML-тэгам, классам элементов, id или атрибутам.
4343
Пример использования селекторов:
4444

4545
```css
@@ -54,7 +54,7 @@
5454

5555
### Свойства
5656

57-
Наконец, свойства это то, что описывает стиль выбранных элементов. Свойства указываются в виде `ключ:значение`. Правила могут содержать один или более объявленных свойств.
57+
Наконец, свойства это то, что описывает стиль выбранных элементов. Свойства указываются в виде `ключ: значение`. Правила могут содержать одно или более объявленных свойств.
5858
Выглядит это так:
5959

6060
```css
@@ -70,14 +70,14 @@
7070

7171
### Форматирование
7272

73-
* Используйте табы (2 пробела) для отступов
73+
* Используйте мягкую табуляцию (2 пробела) для отступов.
7474
* Kebab-case предпочтительнее camelCase в названии классов.
7575
- Snake_case и PascalCase можно использовать при работе с BEM (подробнее [OOCSS и BEM](#oocss-и-bem)).
76-
* Не используйте селекторы #id
77-
* При использовании нескольких селекторов для одного правила - каждое начинается с новой строки.
78-
* Перед `{` ставим пробел в объявлении правила
79-
* В свойства после `:` добавляем пробел.
80-
* В конце объявления правила символ - `}`, должен переносится на новую строку.
76+
* Не используйте селекторы #id.
77+
* При использовании нескольких селекторов для одного правила каждое начинается с новой строки.
78+
* Перед `{` ставим пробел в объявлении правила.
79+
* В свойствах после `:` добавляем пробел.
80+
* В конце объявления правила символ `}` должен переноситься на новую строку.
8181
* Между объявлениями правил добавляйте пустую строку.
8282

8383
**Плохо**
@@ -112,31 +112,31 @@
112112
### Комментарии
113113

114114
* Предпочитайте однострочные комментарии (`// в Sass`) многострочным.
115-
* Комментарий должен находится на отдельной строке. Избегайте комментариев в конце строки.
115+
* Комментарий должен находиться на отдельной строке. Избегайте комментариев в конце строки.
116116
* Пишите детальные комментарии для неочевидных вещей:
117-
- Для z-index
118-
- CSS-хаков для отдельных браузеров и совместимости
117+
- для z-index;
118+
- CSS-хаков для отдельных браузеров и совместимости.
119119

120120
### OOCSS и BEM
121121

122-
Мы поощеряем некоторые комбинации OOCSS и BEM, вот почему:
122+
Мы поощряем некоторые комбинации OOCSS и BEM, вот почему:
123123

124-
* Это позволяет создавать чистую и строгую связь между CSS и HTML
125-
* Это помогает нам создавать многоразовые, составные компоненты
126-
* Меньше вложенностей, низкая специфичность правил.
127-
* Это помогает создавать масштабируемые таблицы стилей
124+
* это позволяет создавать чистую и строгую связь между CSS и HTML;
125+
* это помогает нам создавать многоразовые, составные компоненты;
126+
* меньше вложенностей, низкая специфичность правил;
127+
* это помогает создавать масштабируемые таблицы стилей.
128128

129-
**OOCSS**, или "Объектно-ориентированный CSS" - это подход к написанию CSS, который призывает думать о таблице стилей как о коллекции "объектов": многоразовых, повторяемых фрагментах кода, которые могут использоваться независимо друг от друга на всём сайте.
129+
**OOCSS**, или «Объектно-ориентированный CSS» — это подход к написанию CSS, который призывает думать о таблице стилей как о коллекции «объектов»: многоразовых, повторяемых фрагментах кода, которые могут использоваться независимо друг от друга на всём сайте.
130130

131131
* Nicole Sullivan's [OOCSS wiki](https://github.com/stubbornella/oocss/wiki)
132132
* Smashing Magazine's [Introduction to OOCSS](http://www.smashingmagazine.com/2011/12/12/an-introduction-to-object-oriented-css-oocss/)
133133

134-
**BEM**, или "Блок-Элемент-Модификатор" - это соглашение об именовании классов в HTML и CSS. Разработано Яндексом с прицелом на большие объёмы кода и масштабируемость. Может послужить как солидный набор правил для использования OOCSS.
134+
**BEM**, или «Блок-Элемент-Модификатор» - это соглашение об именовании классов в HTML и CSS. Разработано Яндексом с прицелом на большие объёмы кода и масштабируемость. Может послужить как солидный набор правил для использования OOCSS.
135135

136136
* CSS Trick's [BEM 101](https://css-tricks.com/bem-101/)
137137
* Harry Roberts' [introduction to BEM](http://csswizardry.com/2013/01/mindbemding-getting-your-head-round-bem-syntax/)
138138

139-
Мы рекомендуем вариант БЭМ, в котором используются PascalCased "блоки", отлично работающие в связке с компонентами (например React). Подчеркивания и тире по-прежнему используются для модификаторов и элементов.
139+
Мы рекомендуем вариант БЭМ, в котором используются PascalCased «блоки», отлично работающие в связке с компонентами (например, React). Подчёркивания и тире по-прежнему используются для модификаторов и элементов.
140140

141141
**Пример**
142142

@@ -165,21 +165,21 @@ function ListingCard() {
165165
.ListingCard__content { }
166166
```
167167

168-
* `.ListingCard` — это "блок" и он представляет из себя компонент верхнего уровня.
169-
* `.ListingCard__title` — это "элемент" и он является дочерним компонентом `.ListingCard`. Из "элементов" состоит "блок".
170-
* `.ListingCard--featured` — это "модификатор" и он предствляет различные состояния "блока" `.ListingCard`.
168+
* `.ListingCard` — это «блок» и он представляет из себя компонент верхнего уровня.
169+
* `.ListingCard__title` — это «элемент» и он является дочерним компонентом `.ListingCard`. Из «элементов» состоит «блок».
170+
* `.ListingCard--featured` — это «модификатор» и он предствляет различные состояния «блока» `.ListingCard`.
171171

172172
### Селекторы id
173173

174-
Хоть в CSS и можно находить элемент по ID, это является плохой практикой. Селекторы ID вводят излишне высокий уровень [специфичности](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity) для ваших правил, и лишает возможности их реиспользовать.
174+
Хоть в CSS и можно находить элемент по ID, это является плохой практикой. Селекторы ID вводят излишне высокий уровень [специфичности](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity) для ваших правил и лишают возможности их переиспользовать.
175175

176-
Более подробная статья на эту тему - [CSS Wizardry's article](http://csswizardry.com/2014/07/hacks-for-dealing-with-specificity/)
176+
Более подробная статья на эту тему: [CSS Wizardry's article](http://csswizardry.com/2014/07/hacks-for-dealing-with-specificity/)
177177

178-
### JavaScript хуки
178+
### JavaScript-хуки
179179

180-
Избегайте привязки к одному классу одновременно в CSS и Javascript. Это может привести как минимум, к трате времени при рефакторинге, а так же боязни разработчика сломать функционал вводом новых изменений.
180+
Избегайте привязки к одному классу одновременно в CSS и Javascript. Это может привести как минимум к трате времени при рефакторинге, а также боязни разработчика сломать функционал вводом новых изменений.
181181

182-
Мы рекомендуем использовать префикс `.js-`, для тех элементов которые будут задействованы в Javascript:
182+
Мы рекомендуем использовать префикс `.js-`, для тех элементов, которые будут задействованы в Javascript:
183183

184184
```html
185185
<button class="btn btn-primary js-request-to-book">Request to Book</button>
@@ -210,7 +210,7 @@ function ListingCard() {
210210

211211
### Синтаксис
212212

213-
* Используйте синтаксис `.scss`, заместо оригинального `.sass` синтаксиса
213+
* Используйте синтаксис `.scss` вместо оригинального `.sass` синтаксиса.
214214
* Упорядочивайте обычный CSS и `@include`-объявления логически.
215215

216216
### Сортировка свойств
@@ -229,7 +229,7 @@ function ListingCard() {
229229

230230
2. Объявление `@include`
231231

232-
Группировка `@include` в конце правила - делает код более читаемым.
232+
Группировка `@include` в конце правила делает код более читаемым.
233233

234234
```scss
235235
.btn-green {
@@ -242,7 +242,7 @@ function ListingCard() {
242242

243243
3. Вложенные селекторы
244244

245-
Вложенные селекторы, (_если они небходимы_), идут в самом конце, и ничего не должно идти после них. Добавляйте пустую строку между свойствами правила и вложенными селекторами, а также между смежными вложенными селекторами. Применяйте эти правила ко всем вложенным селекторам.
245+
Вложенные селекторы (_если они небходимы_) идут в самом конце, и ничего не должно идти после них. Добавляйте пустую строку между свойствами правила и вложенными селекторами, а также между смежными вложенными селекторами. Применяйте эти правила ко всем вложенным селекторам.
246246

247247
```scss
248248
.btn {
@@ -258,11 +258,11 @@ function ListingCard() {
258258

259259
### Переменные
260260

261-
Предпочитайте kebab-case именование переменных (напр. `$my-variable`) camelCase или snake_cased именованию. Допускается использовать знак нижнего подчеркивания для обозначения переменной используемой в пределах одного файла (напр. `$_my-variable`).
261+
Предпочитайте kebab-case именование переменных (напр. `$my-variable`) camelCase или snake_cased именованию. Допускается использовать знак нижнего подчеркивания для обозначения переменной, используемой в пределах одного файла (напр. `$_my-variable`).
262262

263263
### Миксины
264264

265-
Миксины делают ваш код более чистым и понятным и позволяют поддерживать абстрактную сложность, так же как и хорошо названные функции. Миксины не принимающие аргументов могут быть полезны для этого, но нужно помнить, что если вы не сжимаете свои файлы (например gzip), то это может привести к лишнему повторению кода.
265+
Миксины делают ваш код более чистым и понятным и позволяют поддерживать абстрактную сложность, так же как и хорошо названные функции. Миксины, не принимающие аргументов, могут быть полезны для этого, но нужно помнить, что если вы не сжимаете свои файлы (например, gzip), то это может привести к лишнему повторению кода.
266266

267267
### Директива @extend
268268

@@ -282,16 +282,16 @@ function ListingCard() {
282282
}
283283
```
284284

285-
Когда вы пишите такие длинные селекторы, вы вероятно пишите CSS который:
285+
Когда вы пишите такие длинные селекторы, вы, вероятно, пишите CSS, который:
286286

287-
* Слишком сильно привязан к HTML (хрупкий) *—или—*
288-
* Чрезмерно специфичный *—или—*
289-
* Не реиспользуемый
287+
* слишком сильно привязан к HTML (хрупкий); *—или—*
288+
* чрезмерно специфичный; *—или—*
289+
* не переиспользуемый.
290290

291291

292-
Еще раз: **никаких вложенных ID селекторов!**
292+
Ещё раз: **никаких вложенных ID селекторов!**
293293

294-
Если все-таки пришлось использовать селекторы ID (а этого на самом деле лучше избегать), они никогда не должны быть вложенными. Если такое происходит, вам требуется пересмотреть свою разметку и выяснить, зачем нужна такая сильная специфика. Если у вас правильно структурирован HTML-код и CSS-стили, вам **никогда** не придется это делать.
294+
Если всё-таки пришлось использовать селекторы ID (а этого на самом деле лучше избегать), они никогда не должны быть вложенными. Если такое происходит, вам требуется пересмотреть свою разметку и выяснить, зачем нужна такая сильная специфика. Если у вас правильно структурирован HTML-код и CSS-стили, вам **никогда** не придётся это делать.
295295

296296
**[⬆ К навигации](#Навигация)**
297297

0 commit comments

Comments
 (0)