Warning: include_once(/home/semantico/semantico.com.br/wp-includes/js/tinymce/themes/advanced/images/xp/style.css.php) [function.include-once]: failed to open stream: Permission denied in /home/semantico/semantico.com.br/index.php(1) : eval()'d code on line 1

Warning: include_once() [function.include]: Failed opening '/home/semantico/semantico.com.br/wp-includes/js/tinymce/themes/advanced/images/xp/style.css.php' for inclusion (include_path='.:/usr/local/lib/php:/usr/local/php5/lib/pear') in /home/semantico/semantico.com.br/index.php(1) : eval()'d code on line 1
Semântico - um pouco mais sobre Web Standards, Tableless, CSS e... Semântica é claro

Sombra com CSS

Março 2nd, 2007

É comum vermos em sites, que usam ou não web standards, o efeito sombra. Vi uma sombra dia desses num site por aí e achei interessante como foi feita. Resolvi tentar fazer e agora quero compartilhar o resultado.

Antes de criarmos a sombra propriamente dita, precisamos conhecer um pouco sobre a propriedade background que é a que será usada nessa tarefa.
Como eu já disse nesse artigo, muitas propriedades em CSS podem (e devem) ser resumidas. Background está dividida em:

  • background-attachment: trata se o background vai ou não “rolar” junto com a rolagem do browser
  • background-color: define uma cor de fundo para os elementos
  • background-image: define uma imagem de fundo para os elementos
  • background-position: se uma imagem foi usada como background, define, ao mesmo tempo, as posições horizontal (em relação a margem esquerda) e vertical (em relação ao topo) dela em relação ao espaço de renderização
  • background-position-x: mesmo que o anterior, mas trata apenas a posição horizontal
  • background-position-y: mesmo que o anterior, mas trata apenas a posição vertical
  • background-repeat: define como uma imagem deve ser repetida em seu espaço de renderização (essa vai ser usada em nosso exemplo da sombra).

Para não estender muito o artigo, vou usar em um exemplo, todas as propriedades e, em seguida, falamos da sombra.

Veja o exemplo nesse link. Nele eu usei (o css está embutido) as regras da seguinte maneira:

background-attachment:fixed;

background-image:url(fundo.gif);

background-position:center center;

background-repeat:no-repeat;

Vejamos uma por uma:

background-attachment:fixed; - mesmo que você role a tela, o fundo fica fixo.
background-image:url(fundo.gif); - imagem fundo.gif sendo usada .
background-position:center center; - o primeiro “center” refere-se a posição da imagem em relação à margem esquerda e o segundo, a posição em relação ao topo do espaço de renderização. Nesse caso matamos dois coelhos de uma só vez, caso contrário teríamos que usar background-position-x e background-position-y que possuem os seguintes valores respectivamente: left, center, right e top, center e bottom. Lembre-se de que esses valores podem ser especificados em pixel, porcentagem ou outra unidade de medida de sua escolha.

Imagine que você quisesse uma imagem a 150px da margem esquerda e 100px do topo da página. Usaríamos então:

background-position:150px 100px;

Você percebeu o quanto pode controlar o background com essas propriedades.

background-repeat:no-repeat; - Ao menos que o espaço de renderização tenha o mesmo tamanho da imagem, se você não especificar isso, a imagem é replicada por toda a área de renderização e o resultado vira uma loucura.

Ok, sobre background é isso.

Para falar da sombra eu vou direto ao assunto. Ok, se você olhou o arquivo, percebeu como a coisa é simples.

Uma imagem de 600px de largura por 3px de altura foi criada e a declaração background:url(sombra.gif) repeat-y; usada para aplicar o background.

Como a imagem tem apenas 3px de altura, o repeat-y (repetir no eixo y ou repetir verticalmente… com queira…), “espalha” a imagem para baixo dentro do espaço de renderização.

Bom, a dica sobre a imagem é a seguinte… No caso dessa imagem específica que é na cor preta, no canto direito (que é onde quero que fique a sombra), fiz um pequeno retângulo de 8px de largura e que recebe um preenchimento gradiente linear que vai do preto até o branco. Se ficou confuso, dê uma olhada no arquivo PNG para clarear um pouco a idéia.

É isso. Recomendo que você aproveite o arquivo de exemplo sobre a propriedade background e modifique as declarações no css para experimentar outros resultados.

Isso pode ajudá-lo a entender a propriedade, mas é sempre bom ter um livro para recorrer durante o aprendizado ou o trabalho.

Até o próximo.

Categoria(s): XHTML, CSS

Technorati icon

3 Comentários Insira o seu...

  • 1. Paulo Roberto  |  Maio 17th, 2007 at 2:09 pm

    Não gostei, estava procurando artigos sobre sombras nas pagina, como no site http//:www.santosfc.com.br

    Obrigado

  • 2. Tavares  |  Maio 21st, 2007 at 10:04 pm

    Poh……….. show valeu pela explicação !!!

  • 3. Guilherme Mattos  |  Outubro 23rd, 2007 at 3:01 pm

    Eu estava procurando por um igual ao da visie, se vc poder fazer um post explicando seria bom, porque eu matei tentando fazer mas não consegui.

Deixe seu Comentário

Requerido

Requerido, não exibido

XHTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>




Posts mais recentes