You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A “rule declaration” is the name given to a selector (or a group of selectors) with an accompanying group of properties. Here's an example:
31
+
Uma “declaração de regra” é o nome dado ao seletor (ou grupo de seletores) acompanhados de um grupo de propriedades. Segue um exemplo:
32
32
33
33
```css
34
34
.listing {
@@ -37,9 +37,9 @@ A “rule declaration” is the name given to a selector (or a group of selector
37
37
}
38
38
```
39
39
40
-
### Selectors
40
+
### Seletores
41
41
42
-
In a rule declaration, “selectors” are the bits that determine which elements in the DOM tree will be styled by the defined properties. Selectors can match HTML elements, as well as an element's class, ID, or any of its attributes. Here are some examples of selectors:
42
+
Em uma declaraçao de regra, "seletores" são os bits que determinam quais elementos na árvore de DOM serão estilizados pelas propriedades definidas. Seletores podem coincidir com elementos HTML, assim como classes, ID ou qualquer um de seus atributos. Seguem exemplos de seletores:
43
43
44
44
```css
45
45
.my-element-class {
@@ -51,9 +51,9 @@ In a rule declaration, “selectors” are the bits that determine which element
51
51
}
52
52
```
53
53
54
-
### Properties
54
+
### Propriedades
55
55
56
-
Finally, properties are what give the selected elements of a rule declaration their style. Properties are key-value pairs, and a rule declaration can contain one or more property declarations. Property declarations look like this:
56
+
Finalmente, propriedades são os elementos selecionados de uma regra de declaração. Propriedades são pares de chave-valor, onde uma regra de declaração pode conter uma ou mais declarações de propriedades. Declaração de propriedades são mostradas a seguir:
57
57
58
58
```css
59
59
/* some selector */ {
@@ -64,19 +64,19 @@ Finally, properties are what give the selected elements of a rule declaration th
64
64
65
65
## CSS
66
66
67
-
### Formatting
67
+
### Formato
68
68
69
-
* Use soft tabs (2 spaces) for indentation
70
-
*Prefer dashes over camelCasing in class names.
71
-
- Underscores and PascalCasing are okay if you are using BEM (see[OOCSS and BEM](#oocss-and-bem)below).
72
-
*Do not use ID selectors
73
-
*When using multiple selectors in a rule declaration, give each selector its own line.
74
-
*Put a space before the opening brace `{`in rule declarations
75
-
*In properties, put a space after, but not before, the `:`character.
76
-
*Put closing braces `}`of rule declarations on a new line
77
-
*Put blank lines between rule declarations
69
+
* Use "soft tabs" (2 espaços) para identação.
70
+
*Prefira dashes `(-)` no lugar de camelCasing em nomes de classes.
71
+
- Underscores `(_)` e PascalCasing podem ser utilizados caso você use BEM (veja[OOCSS e BEM](#oocss-e-bem)abaixo).
72
+
*Não use seletores ID.
73
+
*Quando usar múltiplos seletores em uma regra de declaração, ponha cada um em uma própria linha.
74
+
*Coloque um espaço antes da abertura de chaves `{`em declaração de regras.
75
+
*Em propriedades, coloque um espaço depois, mas não antes, do caracter `:`(dois-pontos).
76
+
*Coloque chave de fechamento `}`de uma regra de declaração em uma nova linha.
77
+
*Coloque linhas em branco entre declarações de regra.
78
78
79
-
**Bad**
79
+
**Ruim**
80
80
81
81
```css
82
82
.avatar{
@@ -90,7 +90,7 @@ Finally, properties are what give the selected elements of a rule declaration th
90
90
}
91
91
```
92
92
93
-
**Good**
93
+
**Bom**
94
94
95
95
```css
96
96
.avatar {
@@ -105,36 +105,36 @@ Finally, properties are what give the selected elements of a rule declaration th
105
105
}
106
106
```
107
107
108
-
### Comments
108
+
### Comentários
109
109
110
-
*Prefer line comments (`//`in Sass-land) to block comments.
111
-
*Prefer comments on their own line. Avoid end-of-line comments.
112
-
*Write detailed comments for code that isn't self-documenting:
113
-
-Uses of z-index
114
-
-Compatibility or browser-specific hacks
110
+
*Prefira comentários de linha (`//`em Sass) para blocos de comentários.
111
+
*Prefira comentários em uma única linha. Evite comentários no final da linha.
112
+
*Escreva comentários detalhados para códigos que não são auto-documentados:
113
+
-Usos do z-index
114
+
-Compatibilidade ou hacks específicos de navegadores
115
115
116
-
### OOCSS and BEM
116
+
### OOCSS e BEM
117
117
118
-
We encourage some combination of OOCSS and BEM for these reasons:
118
+
Nós incentivamos algumas combinações de OOCSS e BEM por três razões:
119
119
120
-
*It helps create clear, strict relationships between CSS and HTML
121
-
*It helps us create reusable, composable components
122
-
*It allows for less nesting and lower specificity
123
-
*It helps in building scalable stylesheets
120
+
*Ajuda a criar relações claras e estritas entre CSS e HTML.
121
+
*Nos ajuda a criar componentes reutilizáveis e que podem ser repostos.
122
+
*Permite menor especificidade e agrupamento.
123
+
*Ajuda na construção de estilos escaláveis.
124
124
125
-
**OOCSS**, or “Object Oriented CSS”, is an approach for writing CSS that encourages you to think about your stylesheets as a collection of “objects”: reusable, repeatable snippets that can be used independently throughout a website.
125
+
**OOCSS**, ou “Object Oriented CSS”, (CSS orientado a objetos) é uma abordagem para escrita de CSS que encoraja você a pensar sobre seus estilos como uma coleçao de "objetos": reutilizáveis, trechos repetitivos que podem ser usados de forma independente em todo o website.
*Smashing Magazine's [Introduction to OOCSS](http://www.smashingmagazine.com/2011/12/12/an-introduction-to-object-oriented-css-oocss/)
127
+
*[OOCSS wiki](https://github.com/stubbornella/oocss/wiki) de Nicole Sullivan
128
+
*[Introduction to OOCSS](http://www.smashingmagazine.com/2011/12/12/an-introduction-to-object-oriented-css-oocss/) de Smashing Magazine
129
129
130
-
**BEM**, or “Block-Element-Modifier”, is a _naming convention_ for classes in HTML and CSS. It was originally developed by Yandex with large codebases and scalability in mind, and can serve as a solid set of guidelines for implementing OOCSS.
130
+
**BEM**, ou “Block-Element-Modifier”, é uma _convenção de nomes_ para classes em HTML e CSS. Foi originalmente desenvolvido por Yandex com largas bases de códigos e escalabilidade em mente, e pode servir como um sólido conjunto de orientações para implementação OOCSS.
*Harry Roberts' [introduction to BEM](http://csswizardry.com/2013/01/mindbemding-getting-your-head-round-bem-syntax/)
132
+
*[BEM 101](https://css-tricks.com/bem-101/) de CSS Trick
133
+
*[introduction to BEM](http://csswizardry.com/2013/01/mindbemding-getting-your-head-round-bem-syntax/) de Harry Roberts
134
134
135
-
We recommend a variant of BEM with PascalCased “blocks”, which works particularly well when combined with components (e.g. React). Underscores and dashes are still used for modifiers and children.
135
+
Nós recomendamos um variante do BEM com "blocos" em formato PascalCased, que funciona particularmente bem quando combinado com componentes (por exemplo React). Underscores e dashes ainda são utilizados para modificadores e filhos.
136
136
137
-
**Example**
137
+
**Exemplo**
138
138
139
139
```jsx
140
140
// ListingCard.jsx
@@ -161,39 +161,39 @@ function ListingCard() {
161
161
.ListingCard__content { }
162
162
```
163
163
164
-
*`.ListingCard`is the “block” and represents the higher-level component
165
-
*`.ListingCard__title`is an “element” and represents a descendant of`.ListingCard`that helps compose the block as a whole.
166
-
*`.ListingCard--featured`is a “modifier” and represents a different state or variation on the`.ListingCard` block.
164
+
*`.ListingCard`é um “bloco” e representa um componente de alto nível
165
+
*`.ListingCard__title`é um “elemento” e representa um decendente de`.ListingCard`que ajuda a compor o bloco como inteiro.
166
+
*`.ListingCard--featured`é um "modificador" e representa um estado diferente ou variação no block`.ListingCard`.
167
167
168
-
### ID selectors
168
+
### Seletores ID
169
169
170
-
While it is possible to select elements by ID in CSS, it should generally be considered an anti-pattern. ID selectors introduce an unnecessarily high level of [specificity](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity)to your rule declarations, and they are not reusable.
170
+
Enquanto é possível selecionar elementos por ID em CSS, isto deveria ser considerado um anti-projeto. Seletores ID introduzem um nível alto de [especificidade](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity)para suas declarações de regras e eles não são reutilizáveis.
171
171
172
-
For more on this subject, read [CSS Wizardry's article](http://csswizardry.com/2014/07/hacks-for-dealing-with-specificity/)on dealing with specificity.
172
+
Para mais detalhes leia o seguinte [artigo do CSS Wizardry](http://csswizardry.com/2014/07/hacks-for-dealing-with-specificity/)sobre como ligar com especificidade.
173
173
174
174
### JavaScript hooks
175
175
176
-
Avoid binding to the same class in both your CSS and JavaScript. Conflating the two often leads to, at a minimum, time wasted during refactoring when a developer must cross-reference each class they are changing, and at its worst, developers being afraid to make changes for fear of breaking functionality.
176
+
Evite vincular a mesma classe em seu CSS e JavaScript. Combinando os dois, muitas vezes resulta em tempo perdido durante refatoração, quando um desenvolvedor deve fazer uma referência cruzada de cada classe que está alterando e, pior ainda, o medo de quebrar alguma funcionalidade.
177
177
178
-
We recommend creating JavaScript-specific classes to bind to, prefixed with`.js-`:
178
+
Recomendamos a criação de classes específicas JavaScript para vinculação, com prefixo`.js-`:
179
179
180
180
```html
181
181
<buttonclass="btn btn-primary js-request-to-book">Request to Book</button>
182
182
```
183
183
184
184
### Border
185
185
186
-
Use`0`instead of `none`to specify that a style has no border.
186
+
Utilizar`0`ao invés de `none`para especificar que um estilo não tem borda.
187
187
188
-
**Bad**
188
+
**Ruim**
189
189
190
190
```css
191
191
.foo {
192
192
border: none;
193
193
}
194
194
```
195
195
196
-
**Good**
196
+
**Bom**
197
197
198
198
```css
199
199
.foo {
@@ -203,16 +203,16 @@ Use `0` instead of `none` to specify that a style has no border.
203
203
204
204
## Sass
205
205
206
-
### Syntax
206
+
### Sintaxe
207
207
208
-
* Use the`.scss` syntax, never the original `.sass` syntax
209
-
*Order your regular CSS and `@include`declarations logically (see below)
208
+
* Use sintaxe`.scss`, nunca a original `.sass`
209
+
*Ordene as declarações e CSS regular em `@include`logicamente (veja abaixo)
210
210
211
-
### Ordering of property declarations
211
+
### Ordenação de declarações de propriedades
212
212
213
-
1.Property declarations
213
+
1.Declaração de propriedades
214
214
215
-
List all standard property declarations, anything that isn't an `@include`or a nested selector.
215
+
Listar todas as declarações de propriedades padrão, tudo que não seja `@include`ou um seletor agrupado.
216
216
217
217
```scss
218
218
.btn-green {
@@ -222,9 +222,9 @@ Use `0` instead of `none` to specify that a style has no border.
222
222
}
223
223
```
224
224
225
-
2. `@include` declarations
225
+
2. Declarações `@include`
226
226
227
-
Grouping `@include`sat the end makes it easier to read the entire selector.
227
+
Agrupar `@include`sno final torna mais fácil a leitura do seletor inteiro.
228
228
229
229
```scss
230
230
.btn-green {
@@ -235,9 +235,9 @@ Use `0` instead of `none` to specify that a style has no border.
235
235
}
236
236
```
237
237
238
-
3. Nested selectors
238
+
3. Seletores agrupados
239
239
240
-
Nested selectors, _if necessary_, go last, and nothing goes after them. Add whitespace between your rule declarations and nested selectors, as well as between adjacent nested selectors. Apply the same guidelines as above to your nested selectors.
240
+
Seletores agrupados, _se necessário_, vão no final e nada vai depois dos mesmo. Adicionar espaços em branco entre suas regras de declaração e seletores agrupados, bem como entre seletores agrupados adjacentes. Aplicar as mesmas regras acima para seus seletores agrupados.
241
241
242
242
```scss
243
243
.btn {
@@ -251,21 +251,21 @@ Use `0` instead of `none` to specify that a style has no border.
251
251
}
252
252
```
253
253
254
-
### Variables
254
+
### Variáveis
255
255
256
-
Prefer dash-casedvariable names (e.g. `$my-variable`) over camelCased or snake_cased variable names. It is acceptable to prefix variable names that are intended to be used only within the same file with an underscore (e.g. `$_my-variable`).
256
+
Prefira nomes de variáveis com dash-cased(ex. `$my-variable`) do que camelCased ou snake_cased. É aceitável adicionar prefíxos em nomes de variáveis que se destinam a ser usadas dentro do mesmo arquivo com um "underscore" (ex. `$_my-variable`).
257
257
258
258
### Mixins
259
259
260
-
Mixins should be used to DRY up your code, add clarity, or abstract complexity--in much the same way as well-named functions. Mixins that accept no arguments can be useful for this, but note that if you are not compressing your payload (e.g. gzip), this may contribute to unnecessary code duplication in the resulting styles.
260
+
Mixins devem ser usados para limpar seu código, adicionar clareza ou abstrair complexidade, assim como funções bem nomeadas. Mixins que aceitam nenhum argumento podem ser úteis para isto, mas note que se você não compactar seu payload (ex. gzip) isto pode contribuir para duplicação de código desnecessário nos estilos resultantes.
261
261
262
-
### Extend directive
262
+
### Extend
263
263
264
-
`@extend` should be avoided because it has unintuitive and potentially dangerous behavior, especially when used with nested selectors. Even extending top-levelplaceholder selectors can cause problems if the order of selectors ends up changing later (e.g. if they are in other files and the order the files are loaded shifts). Gzipping should handle most of the savings you would have gained by using `@extend`, and you can DRY up your stylesheets nicely with mixins.
264
+
`@extend` deve ser evitado porque possui comportamento não intuitivo e perigoso, especialmente quando usado em seletores agrupados. Mesmo extendendo os seletores placeholder de nível superior, isto pode causar problemas se a ordem dos seletores mudar mais tarde (ex. se eles estão em outros arquivos e a ordem dos mesmos variar). Gzipping lida com a maioria das economias que você teria ganho usando `@extend`, e, ainda, você pode limpar seus estilos muito bem com mixins.
265
265
266
-
### Nested selectors
266
+
### Seletores agrupados
267
267
268
-
**Do not nest selectors more than three levels deep!**
268
+
**Não agrupe seletores para mais de três níveis de profundidade!**
269
269
270
270
```scss
271
271
.page-container {
@@ -277,20 +277,20 @@ Mixins should be used to DRY up your code, add clarity, or abstract complexity--
277
277
}
278
278
```
279
279
280
-
When selectors become this long, you're likely writing CSS that is:
280
+
Quando os seletores se tornam muito longos, você provavelmente está escrevendo CSS como:
281
281
282
-
* Strongly coupled to the HTML (fragile) *—OR—*
283
-
* Overly specific (powerful) *—OR—*
284
-
* Not reusable
282
+
*Fortemente aclopado ao HTML (frágil) *—OU—*
283
+
*Excessivamente específico (poderoso) *—OU—*
284
+
*Não reutilizável
285
285
286
286
287
-
Again: **never nest ID selectors!**
287
+
Novamente: **nunca agrupe seletores ID!**
288
288
289
-
If you must use an ID selector in the first place (and you should really try not to), they should never be nested. If you find yourself doing this, you need to revisit your markup, or figure out why such strong specificity is needed. If you are writing well formed HTML and CSS, you should **never** need to do this.
289
+
Se você deve precisar utilizar um seletor ID (e você realmente não deveria fazer isto!), eles nunca devem ser agrupados. Se você está fazendo isto, revise sua marcação ou reflita o porquê tanta especificidade é necessária. Se você está escrevendo HTMLe CSS bem formados, você **nunca**deveria usar isto!
290
290
291
-
## Translation
291
+
## Tradução
292
292
293
-
This style guide is also available in other languages:
293
+
Este guia também está disponível em outras linguas:
0 commit comments