Agora que já temos nossa página estruturada, vamos para o CSS.
Sempre começo um CSS resetando os valores padrões. Existem MUITOS métodos para fazer isso. Atualmente uso o método do Eric Meyer.
Indo pela ordem, vamos definir o Body
body { /* Seleciona o corpo da página */ color: white; /* Usa a cor branca para todo o texto encontrado no corpo da página */ background: black url(bgbar.jpg) repeat-x; /* O fundo do corpo da página será preto, com a imagem encontrada na url “bgbar.jpg” sendo repetida sobre o eixo X (Horizontalmente) */ }
Entre os /* */ se encontram os comentários sobre cada linha.
O fundo da página já está como queremos, agora precisamos colocar nosso conteúdo no lugar certo.
A imagem que colocaremos no fundo possui 865px por 445px, por isso devemos especificar que a div responsável pelo conteúdo terá no mínimo este tamanho.
#conteudo { /* Seleciona qualquer elemento que possua o id “conteudo”, para selecionar o ID usamos # enquanto para selecionar classe usamos . (ponto) */ width: 865px; /* Nossa largura deve ser sempre 865px, isso não irá mudar */ min-height: 445px; /* Nossa altura poderá ser maior que 445px, mas nunca deverá ser menor, ou a imagem será apresentada de forma incorreta. Para isso usamos a altura-minima (min-height) ao invés do atributo height. */ margin: 0 auto; /* Nós não queremos nenhuma margem vertical, mas queremos que horizontalmente o nosso conteúdo seja centralizado. Então usaremos a margem horizontal automatica. (Primeiro valor é o valor vertical, o segundo o horizontal, poderiamos também definir valores para cada um dos quatro lados usando 4 valores ao invés de 2) */ background: url(bgcenter.jpg) no-repeat; /* Queremos usar a imagem bgcenter.jpg sem nenhuma repetição como fundo da nossa DIV */ }
Agora o site já está começando a tomar forma e se parecer com o que planejamos. Vamos continuar pela ordem, agora estilizando os links exibidos na barra superior
.barrasuperior, .barrasuperior a { /* Selecionar objetos de classe “barrasuperior” e também os links que se encontrem sobre este mesmo objeto */ text-align: right; /* Alinhar texto a direita */ padding: 8px; /* Adicionar margem interna de 8 pixels para todos os lados */ font-size: 0.8em; /* Usar tamanho de fonte equivalente a 0.8 do tamanho de fonte usado atualmente */ margin-right: 70px; /* Dar uma margem de 70px para a direita, para alinhar corretamente com a barra de pesquisa */ }
Agora temos uma div que será usada para guardar o cabeçalho (A Pesquisa e a galeria de imagens). Estilizarei primeiro esta div, com a altura referente ao cabeçalho, depois as divs internas, posicionando-as aonde quero.
#cabecalho { /* Selecionar objeto de id “cabecalho” (Note que se trata de um ID, e não de uma classe, por isso uso o # ao invés do . que usei nos outros seletores) */ height: 170px; /* A Altura deverá sempre ser de 170px */ }
.pesquisa { /* Selecionar classe pesquisa */ margin-top: 17px; /* Dar 17px de margem acima (Para distanciar-se dos links da barra superior) */ margin-left: 685px; /* 685px de margem para a esquerda, para posicionar-se acima da imagem de pesquisa */ }
A Galeria também será posicionada na direita, abaixo da pesquisa, mas posicionaremos ela de forma diferente.
.galeria { /* Selecionar classe galeria */ float: right; /* Flutuar a direita */ height: 130px; /* Altura de 130px */ width: 155px; /* Largura de 155px, definindo altura e largura estamos definindo o formato exato da div, formando uma “caixinha” */ margin: 10px 69px; /* 10px de margem vertical, e 69 pixels de margem horizontal, para que as linhas de dentro da imagem combinem com as linhas da imagem de forma */ background: url(gal.jpg) no-repeat; /* Por ultimo, a imagem da respectiva div, posicionada sem repetição */ }
Para estilizar a imagem que entrará neste quadrado, usaremos outro seletor (.galeria img) mas como quero manter o mesmo html para não confundir ninguém, não usarei isso aqui ainda. No próximo post devo alterar o html já adicionando o conteúdo e descrevendo as novas adições no CSS junto com as adições ao HTML.
Agora para a disposição do menu e conteúdo
.barralateral { /* Selecionar classe barralateral */ float: left; /* Fazer com que o objeto flutue a esquerda */ padding: 20px; /* Margem interior de 20px */ }
.quadroprincipal { /* Selecionar classe quadroprincipal */ width: 540px; /* A largura real da imagem é de 580px. Mas eu quero usar um padding de 20px a esquerda e a direita, então retirando-os do tamanho real da div, me sobram 540px. */ min-height: 243px; /* Pelo mesmo motivo (Padding de 20px), posso retirar 40px da altura minima da imagem de fundo, que é de 283px. Novamente, usando uma altura minima posso ter texto pequeno, ou texto grande, e a imagem continuará sendo exibida corretamente. */ float: right; /* Flutuar a direita, diferente da barra lateral que flutuava a esquerda */ margin-right: 65px; /* Adicionar margem a direita de 65px, para poder alinhar a falsa transparência a imagem de trás */ background: url(content.jpg) no-repeat; /* Usar a imagem content.jpg como fundo, sem repetição */ padding:20px; /* Margem interna de 20px para cada lado */ }
.quadroprincipal h1 { /* Selecionar tudo que possuir atributo h1 dentro do objeto de classe quadroprincipal */ margin-bottom: 10px; /* Dar 10px de margem inferior para não ter o meu titulo colado ao texto em si */ font-size: 1.5em; /* Tamanho da fonte será 1 vez e meia o tamanho da fonte usado atualmente. */ }
.rodape, .rodape a { /* Selecionar objetos de classe rodape e links sobre o objeto rodapé */ clear: both; /* Diz que a partir daqui, não serão permitidos objetos flutuantes, ou seja, limita os objetos float, se posicionando após os mesmos. */ text-align: center; /* Alinha o texto ao centro */ font-size: 0.7em; /* Tamanho da fonte será 0.7 do tamanho atual da fonte utilizada. */ }
Terminado isso temos a nossa estrutura toda montada. Cada div está no lugar correto, e a página está toda estilizada sem que tenhamos sequer tocado no HTML construido na parte anterior. Enquanto quem usa tabelas já teria o HTML mais poluido do que as ruas de salvador depois do carnaval. Com nosso CSS organizado, e o nosso HTML limpo, podemos fazer mudanças em todas as nossas páginas de forma fácil e rápida em manutenções futuras. Pequenas alterações no CSS e temos todo o nosso design atualizado =].
Lembrando novamente como está o nosso HTML:
<!-- linkando o meu CSS --> <div id="conteudo"> <div class="barrasuperior"> Aqui entram os links da barra superior</div> <div id="cabecalho"> <div class="pesquisa"> Pesquisa</div> <div class="galeria"> Galeria de Imagens</div> </div> <div class="barralateral"> Aqui entrará a barra lateral</div> <div class="quadroprincipal"> <h1>Titulo da página</h1> Conteúdo da página</div> <div class="rodape"> Criado por blablabla</div> </div>
No próximo post irei adicionar “conteúdo” no html, e fazer algumas alterações pequenas no CSS, como por exemplo a lista do menu, com as barrinhas em gradiente, o newsletter, as imagens da galeria de imagens e etc.
Olá, sou um estudante de Publicidade e Propaganda da FACS, atualmente estou no sexto semestre. Tenho interesse por todos os tipos de artes gráficas. Gosto de desenhar, fazer vídeos, fotografar, editar imagens...
Nesse espaço você vai encontrar os meus trabalhos, alguns textos (Também gosto de escrever de vez em quando ;D) e outras informações a meu respeito. Espero que goste e encontre o que procura :) 










