Sejam bem vindos, esta é a oitava aula de Programação Web em Java, para saber mais sobre o curso, começe em Curso de Programação Web em Java - CPWJ.
Na última aula estudamos como lidar com blocos e trechos xHtml e com bordas, margens e preenchimento. Hoje iremos ver o uso de background, ou pano de fundo e como usar tudo isso para diagramação de sua página.
Os parâmetros background permitem definir como será o comportamento do fundo de um bloco. O fundo inclui a área de conteúdo e o preenchimento (padding). É possível definir uma cor para o fundo, ou preencher o fundo com uma figura. Esta figura pode ser repetida por toda a área ou de outras maneiras. Vamos definir um bloco para realizar os testes:
…
<body>
<p>este é o bloco de teste</p>
</body>
</html>
E em style definir algumas características:
<style type=”text/css”>
p {
padding: 40px;
margin: 50px;
heigth: 200px;
width: 300px; }
</style>
Pronto assim teremos uma caixa para aplicar os padrões de fundo. Vamos testar primeiro a cor de fundo:
p{
background-color: #ccc; /* cor de fundo cinza */
}
Nada mais simples. Agora vamos usar uma figura de fundo. Arrume uma imagem *.gif ou *.jpg e copie para o mesmo diretório do arquivo Css. É possível aplicar um padrão repetido por todo o bloco usando:
p{
background-image: url(“nome do arquivo.jpg”);
}
Se quizer controlar como será a repetição
background-repeat: no-repeat; /* a imagem somente uma vez */
background-repeat: repeat-y; /* a imagem repete na vertical */
background-repeat: repeat-x; /* a imagem repete na horizontal */
background-repeat: repeat; /* a imagem repete na vertical e horizontal (padrão) */
Um efeito interessante é manter o fundo fixo quando rolamos a página:
background-attachment: fixed;
background-attachment: scroll; /* rola de forma padrão */
Quando não repetimos a imagem por todo o fundo, podemos posicionar o local onde a imagem irá se apresentar:
background-position: x-pos y-pos ; x-% y-% ; top left ; top center ; top right ; center left ;
center center ; center right ; bottom left ; bottom center ; bottom right ;
Para mostrar uma imagem de fundo exatamente no meio do bloco de modo:
p{
background-image: url(“nomearquivo.gif”);
background-repeat: no-repeat;
background-position: center center;
}
Como os outros parâmetros podemos escrever um grupo de opções de uma vêz só:
p{
background: url(“nomearquivo.gif”) no-repeat center center fixed;
}
As opções podem vir em qualquer ordem e pode-se omitir qualquer uma delas.
Os blocos ‘div’ se comportam exatamente como os parágrafos ‘p’. Quando colocamos um parágrafo na página e definimos uma largura menor que a largura da página é evidente que sobrará espaço a direita do bloco. Veja a figura abaixo:

Digamos que o bloco em azul claro é o fundo do navegador, e os blocos amarelo e verde são dois parágrafos. Usamos Css para definir o parágrafo amarelo e o bloco verde com largura 100px:
#paragrafoamarelo, #paragrafoverde { width:100px; }
Mesmo existindo espaço para os dois parágrafos ficarem lado a lado, como são blocos eles terminam com quebra de linha e o bloco verde continua abaixo.
O parâmetro float permite que um parágrafo simplesmente não quebre a linha no final. O comportamento é de flutuação. O bloco pode ser colocado a esquerda e o restante vai contornar conforme a figura:

Aqui o bloco amarelo possui os seguintes parâmetros:
#paragrafoamarelo{
width: 100px;
float: left; /* flutuando a esquerda */
}
e o verde:
#paragrafoverde{
width:100%; /* parágrafo verde ocupando toda a largura da página */
}
Para colocar os dois parágrafos um ao lado do outro:
#paragrafoamarelo{
width: 100px;
float: left; /* flutuando a esquerda */
}
e o verde:
#paragrafoverde{
width:100px;
float:left; /* flutuando a esquerda */
}
Vamos falar um pouco sobre diagramação com Css. Como exemplo vamos tomar o código xHtml proposto na última aula com algumas modificações:
…
<body>
<div id=”tudo”><div id=”titulopagina”>
<h1>Título da Página</h1>
<h2>Descrição da página parte do título</h2>
<p>Autor: Luís Eduardo. Também parte do título</p>
</div> <!– fechando titulopagina –><div id=”menu”>
<h2>Menu de opções:</h2>
<ul >
<li class=”impar”>Opção 1</li>
<li>Opção 2</li>
<li class=”impar”>Opção 3</li>
<li>Opção 4</li>
<li class=”impar”>Opção 5</li>
</ul>
</div> <!– fechando menu –><div id=”conteudo”>
<h2>Conteúdo principal da página</h2>
…
</div> <!– fechando conteúdo –><div id=”rodape”>
<h2>Feito por Luís Eduardo</h2>
…
</div> <!– fechando rodapé –></div> <!– fechando tudo –>
</body>
E vamos planejar um modelo de diagramação desejado:

