Economizando código no CSS: Margin, Border e Padding

Por Richard em 28/09/2007

Continuando com o uso de abreviações em CSS vamos aprender a definir usando pouco código as propriedades margin, border e padding de um elemento.

Antes de tudo precisamos entender como funciona esse rendering. Veja uma figura que ilustra o posicionamento de cada uma dessas propriedades:

margens, bordas e espaçamentos no CSS

A definição é bem simples: Padding é a distância entre o conteúdo e a borda do elemento e margin é a distância entre o elemento e outros elementos do conteúdo.

A propriedade Border

Esta propriedade é usada para definir o estilo, cor e espessura da borda do elemento. Veja um exemplo:

p {
border-style: dashed;
border-color: #000000;
border-width: 20px;
}

Agora vamos aprender a usar todos os estilos em apenas uma linha.

p {
border:
border-width border-style border-color
}

O Resultado, usando nosso exemplo, seria então:

p { border:  20px dashed #000000; }

As propriedades Padding e Margin

As regras são as mesmas para as duas, então usarei apenas a propriedade Padding como exemplo.

p {
padding-top: 10px;
padding-right: 0px;
padding-bottom: 10px;
padding-left: 0px;
}

Para abreviarmos, usaremos os valores no sentido horário começando por Top, ou seja:

p { padding: top right bottom left. }

E o resultado, usando nosso exemplo, seria:

p { padding: 10px 0px 10px 0px; }

Caso as verticais (top e bottom) e as horizontais (right e left) sejam iguais, como no exemplo, podemos abreviar ainda mais usando a seguinte estrutura:

p { padding: verticais horizontais; }

E nosso exemplo usando esse tipo de abreviação ficaria assim:

p { padding: 10px 0px; }

Agora basta usar as mesmas regras para definir as margens. Veja mais uma imagem ilustrativa para ajudar a entender.

Exemplo de abreviações

Só para ter uma noção maior dessa economia de código, nosso primeiro exemplo de padding tinha 85 caracteres, e o ultimo apenas 24 caracteres.

Veja também meu artigo sobre economizar código no css com a propriedade font.


3 respostas »

  1. helio em 28/09/2007 às 11:02

    legais esses posts pra economizar codigo. tem como economizar height e width tb?

    [Responder]

  2. Asukao em 28/09/2007 às 13:24

    Tech bullshit
    Queremos textos engraçados…fora conteúdo tecnico
    Sai dae ricao tu n sabe nada.

    [Responder]

  3. Carlos Eduardo em 29/09/2007 às 00:38

    Não entendo porque haveria como economizar height e width, já que eles são uma propriedade só, né? Heehe…

    Quanto ao padding, ainda há uma outra maneira, digamos, se eu quiser definir um padding-top, pagging-left e right iguais, e o padding-bottom diferente do padding-top é só fazer:

    elemento { padding: 10px 5px 0; }

    desta forma a gente define que o elemento terá padding-top 10, padding-right: 5px, padding-bottom: 0, e padding-left: 5px.

    Há outras formas de se estilizar as bordas, economizando linhas, quando envolve larguras de borda e cores diferentes, mas vou acabar me extendendo demais por aqui hehe :)

    [Responder]

RSS feed for comments on this post. TrackBack URL

Deixe um comentário

177 Assinantes Assine o FEED