EXERCÍCIO 1 Indicar arquivo CSS externo. Abra o Notepad (bloco de notas) ou NotePad++ e crie dois arquivos (um arquivo.html e um arquivo.css) com os conteúdos abaixo (salve-os na mesma pasta para não precisar indicar o local (url) do arquivo css): 1) Crie default.html (pode mudar o nome mas não a extensão.html): <html> <head> <title>meu documento</title> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <h1>minha primeira folha de estilos</h1> </body> </html> 2) Abra default.html em um navegador e veja o que acontece. 3) Crie style.css (você pode mudar o nome do arquivo - deverá alterar a declaração também - mas não pode alterar a extensão.css): body { background-color: #FF0000; /* cor de fundo da pagina(body) #FF0000 */ 4) Abra default.htm no seu navegador e veja o que acontece. Propriedades CSS para Cores e Fundos Propriedades: color background-color background-image background-repeat background-attachment background-position background ATENÇÃO! Faça os exercícios e os exemplos também. Sempre LENDO todo o texto para entender! Vá adicionando código aos arquivos do Exercício 1 (html e css). color - define a cor do primeiro plano de um elemento. Exemplo: desejamos que todos os cabeçalhos de primeiro nível <h1> de um documento sejam na cor vermelha (o código a seguir define todos os <h1> com a cor vermelha). h1 { color: #ff0000; As cores podem ser definidas pelo seu valor hexadecimal ou com uso do nome da cor ("red"). background-color - define a cor do fundo de um elemento. Exemplo: aplicar diferentes cores de fundo para os elementos <body> e <h1>. body { background-color: #FFCC66; h1 { color: #990000; background-color: #FC9804; Pag. 1
EXERCÍCO 2 Crie uma página HTML contendo as tags <body>, <h1> (pode ser o arquivo default.html do exercício 1) e com o link para uma folha de estilos (pode ser a do exercício 1) incluindo nela as formatações do exemplo acima. Mude as cores (pesquise tabela de cores html na net) e veja o efeito. background-image - usada para definir uma imagem de fundo. Faça o download/salve da imagem mostrada abaixo (star.gif) e use-a nos exemplos e exercícios ou use outra imagem ao seu gosto. Link para download está abaixo deste documento no AVA. Para inserir uma imagem de fundo na página, aplicar a propriedade background-image ao elemento <body> e especificar o caminho para onde está gravada a imagem. Exemplo: body { h1 { background-color: #FFCC66; background-image: url("star.gif"); color: #990000; background-color: #FC9804; Caminho não especificado porque a figura está na mesma pasta da folha de estilos. Pode ser um local da internet também. Ex.: ( http://www.xxxx/xxx.gif ) background-repeat no exemplo anterior, a imagem repetiu tanto na vertical como na horizontal cobrindo toda a tela. A propriedade background-repeat controla o comportamento de repetição da imagem de fundo. A tabela abaixo mostra os quatro diferentes valores para background-repeat: Valor Descrição Background-repeat: repeat-x A imagem se repete na horizontal background-repeat: repeat-y A imagem se repete na vertical background-repeat: repeat background-repeat: no-repeat A imagem não se repete A imagem se repete na tanto na horizontal como na vertical Exemplo: o código mostrado a seguir é para que a imagem não se repita na tela: body { h1 { background-color: #FFCC66; background-image: url("star.gif"); background-repeat: no-repeat; color: #990000; background-color: #FC9804; Pag. 2
EXERCÍCO 3 Faça testes usando as variações da propriedade background-repeat apresentada na tabela acima (use os mesmos arquivos HTML e CSS do exercício 2). background-attachment - define se a imagem será fixa ou se irá rolar. Uma imagem de fundo fixa permanece no mesmo lugar e não rola com a tela ao contrário da imagem que não é fixa e rola acompanhando o conteúdo da tela. Valores para background-attachment: Value Description Background-attachment: scroll A imagem rola com a página Background-attachment: fixed A imagem é fixa Exemplo: o código abaixo fixa a imagem na tela. body { h1 { background-color: #FFCC66; background-image: url("star.gif"); background-repeat: no-repeat; background-attachment: fixed; color: #990000; background-color: #FC9804; Para testar use o arquivo HTML abaixo: <html> <head> <title>meu documento</title> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <h1>minha primeira folha de estilos</h1> </body> </html> EXERCÍCO 4 No mesmo arquivo, teste a propriedade Background-attachment: scroll. Pag. 3
background-position - Por padrão, uma imagem de fundo é posicionada no canto superior esquerdo da tela. A propriedade background-position permite alterar este posicionamento padrão e colocar a imagem em qualquer lugar na tela. Existem várias maneiras de definir o posicionamento da imagem na tela, mas todas se utilizam de um sistema de coordenadas. Por exemplo, os valores '100px 200px' posiciona a imagem a 100px (pixels) do topo e a 200px do lado esquerdo da janela do navegador. As coordenadas também podem ser expressas em percentagem da largura da janela. Também pode-se usar as palavras top, bottom, center, left e right. A figura a seguir ilustra alguns exemplos: Na tabela a seguir são mostrados alguns exemplos. Value Description background-position: 2cm 2cm A imagem é posicionada a 2 cm da esquerda e 2 cm para baixo na página A imagem é centrada na horizontal e a um quarto (25%) para background-position: 50% 25% baixo na página background-position: top right A imagem é posicionada no canto superior direito da página Exemplo: imagem sendo posicionada no canto inferior direito da página: body { h1 { background-color: #FFCC66; background-image: url("star.gif"); background-repeat: no-repeat; background-attachment: fixed; background-position: right bottom; color: #990000; background-color: #FC9804; Pag. 4
EXERCÍCO 5 Teste os exemplos apresentados na tabela acima. background A propriedade background (sem nenhum complemento) é uma abreviação para todas as propriedades listadas anteriormente. Exemplo, observe as cinco linhas a seguir: background-color: #FFCC66; background-image: url("star.gif"); background-repeat: no-repeat; background-attachment: fixed; background-position: right bottom; Usando background consegue-se o mesmo resultado: background: #FFCC66 url("star.gif") no-repeat fixed right bottom; Obs.: A declaração abreviada deve seguir a seguinte ordem: [background-color] [background-image] [background-repeat] [background-attachment] [background-position] Se uma das propriedades não for declarada ela assume automaticamente o seu valor default. EXERCÍCO 6 Altere o arquivo.css do exercício anterior (ou do exemplo anterior) para funcionar usando abreviação. Pag. 5
Fontes Propriedades CSS para fontes: font-family font-style font-variant font-weight font-size font Família de fontes [font-family] A propriedade font-family é usada para definir uma lista de fontes e sua prioridade para apresentação de um elemento (texto) em uma página. Se a primeira fonte da lista não estiver instalada na máquina do usuário, deverá ser usada a segunda e assim por diante até ser encontrada uma fonte instalada. Existem dois tipos de nomes para definir as fontes: nomes para famílias de fontes e nomes para famílias genéricas: nome para famílias de fontes: Exemplos para este tipo (normalmente conhecidas como "font") são "Arial", "Times New Roman", "Tahoma". nome para famílias genéricas: Famílias genéricas são fontes que pertencem a um grupo com aparência uniforme. Um exemplo são as fontes sans-serif que englobam a coleção de fontes que "não têm pé". Exemplos: Pag. 6
Ao listar fontes para seu website, comece com aquela preferida, seguindo-se algumas alternativas para ela. Encerre a listagem das fontes com uma fonte genérica (em último caso a página será renderizada com uma fonte qualquer da família especificada, caso todas as demais fontes específicas indicadas estiverem indisponíveis na máquina do usuário). Exemplo de listagem de fontes: h1 {font-family: arial, verdana, sans-serif; h2 {font-family: "Times New Roman", serif; Cabeçalhos <h1> serão renderizados com fonte "Arial". Se o usuário não tiver a font Arial instalada, será usada a fonte "Verdana". Se ambas estiverem indisponíveis na máquina do usuário será usada uma fonte da família sans-serif. Notar que para especificar a fonte "Times New Roman" foram usadas aspas. Isto é necessário para fontes com nomes compostos e que contenham espaços entre os nomes. Estilo da fonte [font-style] A propriedade font-style define a escolha da fonte em normal, italic ou oblique. No exemplo a seguir todos os cabeçalhos <h2> serão em itálico. h1 {font-family: arial, verdana, sans-serif; h2 {font-family: "Times New Roman", serif; font-style: italic; Fonte variante [font-variant] A propriedade font-variant é usada para escolher entre variante normal ou small-caps. Uma fonte small-caps é aquela que usa (converte) para letras maiúsculas de tamanhos reduzidos. Entenda observando os exemplos a seguir: h1 {font-variant: small-caps; haverá conversão h2 {font-variant: normal; não haverá conversão para maiúscula peq. (apresentará conforme o texto: M grande ou m) Obs.: Se a propriedade font-variant for definida para small-caps e não estiver disponível na máquina do usuário, será usada fonte em maiúscula comum. Pag. 7
Peso da fonte [font-weight] A propriedade font-weight define o negrito (bold) para apresentação da fonte. Uma fonte pode ser normal ou bold. Também é possível declarar valores entre 100-900 (em intervalos de 100 em 100) para definir o peso do negrito da fonte. p {font-family: arial, verdana, sans-serif; h2 {font-family: arial, verdana, sans-serif; font-weight: bold; Na prática, de 100 a 500 resulta em normal e de 600 a 900 em bold. ou font-weight: 600; ou font-weight: 700; etc. Tamanho da fonte [font-size] O tamanho da fonte é definido pela propriedade font-size. Existem muitas unidades que podem ser usadas para definir o tamanho da fonte e também outras propriedades CSS que controlam dimensões em geral. As unidades de medida CSS estão divididas em dois grandes grupos: absolutas e relativas. Unidades de medida absolutas (só devem ser usadas quando se conhece com detalhes as características físicas e configurações da mídia à qual o documento se destina): in (polegada), cm (centímetros), mm (milímetro), pt (ponto, 1/72 da polegada), pc (pica, 12pt). Unidades de medida relativas são aquelas que tomam como base um valor de referência anteriormente definido: em (1em é igual ao tamanho de fonte definido atualmente), px (pixel, é uma medida calculada em relação à resolução do dispositivo em que o documento é apresentado, na maioria dos casos, a tela de um monitor. O uso do pixel é útil na criação de layouts com dimensões fixas). Exemplo de uso da unidade de medida em: HTML: <p>um paragrafo com uma <b>palavra em negrito</b> e mais texto</p> CSS: p {font-size: 20px; b {font-size: 0.8em; O tamanho da fonte para o texto palavra em negrito é de 16px, pois o elemento p (parágrafo) é pai do elemento negrito (b), assim, o tamanho da fonte em unidade em para ele será 20px x 0.8 = 16px. Pag. 8
Porcentagens Porcentagens são calculas em relação a um valor preexistente, em geral uma unidade de medida. O valor de referência para o cálculo da porcentagem pode ser uma propriedade do próprio elemento ou o valor de uma propriedade do seu elemento ancestral. Exemplo de uso da unidade de medida porcentagem: HTML: <h2>texto em h2 <b> negrito metade de h2 </b> mais texto h2</h2> <p>texto em p <b>negrito metade de p</b> mais texto em p </p> CSS: p {font-size: 30px; h2 {font-size: 20px; b {font-size: 50%; Resultado: Para os tamanhos de fonte também é possível definir valores absolutos seguindo a lista: xx-small, x-small, small, medium, large, x-large, xx-large. Para os tamanhos de fontes também é possível usar as unidades relativas: smaller (menor que) e larger (maior que). Exemplo: HTML: CSS: <h2>texto em h2 <span> texto com outro tamanho </span> mais texto h2</h2> <p>texto em p <span> texto com outro tamanho </span> mais texto em p </p> p {font-size: medium; h2 {font-size: large; span {font-size: larger; Pag. 9
Propriedade Font [font] Usar font é uma abreviação que permite definir várias propriedades em uma só. Exemplo: Veja a seguir quatro linhas de código usadas para definir propriedades de fonte para um parágrafo <p>: p { font-style: italic; font-weight: bold; font-size: 30px; font-family: arial, sans-serif; Usando a abreviação do código: p { font: italic bold 30px arial, sans-serif; A ordem dos valores para font é a mostrada a seguir : font-style font-variant font-weight font-size font-family A grande vantagem de especificar fontes usando CSS é que será possível alterar em alguns minutos as fontes de um website inteiro. CSS economiza tempo, facilita e organiza o trabalho. Pag. 10
Textos Propriedades CSS para adicionar layout aos textos: text-indent text-align text-decoration letter-spacing / word-spacing text-transform Endentação de texto [text-indent] A propriedade text-indent permite aplicar um recuo à primeira linha de um parágrafo. No exemplo abaixo um recuo de 30px (deslocamento para direita) é aplicado a todos os textos marcados com <p>: p { text-indent: 30px; Obs.: valores negativos provocam deslocamento do texto para esquerda. Alinhamento de texto [text-align] Textos podem ser alinhados à esquerda (left), à direita (right), centrados (centred) ou justificados (justify) que faz com o texto contido em uma linha se estenda tocando as margens esquerda e direita. No exemplo a seguir o texto contido nas células de dados <td> são centrados. Os textos em parágrafos <p> são alinhados à esquerda: td { p { text-align: center; text-align: left; Decoração de textos [text-decoration] A propriedade text-decoration possibilita adicionar "efeitos" em textos. As possibilidades são: text-decoration: none; text-decoration: underline; text-decoration: overline; text-decoration: line-through; text-decoration: blink; sem decoração sublinhado superlinhado linha cortando o texto efeito piscante Obs.: claro que é necessário indicar a tag onde o efeito será aplicado. Pag. 11
Espaço entre letras [letter-spacing] O espaçamento entre os caracteres de um texto é controlado pela propriedade letter-spacing. O exemplo abaixo configura um espaço de 3px entre as letras do texto de um parágrafo <p> e de 6px entre as letras do texto de um cabeçalho <h1>: p { h1 { letter-spacing: 3px; letter-spacing: 6px; Espaço entre palavras [word-spacing] O espaçamento entre as palavras de um texto é controlado pela propriedade word-spacing. O exemplo abaixo configura um espaço de 5px entre as palavras do texto de um parágrafo <p> e de 10px entre as palavras do texto de um cabeçalho <h1>: p { h1 { word-spacing: 6px; word-spacing: 10px; Transformação de textos [text-transform] Esta propriedade (text-transform) controla a capitalização (tornar maiúscula) do texto. Assim, independentemente de como o texto foi escrito na página HTML, é possível escolher entre capitalize, uppercase ou lowercase: capitalize Capitaliza a primeira letra de cada palavra. Por exemplo: "jose silva" transforma-se para "Jose Silva". uppercase Converte todas as letras para maiúscula. Por exemplo: "jose silva" transforma-se para "JOSE SILVA". lowercase Converte todas as letras para minúscula. Por exemplo: "JOSE SILVA" transforma-se para "jose silva". none (default) Sem transformações - o texto é apresentado como foi escrito no código HTML. Exemplo: todos os caracteres (texto) em <h1> serão apresentados em maiúsculo, mesmo que no código HTML esteja em minúsculo (algum caractere ou todos eles). h1 { text-transform: uppercase; Pag. 12
Exercícios simples iniciais Para cada exercício (itens A, B, C e D) faça: 1-Copie o código apresentado e gere o arquivo.html correspondente. 2-Abra-o no navegador e veja o efeito. 3-A seguir, crie o respectivo arquivo.css (conforme o que se pede no enunciado). 4-Associe o arquivo.css ao arquivo.html. 5-Abra novamente no navegador o arquivo.html e veja se a formatação (usando CSS) está correta. A) Aplicar um efeito de recuo de 40px à primeira linha de cada parágrafo. Aplicar um efeito de espaçamento entre letras de 5px nos parágrafos e 8px no título. <html> <head> <title> Exercício A</title> </head> <body> <h1>indentação e Espaçamento de textos </h1> <p>interdum volgus rectum videt, est ubi peccat. Si veteres ita miratur laudatque poetas, ut nihil anteferat, nihil illis comparet, errat. Si quaedam nimis antique, si peraque dure dicere credit eos, ignave multa fatetur, et sapit et mecum facit et Iova iudicat aequo.non equidem insector delendave carmina Livi esse reor, memini quae plagosum mihi parvo Orbilium dictare; sed emendata videri pulchraque et exactis minimum distantia miror. Inter quae verbum emicuit si forte decorum, et si versus paulo concinnior unus et alter, venditque poema.</p> <p>indignor quicquam reprehendi, non quia crasse compositum illepedeve putetur, sed quia nuper, nec veniam antiquis, sed honorem et praemia posci. Recte necne crocum floresque perambulet Attae fabula si dubitem, clament periisse pudorem cuncti paene patres, ea cum reprehendere coner, quae gravis Aesopus, quae doctus Roscius egit; vel quia nil rectum, nisi quod placuit sibi, ducunt, vel quia turpe putant parere minoribus, et quae imberbes senes.</p> </body> </html> Pag. 13
B) Aplicar no texto contido na célula de cabeçalho da tabela um alinhamento no centro. No texto contido nas células de dados da tabela aplicar efeito de alinhamento à direita. Os textos em parágrafos comuns devem ficar justificados <html> <head> <title> Exercício B</title> </head> <body> <h1>alinhamento de textos</h1> <h2>texto alinhado em tabelas</h2> <table border="1" width="100%"> <tr> <th>cabeçalho 1</th> <th>cabeçalho 2</th> </tr> <tr> <td>célula 1</td> <td>célula 2</td> </tr> <tr> <td>célula 3</td> <td>célula 4</td> </tr> </table> <h2>texto em parágrafos </h2> <p>interdum volgus rectum videt, est ubi peccat. Si veteres ita miratur laudatque poetas, ut nihil anteferat, nihil illis comparet, errat. Si quaedam nimis antique, si peraque dure dicere credit eos, ignave multa fatetur, et sapit et mecum facit et Iova iudicat aequo.non equidem insector delendave carmina Livi esse reor, memini quae plagosum mihi parvo Orbilium dictare; sed emendata videri pulchraque et exactis minimum distantia miror. Inter quae verbum emicuit si forte decorum, et si versus paulo concinnior unus et alter, venditque poema.</p> <p>indignor quicquam reprehendi, non quia crasse compositum illepedeve putetur, sed quia nuper, nec veniam antiquis, sed honorem et praemia posci. Recte necne crocum floresque perambulet Attae fabula si dubitem, clament periisse pudorem cuncti paene patres, ea cum reprehendere coner, quae gravis Aesopus, quae doctus Roscius egit; vel quia nil rectum, nisi quod placuit sibi, ducunt, vel quia turpe putant parere minoribus, et quae imberbes senes.</p> </body> </html> Pag. 14
C) Aplicar o efeito conforme o próprio texto indica no código html abaixo. <html> <head> <title> Exercício C</title> </head> <body> <h1>este texto é sublinhado </h1> <h2>este texto é com linha acima </h2> <h3>este texto é cortado por uma linha </h3> </body> </html> D) Usando a lista de nomes abaixo, capitalizar os nomes e por em maiúsculo todo o texto do cabeçalho. <html> <head> <title> Exercício D</title> </head> <body> <h1>este cabeçalho é com letras maiúsculas </h1> <ul> <li>jose silva</li> <li>maria lucia</li> <li>jorge assis</li> <li>marta gomes</li> <li>carlos cesar</li> </ul> <p>notar, que todas as letras iniciais dos nomes foram capitalizadas (tornadas maiúsculas). </p> </body> </html> Pag. 15