Como já expliquei várias vezes, o conteúdo do curso é uma apresentação sobre os assuntos. Material detalhado está na web, e já indiquei vários lugares. Vamos fazer esta diagramação acima explicando cada detalhe e depois é por conta de vocês.
Vamos considerar algumas escolhas:
Vamos lá Css com as medidas:
#tudo {
width : 758px;
background-color: #ffcccc;
}#titulopagina {
height : 200px;
background-color: #00ff00;
}#menu {
width : 250px;
margin: 2px;
background-color:yellow;
}#conteudo {
width : 498px; /* 758px- 250px -10px (margens dos blocos) */
margin: 2px;
background-color: orange;
}#rodape {
height : 40px;
background-color: red;
}
Isso fará com que todos os blocos estejam na medida correta, porém um abaixo do outro. Para acertar os blocos no lugar iremos acrescentar o float no conteúdo e no menu:
#menu { …
float:left;
…
} e
#conteudo {…
float:right;
…
}
Isso colocará os blocos menu e conteúdo lado a lado. Porém o comportamento do rodapé ainda será errado. Teste no Firefox e no Iexplorer e veja por si mesmo. Para corrigir isso utilize o parâmetro Clear, que proíbe qualquer conteúdo ao lado de um bloco:
#rodape {…
clear: both; /*proíbe conteúdo a direita e a esquerda do rodapé, fazendo ele ir para baixo */
…
}
Ainda temos alguns probleminhas como ajustes de padding dos blocos e as cores de fundo que não se espandem para baixo no menu e conteúdo, eliminar os pontinhos no menu, centralizar o layout, etc.
body {
margin : 0px 0px;
text-align:center;
}#tudo {
text-align : left;
…
}#menu *, #conteudo * {
padding: 0 6px;
}#menu ul li {
list-style-type:none;
}
Acabou a primeira parte do curso gente, cansei de falar de html, css. Agora fiquem com os especialistas desta área: o Diego Eis do http://www.tableless.com.br e Maurício Samy do http://www.maujor.com. E claro, os cursos web mais completos (infelizmente em inglês) em http://w3schools.com/.
Na próxima aula iremos falar de Java. Uma aula bem teórica, mas é importante saber com o que estaremos lidando.
Estude alguns outros modelos de layout em:
Dúvidas? vá para o fórum.
Sejam bem vindos, esta é a sétima aula de Programação Web em Java, para saber mais sobre o curso, começe em Curso de Programação Web em Java - CPWJ.
Na última aula estudamos as muitas possibilidades de formatação com textos e fontes, e nesta aula iremos aprender sobre blocos e trechos em xHtml e como usá-los para implementar diagramação Css.
Quanto à diagramação, existem dois tipos de tags disponíveis: tags de blocos e tags de trechos. (block e inline)
Alguns exemplos de tags de bloco: p, ul, ol, li, table, tr, td, tr, th, etc.
Alguns tags inline: i, strong, em, img, etc.
Cada bloco definido por um par de tags (<p>… </p>, ou <img… />) tem um conjunto de opções de aparência de bloco customisáveis com Css: marging, padding, height, width, border.
Vejamos a figura abaixo:

