Declarações curtas no CSS
Postado por: Pedro Rogério emUma das grandes capacidades do CSS é de se utilizar declarações curtas. Ela permite que você especifique várias propriedades semelhantes utilizando apenas uma declaração. Se você entende CSS entenderá logo o propósito desse artigo. Através dele você entenderá como escrever o CSS de uma forma mais inteligente e legível.
Afim de obter o máximo de proveito desse artigo, você deverá saber a forma normal de escrita das propriedades CSS e seus valores, eles serão utilizados aqui mas não explicados.
A estrutura básica das CSS
Agora vamos a uma rápida demonstração de como escrever CSS para refrescar nossa memória:
_____________Seletor
| _________ Propriedade
| | ____ Valor
| | |
h1 { color: red }
|________|
Declaração
Essa regra CSS irá declarar muitas vezes as propriedades. Mas através do seletor propriedades poderemos declarar vários valores de uma só vez. Para você ter uma idéia melhor, vamos adicionar estilos a tag body do HTML:
body {
background: url("bg.gif");
background-color: #003366;
background-repeat: repeat-x;
background-position: left top;
}
O código acima é uma forma muito comum de se declarar CSS utilizada por todo mundo. Agora vamos ver o que acontece quando tentamos definir o mesmo estilo, mas desta vez utilizando a propriedade background com declarações curtas. Utilizando a propriedade background nós seremos capazes de definir todas as propriedades acima com maior eficiência, ou melhor, vamos diminuir o código pela metade:
body {background:#036 url("bg.gif") repeat-x left top;}
Então, como você pode ver existe uma forma de você adicionar mais produtividade a seu CSS, portanto, se você sabe utilizar declarações curtas, mãos a obra. Abaixo você verá um guia para utilização de declarações curtas no CSS da mesma forma como foi mostrado anteriormente, mas também serão mostrados os browsers suportados, a sintaxe utilizada e um exemplo com uma breve explicação.
Declarações curtas na propriedade font
| Windows | Macintosh | Todas as plataformas | Outros | ||||||||||||
| Browser | IE5 | IE5.5 | IE6 | IE7 | IE8 | Chrome | IE4 | IE4.5 | IE5 | Safari | NS4 | NS9 | Opera 9 | FireFox 2-3 | WebTV 1 |
| Suporte | parcial | parcial | sim | sim | sim | sim | parcial | parcial | sim | sim | parcial | sim | sim | sim | bug |
Sintaxe:
font: font-style | font-variant | font-weight | font-size | line-height | font-family
p { font: strong x-large/110% "new century schoolbook", serif; }
No exemplo acima não definimos o valor de font-variant, mas será assumido o valor default do browser. x-large/110% se referem respectivamente ao tamanho da fonte e ao line-height. Uma vez que ambas utilizam tamanho que agrege valor, deverão sempre estar juntas, onde font-size é sempre o primeiro valor a ser definido. Citações são sempre utilizadas quando forem declaradas famílias de fonte.
Declarações Curtas em Margin e Padding
| Windows | Macintosh | Todas as plataformas | Outros | ||||||||||||
| Browser | IE5 | IE5.5 | IE6 | IE7 | IE8 | Chrome | IE4 | IE4.5 | IE5 | Safari | NS4 | NS9 | Opera 9 | FireFox 2-3 | WebTV 1 |
| Suporte | parcial | yes | yes | yes | yes | yes | parcial | yes | yes | yes | bug | yes | yes | yes | não |
Sintaxe:
margin: margin-top | margin-right | margin-bottom | margin-left
padding: padding-top | padding-right | padding-bottom | padding-left
Nota: O Internet Explorer tem possui problemas com o Box Model, portanto ele interpreta padding de uma forma diferente em relação aos outros browsers, tenha cuidado.
p {margin: 2em}
Neste primeiro exemplo todas as margens foram definidas como 2em. Quando apenas um valor é declarado, ela se aplica a todos os lados.
p {margin: 1em 2em}
No exemplo acima, 2 valores foram definidos. CSS interpreta a primeira regra como sendo para as margens top e bottom, e a segunda regra para a direita e esquerda.
p { margin: 1em 2em 3em }
Nesse último exemplo, 3 valores foram definidos. Margin-top leva em consideração o primeiro valor, margin-right e margin-left levam em consideração o segundo valor e margin-bottom o terceiro valor. Quando 4 valores são definidos, margin-top é definido primeiro, suscetivamente right, bottom e left, sempre no sentido horário.
As regras aplicadas a padding são as mesmas aplicadas a margin.
Declarações curtas na propriedade border
| Windows | Macintosh | Todas as plataformas | Outros | ||||||||||||
| Browser | IE5 | IE5.5 | IE6 | IE7 | IE8 | Chrome | IE4 | IE4.5 | IE5 | Safari | NS4 | NS9 | Opera 9 | FireFox 2-3 | WebTV 1 |
| Suporte | parcial | sim | sim | sim | sim | sim | parcial | sim | sim | sim | bug | sim | sim | sim | não |
Sintaxe:
border: border-width | border-style | color
Exemplos:
p { border: solid red }
Irá definir as bordas de p para uma linha sólida e vermelha.
p { border: 1px dotted #369 }
Irá definir um minúsculo ponto azul a borda pontilhada em volta dele.
Declarações curtas em: border-top, border-right, border-bottom, border-left
| Windows | Macintosh | Todas as plataformas | Outros | ||||||||||||
| Browser | IE5 | IE5.5 | IE6 | IE7 | IE8 | Chrome | IE4 | IE4.5 | IE5 | Safari | NS4 | NS9 | Opera 9 | FireFox 2-3 | WebTV 1 |
| Suporte | parcial | sim | sim | sim | sim | sim | parcial | parcial | sim | sim | não | sim | sim | sim | não |
Sintaxe:
border-top: border-width | border-style | color
Esse tipo de declaração funciona semelhante a anterior, a única diferença aqui é que agora você irá especificar bordas para locais específicos do elemento.
Exemplo:
p { border-right: 4px groove blue;}
Declarações curtas em: list-style
| Windows | Macintosh | Todas as plataformas | Outros | ||||||||||||
| Browser | IE5 | IE5.5 | IE6 | IE7 | IE8 | Chrome | IE4 | IE4.5 | IE5 | Safari | NS4 | NS9 | Opera 9 | FireFox 2-3 | WebTV 1 |
| Suporte | sim | sim | sim | sim | sim | sim | parcial | parcial | sim | sim | parcial | sim | sim | sim | não |
Sintaxe:
list-style: list-style-type | list-style-position | list-style-image
Exemplo:
ul { list-style: url("dot.gif") disc inside}
Nesse exemplo será usado um elemento gráfico chamado dot.gif, se ele não for encontrado, será utilizado o elemento disc.
Declarações curtas na propriedade: background
| Windows | Macintosh | Todas as plataformas | Outros | ||||||||||||
| Browser | IE5 | IE5.5 | IE6 | IE7 | IE8 | Chrome | IE4 | IE4.5 | IE5 | Safari | NS4 | NS9 | Opera 9 | FireFox 2-3 | WebTV 1 |
| Suporte | sim | sim | sim | sim | sim | sim | sim | parcial | sim | sim | parcial | sim | sim | sim | parcial |
Sintaxe:
background: background-color | background-image | background-repeat | background-attachment | background-position
Um exemplo foi utilizado na introdução desse artigo.
Exemplo:
p {background: gray url("bg.gif") repeat fixed 50% }
Como vocês podem ver, foi definida uma imagem de fundo chamada bg.gif, e seu antecedente uma cor cinza. O fundo irá repetir mas permanece fixo e o posicionamento será aplicado a 50% horizontalmente.
Esse artigo é uma tradução do original de: Ove Klykken














Isso é o que há!
Me digam, vcs tem alguma informação a respeito de plataformas/navegadores que não suportam cores com três dígitos? Ex.: #0f0 ao invés de #00ff00
Eu sempre uso os 3 dígitos e nunca vi problema, mas colegas me dizem que pode dar pau…
@Bruno,
Efetuei alguns testes através do BrowserShots em 86 browsers diferentes, o único que apresentou problemas foi o Dillo: http://www.dillo.org/. Abraços.
@Pedro O Q? existe outros browsers além do IE6? hehehehehe
post mto bacana seu Pedro, parabéns! =]
abraços
É @Pedro, então tenho q mandar esses caras q falam besteira à m#$%@! hehehe
Valeu ai pela dica!!
Abraços
Showwwww…… muito bom, e viva as boas práticas!!!!!
t+