Neste bloco as medidas referem-se a :
Além destas medidas, temos ainda a altura (height) e a largura (width), medidas dentro da área com texto na figura. Isso é, a área em azul menos o espaço sem texto (padding). Portanto a largura total visível do bloco é width+2*padding+2*border. O Internet Explorer 6 quando o doctype é Html transitional apresenta a largura de forma incorreta, use sempre Html Strict para evitar problemas. As versões mais antigas devem ser substituídas!
Todas estas opções são configuráveis para cada um dos 4 lados do bloco individualmente: top, left, bottom, right. Assim:
p{ margin-top: 15px; margin-right: 10px; margin-bottom: 20px; margin-left: 12px;
padding-top: 10px; padding-right: 12px; padding-…
border-width-top: 10px; border-width-left: 12px;
… etc
}
Pode-se também configurar em conjunto:
p{
margin: 15px 10px 20px 12px; // define na següência: topo, direita, base, esquerda, no sentido do relógio.
padding: 10px 12px; // define topo e base como 10px e laterais como 12px
border-width: 20px; // toda borda com 20px de largura
}
Para as bordas temos ainda estilo e cor:
p {
border-width: 10px 12px; //borda 10px de largura no topo e base e 12px nas laterais
border-style: solid; // borda cheia para todos os lados.
border-color: red;
}
As opções para estilo de borda são:
Recomento testar todas as opções para que você veja o efeito de cada uma delas.
Já para a largura da borda (width) além das medidas em pixels (px) ou caracteres (em), temos as opções abaixo:
As opções das bordas podem ser definidas em conjunto:
seletor { border: cor estilo largura;}
h1{
border: black solid thick;
}
Com estas opções, podemos controlar a aparência de qualquer bloco de xhtml. No entanto em algumas situações queremos definir blocos lógicos formados por vários parágrafos e outros objetos.
Para isso existe o tag ‘div’. Com o comportamento padrão exatamente igual a um parágrafo, gerando uma quebra de linha após o ‘/div’.
O principal uso é delimitar os pedaços da página definindo blocos lógicos semânticos:
…
<body>
<div id=”titulopagina”>
<h1>Título da Página</h1>
<h2>Descrição da página parte do título</h2>
<p>Autor: Luís Eduardo. Também parte do título</p>
</div>
<div id=”menu”>
<h2>Menu de opções:</h2>
<ul >
<li class=”impar”>Opção 1</li>
<li>Opção 2</li>
<li class=”impar”>Opção 3</li>
<li>Opção 4</li>
<li class=”impar”>Opção 5</li>
</ul>
</div>
<div id=”conteudo”>
<h2>Conteúdo principal da página</h2>
…
</div>
</body>
É praticamente obrigatório o uso da propriedade ‘id’ no tag ‘div’, pois só assim é possível modificar alguma aparência em CSS.
#menu {
margin: 10px, 20px;
padding: 5px, 10px;
border: dotted 3px #FCC;
}
Para mudar o comportamento de um tag somente para um dos blocos, basta combinar o id do bloco com o tag a ser modificado:
#menu h2 { font-size: 20px;
color: red; } // define cor vermelha e tamanho 20px para título 2 no bloco menu
#titulopagina h1 { color: blue } //define cor azul para título 1 no bloco titulo pagina
#titulopagina h2 { font-size: 20px;
color: red; } // define cor vermelha e tamanho 20px para título 2 no bloco menu, desta forma o h2 no bloco ‘menu’ será diferente do h2 no bloco ‘titulopagina’.
E aqui algo mais complicado, usando a mesma lógica:
#menu li { color: #000000; } //define cor preto para ítem de lista no menu.
#menu li.impar { color: #cccccc; } //define cor cinza para ítem de lista de classe impar no menu.
Assim como usamos ‘div’ para definir blocos, usamos ’spam’ para definir trechos internos aos bloco.
Este tag é usado principalmente para definir um destaque diferente para um trecho de código interno a um parágrafo.
<p>Este é um parágrafo como outro qualquer. O custo de produção foi <span class=”dinheiro”>R$ 100,00</span>. Embora seja um bom valor, melhor ainda foi o lucro de <span class=”dinheiro”>R$95,00</span>.</p>
Definido assim podemos escolher uma aparência para o “dinheiro”:
.dinheiro {
font-weight: bolder;
color: #eee;
}
Normalmente usamos ’span’ com o parâmetro ‘class’ e ‘div’ com o parâmetro ‘id’.
A aula está ficando muito longa, vou deixar a diagramação para semana que vem.
Estude o Box Model no w3c: http://www.w3.org/TR/REC-CSS2/box.html
Estude todo o conteúdo de Fundamentos Css em http://www.maujor.com
Dúvidas? vá para o fórum.
Sejam bem vindos, esta é a sexta aula de Programação Web em Java, para saber mais sobre o curso, começe em Curso de Programação Web em Java - CPWJ
Na última aula estudamos o que é e como utilizar Css de acordo com o Web Standard. Hoje vamos ver muitas possibilidades de formatação com textos e fontes.
Vamos colocar nosso texto sob controle? Similar à formatação de Parágrafo do Word, vamos começar vendo uma lista de parâmetros que modificam a aparência do texto:
p {
text-indent: 20px; /* 20pixels */
}
h1,h2,h3,h4 {
word-spacing: 1.4em; /* 1,4 vezes a largura de uma letra */
letter-spacing: 0.3em; /* metade da largura de uma letra */
text-align: center;
}
body {
font-family: courier, serif;
color: black;
}
p {
font-family: arial, “lucida console”, sans-serif;
font-weight: bold;
font-style: italic;
font-size: 12px;
}
h1{
font: italic 900 22px arial,”lucida console”,sans-serif;
}
Até agora nós indicamos que é possível modificar o comportamento de qualquer tag padrão xhtml.
Indicamos exemplos de como modificar todo o conteúdo da página (usando body), os parágrafos (usando p) e os títulos (usando h1, h2, etc).
Porém existem situações que desejamos modificar um único parágrafo, um título apenas da página, ou um grupo de parágrafos. Para executar esta tarefa existem dois parâmetros que podemos incluir nos tags xHtml: id e class.
<table id=”Receitas”>
…
</table>
<table id=”Despesas”>
…
</table>
<p>Parágrafo comum</p>
<p class=”pergunta”>Este é um parágrafo com uma pergunta</p>
<p class=”resposta”>Este é um parágrafo com uma resposta</p>
<p class=”pergunta”>Este é um parágrafo com outra pergunta</p>
<p class=”resposta”>Este é um parágrafo com outra resposta</p>
Uma vez definido a “class” ou “id” é posível aplicar um Css diretamente a eles. Para class use o caracter “.”:
.pergunta {
color: #ccc;
word-spacing: 1.2em;
}
.resposta {
background-color:#ccc;
color: #fff;
}
E para id usamos o caracter “#”:
#receitas {
color:#fff;
background-color:#000;
}
#despesas {
color:#OOO;
background-color:#FFF;
}
Eventualmente o mesmo tag pode ser identificado por um id e fazer parte de um class:
<p id=”principal” class=”resposta”>Esta é a “principal” resposta.</p>
Neste caso os Css de #principal e .resposta serão aplicados, com prioridade para #principal.
Dúvidas? vá para o fórum.
Esta é a primeira avaliação do curso CPWJ: Curso de Programação Web em Java , para saber mais comece em Curso de Programação Web em Java - CPWJ.
Conforme artigo “Preparando a primeira Avaliação CPWJ“, estou publicando hoje a primeira prova. A previsão é em torno de 5 provas no total. No artigo acima eu explico as motivações da prova, e quem deverá fazê-la.
Copie o texto da prova, preencha as respostas e os dados, salve em um arquivo TXT e envie anexado para o endereço “prova arroba tecnoclasta ponto com”. Você deverá receber um email automático confirmando o recebimento da prova. Não use este email para se comunicar comigo, o fórum foi criado com esta utilidade.
Somente as provas com todos os dados preenchidos serão corrigidas e estarão armazenadas para o cálculo da nota final e o envio do certificado.
Não utilize o validador do W3C para corrigir a prova, antes de me enviar. A honestidade é consigo mesmo, não comigo. Eu não vou ser enganado se você não estiver aprendendo, afinal o certificado é apenas algo informal, o que vale é o seu conhecimento.
Para o aluno com o melhor resultado estou preparando uma surpresa no final do curso.
1. Procure no código abaixo 4 erros de padronização xHtml Strict. Descreva o motivo de cada um dos problemas:
<!DOCTYPE html
PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/dtd/xhtml1-strict.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”pt-br” lang=”pt-br”>
<head>
<title>Site do Prof. Luis Eduardo</title>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
<meta name=”author” content=”Prof. Luis Eduardo” />
<meta name=”keywords” content=”site,xhtml,pagina” />
<meta name=”date” content=”2007-16-10T19:16:57+00:00″ />
<LINK REL=”stylesheet” TYPE=”text/css” MEDIA=”all” href=”estilo.css” />
</head>
<body>
<h1>Este é o título</h1>
<p>Oi Mundo! Esta é minha primeira página XHTML padronizada e funcional</p>
<a href=”http://www.tecnoclasta.com/”>leia Tecnoclasta</a>
<ul>
<li>item 1
<li>item 2
<li>item 3
<li>item 4
</ul><img src=”http://www.tecnoclasta.com/wp-content/uploads/2007/10/hubble.jpg” alt=”tecnoclasta” />
</body>
</html>
Solução:
a.b.
c.
d.
2. Utilizando o texto abaixo, contrua uma página xHtml Strict válida. Inclua no final do texto uma lista de links que você acha interessante e uma tabela de minicípios que você já visitou, com a data da visita e uma coluna indicando uma nota de satisfação com a visita. Incluir uma foto qualquer publicada na internet. (pode usar esta se quizer: “http://www.tecnoclasta.com/wp-content/uploads/2007/11/pouso.png”)
”
Preparando a primeira Avaliação CPWJSejam bem vindos, este artigo faz parte do Curso Programação Web em Java, para saber mais comece em Curso de Programação Web em Java - CPWJ
Conforme escrevi no anúncio do curso, pretendo distribuir um certificado informal, para os alunos que fizerem este curso que está em andamento. É claro que um certificado indica que o aluno teve rendimento mínimo de aprendizado. E para aferir aprendizado, ainda não inventaram nada melhor que uma avalição.
Portanto, estou marcando para a próxima Sexta-Feira, 9 de novembro de 2007 a primeira avaliação de nosso curso. O conteúdo a ser avaliado é xHtml.
A prova será publicada aqui mesmo e a solução dos exercícios serão recebidos por email a ser divulgado no momento da prova. Irei corrigir as provas uma-a-uma, mas conto com a paciência, pois não terei muito tempo disponível para isso. Minha meta de prazo de correção máximo de uma prova será um semana após o envio. É muito, mas não tenho idéia quantos alunos irão realizá-las. O gabarito, e a nota do aluno será a resposta que o aluno irá receber por email.
Não irei publicar o gabarito no site e não tirarei dúvidas sobre os exercícios da prova no fórum. Lembre-se que o curso é aberto, se está chegando agora por aqui, não tem problema, estude o conteúdo das aulas, faça a prova, envie o email e aguarde a correção.
Somente os alunos que obterem resultados acima de 7 receberão o certificado. Acho que uma prova com consulta e sem tempo definido para realização deveria ter nota de corte ainda maior.
Então façam uma revisão do conteúdo, tirem dúvidas no fórum e boa sorte.
“
Resposta:
<coloque aqui o código html da página proposta>
3. Procure no material de referência indicado 2 tags não apresentados no conteúdo do curso (xHtml Strict). Explique a utilização e dê um exemplo de uso:
a.
b.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
Nome completo:
Identificação no Fórum:
Formação:
Cidade/Estado:
Como ficou sabendo do Curso:
Sugestões e observações:
++++++++++++++++++++++++++++++++++++++++++++++++++++++
As provas podem ser enviadas a qualquer momento. Mesmo que você tenha conhecido o curso bem depois desta data, não se preocupe, o curso é aberto e pode ser realizado a qualquer momento.
Boa sorte.
Sejam bem vindos, este artigo faz parte do Curso Programação Web em Java, para saber mais comece em Curso de Programação Web em Java - CPWJ
Conforme escrevi no anúncio do curso, pretendo distribuir um certificado informal, para os alunos que fizerem este curso que está em andamento. É claro que um certificado indica que o aluno teve rendimento mínimo de aprendizado. E para aferir aprendizado, ainda não inventaram nada melhor que uma avalição.
Portanto, estou marcando para a próxima Sexta-Feira, 9 de novembro de 2007 a primeira avaliação de nosso curso. O conteúdo a ser avaliado é xHtml.
A prova será publicada aqui mesmo e a solução dos exercícios serão recebidos por email a ser divulgado no momento da prova. Irei corrigir as provas uma-a-uma, mas conto com a paciência, pois não terei muito tempo disponível para isso. Minha meta de prazo de correção máximo de uma prova será um semana após o envio. É muito, mas não tenho idéia quantos alunos irão realizá-las. O gabarito, e a nota do aluno será a resposta que o aluno irá receber por email.
Não irei publicar o gabarito no site e não tirarei dúvidas sobre os exercícios da prova no fórum. Lembre-se que o curso é aberto, se está chegando agora por aqui, não tem problema, estude o conteúdo das aulas, faça a prova, envie o email e aguarde a correção.
Somente os alunos que obterem resultados acima de 7 receberão o certificado. Acho que uma prova com consulta e sem tempo definido para realização deveria ter nota de corte ainda maior.
Então façam uma revisão do conteúdo, tirem dúvidas no fórum e boa sorte.
Arquivos
| Índice | Arquivo |
| Contato |