Baixe o app para aproveitar ainda mais
Prévia do material em texto
85 PROGRAMAÇÃO WEB RESPONSIVA Unidade II 5 INICIANDO COM O CSS3 5.1 Criando e organizando o projeto Imagine que tenha chegado o momento de você ser apresentado formalmente para alguém de quem já ouviu falar, mas que não tinha encontrado pessoalmente. Para que tudo dê certo nesse primeiro encontro, você combina o local e o horário de encontro, enfim, organiza a situação. Algo semelhante deve ocorrer na preparação do nosso ambiente de trabalho. Vamos preparar o ambiente criando um novo projeto e organizando as nossas pastas da forma mostrada na figura a seguir. Site Robo CSS imagens vídeos index.html Figura 157 – Fluxo de organização da pasta do projeto Observação Utilizaremos como base para o desenvolvimento das páginas HTML desta unidade os conhecimentos que adquirimos na unidade I. Dentro do arquivo index.html, inseriremos um código com a estrutura básica de uma página HTML, conforme mostrado na figura a seguir. 86 Unidade II Figura 158 – Página index.html com estrutura básica inserida Quando o objetivo é garantir uma formatação uniforme em todas as páginas de um site, o uso das folhas de estilo em cascata (Cascading Style Sheets) faz com que nosso trabalho seja simplificado. Essa folha de estilo é um mecanismo que adiciona estilos a elementos do HTML, como, por exemplo, cor de fundo, espaçamentos, fontes etc. Assim, o CSS oferece a possibilidade de irmos além das barreiras de estilo impostas pelo HTML puro. Criaremos um arquivo CSS para adicionar estilos nas páginas HTML do nosso site. Para isso, dentro de editor de texto, criaremos um arquivo CSS por meio do menu “File”, opção “New File”, conforme mostrado na figura a seguir. Figura 159 – Menu para criação de novo arquivo no Microsoft Visual Studio Code Logo após o novo arquivo ser aberto, vá ao menu “File” e selecione a opção “Save”. Figura 160 – Menu para salvar novo arquivo no Microsoft Visual Studio Code 87 PROGRAMAÇÃO WEB RESPONSIVA Na opção seguinte, navegue até a pasta em que criou o seu projeto. Na pasta do projeto, acesse a pasta CSS criada anteriormente. Na opção “Nome”, insira “styles” e, em “Tipo”, escolha CSS. Feito isso, clique na opção “Salvar”. Nosso arquivo de estilos CSS foi criado e, embora vazio, ele agora pode ser utilizado para definir diversas configurações de estilo em nossas páginas. Figura 161 – Opções para salvar arquivo no Microsoft Visual Studio Code Após salvar o arquivo, ele estará na pasta CSS dentro da pasta do projeto, conforme mostrado na figura a seguir. Figura 162 – Arquivo styles.css salvo na pasta CSS do projeto 5.2 Chamando o CSS3 Para que seja possível utilizar o CSS do arquivo que criamos na nossa página index.html, é necessário dizer para o HTML onde se encontra o arquivo de folhas de estilo. Logo, precisamos criar um novo link. Observação Existem links que nos levam a outros documentos dentro do próprio site, por exemplo, outras subpáginas e há aqueles que nos levam a fontes externas, ou seja, nos direcionam a outros sites. 88 Unidade II Assim, criaremos um link para importar nosso arquivo CSS, conforme mostrado na figura a seguir. Figura 163 – Link para o arquivo styles.css dentro da tag <head> da página index.html Note que criamos um link dentro do <head>, ou seja, ele é um elemento que não faz parte do corpo da página. Além disso, colocamos qual é a relação do link. No caso, como temos uma folha de estilos, trata-se de um stylesheet. 5.3 Sintaxe do CSS Com o que já vimos, podemos editar nosso arquivo CSS. Para isso, vamos entender como funciona a sintaxe do CSS com o auxílio da figura a seguir. Figura 164 – Sintaxe do CSS O seletor, no caso em estudo, pode ser uma tag ou uma classe. Trataremos a respeito posteriormente. As propriedades devem ser declaradas e, em seguida, o mesmo precisa ocorrer com os valores. Como no exemplo visto, que modifica a tag <h1> para a cor azul e o tamanho de 12 pixels, o código explicado anteriormente poderia ser codificado da maneira mostrada na figura a seguir. Figura 165 – Exemplo de CSS Esse código não faz parte do nosso projeto, é apenas uma amostra da estrutura do CSS. 5.4 Estilizando o <body> com as propriedades de background Nosso primeiro passo com o CSS será estilizar a tag <body> com várias propriedades de background. Vamos, primeiramente, alterar a cor do nosso background da página index. 89 PROGRAMAÇÃO WEB RESPONSIVA Figura 166 – Estilizando background do body no arquivo styles.css Note que mesmo sem nenhum código extra na nossa página HTML, o fundo da página ficou todo azul, como mostrado na figura a seguir. Figura 167 – Página index.html executada no navegador após alteração no styles.css Podemos definir a cor de várias formas, tanto pelo nome quanto pelo código RGB ou pelo código Hexadecimal. Na figura a seguir, temos um exemplo de alteração da cor feita com o uso do código RGB. Figura 168 – Alteração de cor com o uso do RGB no styles.css Vejamos, na figura a seguir, um exemplo de alteração da cor feita com o uso do código Hexadecimal. Figura 169 – Alteração de cor com o uso do Hexadecimal no styles.css 90 Unidade II Se estava divertido colocar cor no fundo de nossa página, agora ficará melhor ainda, pois inseriremos imagens com o elemento background-image. Inicialmente, acesse o site Pixabay, procure uma imagem de robô e faça o download dela, como já mostrado na unidade I. Em nosso projeto, utilizaremos a figura a seguir, mas você poderá usar aquela que mais lhe agradar. Figura 170 – Imagem de robôs baixada do site Pixabay Logo após fazer o download da imagem, salve-a na pasta “imagens” que foi criada dentro do projeto. Essa pasta irá armazenar todas as imagens que iremos utilizar. Figura 171 – Pasta “imagens” criada no projeto após receber a imagem baixada no site Pixabay Em nosso arquivo styles.css, iremos alterar o que se mostra na figura a seguir. Figura 172 – Alteração feita no arquivo styles.css para inserção de uma imagem como background 91 PROGRAMAÇÃO WEB RESPONSIVA Se atualizarmos a página index.html, ela apresentará o aspecto mostrado na figura a seguir. Figura 173 – Página index.html atualizada após a alteração do background-image no arquivo styles.css Observação A página em que está o arquivo .html que estamos editando encontra-se na pasta “Páginas”, enquanto a imagem encontra-se na pasta “imagens”. Ambas as pastas estão na raiz do projeto: portanto, o ../ faz com que voltemos à raiz do projeto e, assim, coloquemos o endereço da pasta de imagens. Você ainda deve estar se perguntando o motivo de voltarmos uma pasta. A razão é termos criado uma pasta chamada de CSS e colocado nosso arquivo CSS lá dentro. Então, nós precisamos chegar à pasta “imagens”, que é onde se encontra a imagem que baixamos. Obviamente, sem voltarmos um diretório, é impossível acessarmos a pasta que queremos. Isso pode ser melhor entendido se relembrarmos o fluxo de pastas, conforme mostrado na figura a seguir. Site Robo CSS imagens vídeos index.html Figura 174 – Navegação entre pastas do projeto 92 Unidade II Note que a imagem, por padrão, repete-se quando executamos a página index.html no navegador. Caso não seja essa a nossa intenção, podemos usar a propriedade background-repeat, conforme mostrado na figura a seguir. Figura 175 – Inserção do background-repeat no arquivo styles.css O resultado obtido será uma imagem única, no tamanho original do arquivo, como fundo do site, conforme mostrado na figura a seguir. Figura 176 – Página index.html atualizada após a alteração do background-repeat no arquivo styles.css Podemos trabalhar com duas imagens de fundo ao mesmo tempo utilizando a propriedade background-repeat. Para vermos como isso funciona, iremos fazer o download de outra imagem qualquer e inseri-la na pasta imagens do nosso projeto. A imagem escolhida para nossos exemplos foi a mostrada na figura a seguir. Ela é chamada de robos02.png. 93 PROGRAMAÇÃO WEB RESPONSIVA Figura 177 – Segunda imagem de robôs baixada do site PixabayImplementaremos o código a seguir dentro do arquivo styles.css. Figura 178 – Inserção da segunda imagem como background Note que a primeira imagem não se repete, mas a segunda sim. Figura 179 – Página index.html executada no navegador após a inserção da segunda imagem Podemos escolher o tamanho da imagem. Vamos continuar utilizando o no-repeat para facilitar o entendimento e deixar apenas uma imagem como background. 94 Unidade II Figura 180 – Configuração do background-size Como resultado, teremos uma imagem gigante e estourada, como mostrado na figura a seguir, pois não fazemos ideia de quantos pixels tem o monitor da pessoa que acessará nosso site, sem contar a perda de qualidade na imagem. Figura 181 – Página index.html em execução no navegador após inserir o tamanho da imagem em pixels Observação Uma imagem estourada tem o aspecto de uma foto que foi superexposta à luz. Para conseguirmos colocar a imagem no plano de fundo inteiro e distorcê-la o menos possível, podemos utilizar, no lugar de pixels, valores, porcentagens, ativando o repeat novamente, conforme mostrado na figura a seguir. 95 PROGRAMAÇÃO WEB RESPONSIVA Figura 182 – Configuração do background-size em porcentagem Note que, no caso em análise, a imagem ocupará 100% da página, não importando o tamanho do browser. Agora que já aprendemos um pouco sobre background-size, adotaremos essa configuração para continuarmos nosso projeto. Figura 183 – Página index.html em execução no navegador após inserir o tamanho da imagem em porcentagem 5.5 Utilizando fontes de terceiros Nosso site precisa ser épico. Logo, necessitamos escolher tudo do bom e do melhor para ele! Assim, fontes padrões não nos satisfazem. Precisamos de fontes novas e mais legais. Para isso, acessaremos https://fonts.google.com/ e procuraremos alguma fonte interessante. 96 Unidade II Figura 184 – Site https://fontes.google.com Para definirmos nossa fonte, clicaremos no símbolo de “+ Select this type” que aparece logo ao lado direito do nome da fonte escolhida. Figura 185 – Escolha de fonte no site https://fontes.google.com Você irá perceber um ponto vermelho no canto direito superior da tela. Caso queira deixar o mouse em cima do logo, irá ver a opção “View your selected families”. Figura 186 – Visão das fontes selecionadas no site https://fontes.google.com Clicando na opção indicada, você verá uma pequena janela com diversas opções de escolha referentes à fonte que selecionamos. Note que, na opção <link>, podemos copiar um bloco de código para inserir em nossa página. É exatamente isso o que iremos fazer. 97 PROGRAMAÇÃO WEB RESPONSIVA Figura 187 – Opções para fontes selecionadas no site https://fontes.google.com Adicionaremos o link à nossa página index.html dentro do <head>, conforme mostrado na figura a seguir. Figura 188 – Inserção do link para a fonte selecionada dentro da tag <head> da página index.html Dessa forma, teremos acesso à fonte escolhida durante a confecção de nossa página. O nome da fonte que importamos é Itim. Posteriormente, ele será importante. Saiba mais Para conhecer e adquirir novas fontes para o seu site, acesse: Disponível em: https://fonts.google.com/. Acesso em: 19 abr. 2021. 98 Unidade II 5.6 Inserindo e estilizando o <main> e aprendendo sobre o canal alpha Vamos definir como será disposto nosso conteúdo principal. Devemos colocar o <main> dentro do nosso <body> para que seja possível o navegador entender o que acontece. Além disso, vamos estabelecer um estilo próprio para ele. Figura 189 – Inserção da tag <main> dentro do <body> da página index.html Apenas os atos de abrir e de fechar a tag já são suficientes para que possamos trabalhar o CSS dela. Então, vamos lá. No nosso arquivo CSS, digite o código mostrado na figura a seguir. Figura 190 – Configuração do <main> dentro do arquivo styles.css Vamos entender cada parte que será feita no processo de estilização. Como seletor, temos a tag <main>, ou seja, tudo o que estiver dentro dela receberá os estilos indicados na figura a seguir. Figura 191 – Configuração do rgba do background-color Já aprendemos como escrever cores em RGB. No entanto, desta vez, usamos o código RGBA, isso significa que o canal alpha está presente. Mas, o que é canal alpha? A resposta é simples, é onde se encontra a transparência. Portanto, quando colocamos a cor RGB com o canal alpha, estamos definindo o grau de transparência que o objeto terá. O valor dessa transparência é medido na variação entre 0 e 1, sendo que 0 corresponde a algo totalmente visível e 1 a algo totalmente invisível. No nosso exemplo, inserimos 0.6 a essa variável. O <padding> é um recurso que nos ajuda com o espaçamento entre o conteúdo e as bordas. Diferentemente da margem, que dá o espaçamento externo, ele dá o espaçamento interno. Figura 192 – Configuração do padding 99 PROGRAMAÇÃO WEB RESPONSIVA O <margin-top> cria uma margem com o topo do site. Usamos, em geral, o pixel para definir o <margin-top>, mas também podemos empregar porcentagem. Figura 193 – Configuração do margin-top Por fim, temos o <border-radius>, que define o arredondamento das esquinas do <main> utilizando como referência o raio das bordas. Veja as imagens das figuras a seguir. Figura 194 – Configuração do border-radius Figura 195 – Funcionamento do border-radius Ao olharmos no navegador, poderemos notar que logo em cima da página, aparece uma linha transparente. Colocaremos mais conteúdo dentro dessa linha, conforme mostrado na figura a seguir. Figura 196 – Site em execução no navegador, após a inserção e a configuração do <main> 100 Unidade II 5.7 Containers <div> e classificação de tag Dividiremos nosso conteúdo em pequenos containers, que, como o nome já sugere, são espaços separados em que os conteúdos ficam guardados. Primeiramente, precisaremos encontrar um logo para o site. Volte ao site do Pixabay, encontre uma imagem de robô de sua preferência, faça o download dela e salve-a na pasta de imagens de seu projeto com o nome robologo.png, a extensão do arquivo pode ser jpg. No nosso caso, a pasta de imagens ficará da maneira mostrada na figura a seguir. Figura 197 – Pasta de imagens do projeto após inserirmos a imagem do logo do robô Agora que já temos uma imagem para o nosso logo, digitaremos o código mostrado na figura a seguir na nossa página index. Figura 198 – Criação da tag <div> dentro da tag <main> na página index.html A <div> que inserimos foi classificada como “logo”. O nome “logo” foi dado por nós, e poderíamos ter escolhido qualquer outro. Dentro da <div>, colocamos a imagem referente ao logo da nossa página e editamos seu estilo no CSS, conforme mostrado na figura a seguir. Figura 199 – Edição do logo dentro do arquivo styles.css Note que, em vez de usarmos como seletor a tag que vamos modificar, utilizamos a classe que criamos, pois, na mesma página, teremos várias <div> que podem ou não ser diferentes. Logo, o mais prudente é colocarmos a classe como seletor. 101 PROGRAMAÇÃO WEB RESPONSIVA Figura 200 – Configuração dos itens <margin> e <text-align> dentro do arquivo styles.css O item <margin> define o espaçamento entre os elementos, enquanto <text-align> faz o alinhamento do texto, que, no caso em estudo, queremos que fique no centro. Independentemente de colocarmos uma imagem ou um texto, o alinhamento será feito da mesma maneira. Figura 201 – Página index.html em execução no navegador após a configuração do logo 5.8 Estilizando tags de título Vamos voltar a trabalhar com títulos, mudando suas propriedades com classes que já aprendemos a fazer. Para isso, insira o código da figura a seguir na página index.html. Figura 202 – Criação das tags <h1> e <h2> dentro do <main> da página index.html 102 Unidade II Podemos colocar essas classificações com as mesmas características, basta adicionarmos mais classes na mesma declaração no CSS. Figura 203 – Configuração das classes .logo, .manchete, .headline no arquivo styles.cssNote que, no navegador, é possível perceber que a cor da fonte pode apresentar conflito com a cor do fundo. Por isso, vamos mudá-la para facilitar a visualização do texto. Figura 204 – Site em execução no navegador após a configuração do .logo, .manchete, .headline no arquivo styles.css Como o problema é generalizado para todas as classes, o mais sensato é colocarmos a estilização dentro do <body>, a fim de que todas as alterações mostradas na figura a seguir recebam os estilos herdados. Figura 205 – Configurações de fonte para o <body> no arquivo styles.css 103 PROGRAMAÇÃO WEB RESPONSIVA Note que estamos usando a fonte que baixamos com o elemento font-family e o color para pintarmos nossa fonte de branco. Figura 206 – Site em execução no navegador após a configuração da fonte no styles.css 5.9 Inserindo vídeo na nossa página Chegou um momento muito esperado, vamos colocar vídeos na nossa página HTML. Para isso, será preciso encontrarmos um vídeo para o site. Observação Volte ao site Pixabay e encontre um vídeo de robô de sua preferência. Para isso, basta alterar as configurações de busca de imagens para vídeos. Faça o download do vídeo e salve-o na pasta de vídeos de seu projeto com o nome videorobo.mp4. 104 Unidade II Em nosso caso, a pasta de vídeos ficará como mostrado na figura a seguir. Figura 207 – Pasta de vídeos do projeto após a inserção do vídeo do robô Agora que já temos o vídeo do robô, inseriremos o código da figura a seguir na página index.html, na sequência da tag <main>. Figura 208 – Inserção do vídeo do robô na página index.html Assim como a tag <img> busca uma imagem, a <source> procura um recurso (ou uma fonte), que, no caso, é um vídeo. De preferência, fazemos a declaração no CSS separadamente das outras, pois pode ser que seja necessário aplicarmos algumas mudanças com o tempo. Portanto, vamos deixá-la com as mesmas características do logo, mas em uma declaração diferente. Figura 209 – Configuração do vídeo do robô no arquivo styles.css O resultado obtido é o nosso site munido de um recurso de vídeo. 105 PROGRAMAÇÃO WEB RESPONSIVA Figura 210 – Site em execução no navegador após a configuração do vídeo 5.10 Estilizando a tag <article>, fazendo um primeiro artigo, e utilizando a tag <hr> Faremos o nosso primeiro artigo do site, contendo parágrafos e imagem. Para isso, insira o código mostrado na figura a seguir na sequência da tag <main>, na página index.html. Figura 211 – Inserção de um artigo na página index.html Mesmo sem colocarmos estilos na tag <article>, podemos ver que ela já herda estilos do <body>. Utilizaremos também a tag <hr>, que insere uma linha entre um conteúdo e outro. 106 Unidade II Figura 212 – Site em execução no navegador após a inserção de um artigo Vamos sobrepor os estilos, conforme indicado na figura a seguir. Figura 213 – Configuração do artigo no arquivo styles.css Fizemos o seguinte: alinhamos o texto no centro, mudamos o estilo da fonte, especificamos o tamanho da fonte como 20 pixels e a deixamos em uma cor de tom rosado. Figura 214 – Site em execução no navegador após a configuração do artigo no styles.css 107 PROGRAMAÇÃO WEB RESPONSIVA 5.11 Trabalhando com estilização de tabelas Agora que já conhecemos o básico de tabelas, vamos aprender a estilizá-las com o CSS e a utilizar novas tags. Para isso, insira o código mostrado na figura a seguir na sequência da página index.html. Figura 215 – Inserção de tabela na página index.html 108 Unidade II As novas tags que vimos nesse código são <thead> e <tbody>, que funcionam para separar o cabeçalho do corpo da tabela. Trata-se de uma ferramenta didática fundamental para o navegador. Vamos estilizar separadamente a <div> e a <table> que se encontra dentro da <div>. Para isso, insira o código mostrado na figura a seguir no arquivo CSS. Figura 216 – Inserção de estilo para a tabela no arquivo styles.css O primeiro trecho do CSS diz respeito à <div>, que terá margem de 30 pixels, texto alinhado no centro e largura de 100%. A segunda parte do CSS refere-se à tabela que se encontra dentro da <div>, que terá background em um tom de rosa e determinado nível de transparência, por isso, utilizamos o código RGBA. No mais, a configuração é parecida com a da transparência que fizemos no <body>, utilizando <padding> e <border-radius>. Figura 217 – Site em execução no navegador após a configuração da tabela no styles.css 109 PROGRAMAÇÃO WEB RESPONSIVA 6 AVANÇANDO COM O CSS3 6.1 Nova paginação Criaremos uma pasta chamada de “páginas” na nossa estrutura. Dentro dela, faremos três novas páginas HTML, como mostrado na figura a seguir. Figura 218 – Criação de novas páginas no projeto As páginas criadas dentro da referida pasta são as elencadas a seguir. • fonte.html • posicionamento.html • texto.html • sobre.html • contato.html • formulário.html • pseudoclasse.html Para facilitar nossa vida, por enquanto, colocaremos um código básico em todas essas novas páginas para que, no decorrer dos passos seguintes, seja possível acessá-las, como mostrado na figura a seguir. Figura 219 – Criação de 7 páginas dentro do site – Modelo padrão 110 Unidade II Coloque em cada página seu próprio título <h1>, como mostrado no exemplo da figura a seguir. Figura 220 – Alteração das tags <title> e <h1> nas páginas criadas de acordo com o próprio nome Ao executarmos qualquer uma das páginas criadas, teremos como resultado o que se mostra na figura a seguir. Figura 221 – Página fonte.html em execução no navegador Note que a página importou toda a configuração do arquivo styles.css realizada anteriormente. 6.2 Criando menus Agora, temos uma grande quantidade de páginas para administrar. Não vamos customizar todas, mas elas serão úteis para criamos um menu com diversas opções de acesso. 111 PROGRAMAÇÃO WEB RESPONSIVA Nosso menu deve conseguir acessar as páginas com facilidade. Logo, dentro do index, colocaremos o código básico mostrado na figura a seguir. Figura 222 – Criação de tag <ul> para ser utilizada como menu No início do <body> utilizamos um elemento <nav>, antes usaríamos a tag <div>, e atribuímos um ID. O elemento <nav> foi nomeado “menu”. Dentro dessa <nav>, inserimos uma <ul> e várias <li>. Portanto, criamos uma lista de links, conforme já visto quando falamos sobre HTML. Figura 223 – Lista de links criada na página index.html Mudaremos essa lista para que ela se pareça cada vez mais com um menu. Dentro do nosso arquivo CSS, começamos a estilização do zero, pois criaremos um id para resetar os estilos da tag <ul> ao menu, conforme mostrado na figura a seguir. 112 Unidade II Figura 224 – Customização da tag <ul> dentro do <nav>, menu no arquivo styles.css No código anterior, retiramos as margens, ou seja, deixamos o padding e o margin como 0. Excluímos os bullets das opções, isto é, colocamos o list-style como none. Figura 225 – Página index.html em execução no navegador após as alterações realizadas Note que, desta vez, não usamos uma classe, mas, sim, um id. Afinal, qual é a diferença entre eles? As classes (class) nada mais são do que uma forma simples de identificar um grupo de elementos. Elas podem, assim, formatar vários elementos de apenas uma vez. Já os ids (id) são uma forma de identificar um elemento único. Eles são identificadores particulares de dado elemento e somente dele. Com o objetivo de o nosso menu ficar na horizontal, temos que fazer as suas opções ficarem uma ao lado da outra. Para isso, basta atribuirmos um display:inline; para a tag <li>. Essa atribuição fará todas as opções ficarem em uma linha horizontal. Figura 226 – Inclusão de opção no arquivo styles.css para deixar a lista na forma horizontal 113 PROGRAMAÇÃO WEB RESPONSIVA Após a alteração, o resultado de nossa página será o mostrado na figura a seguir. Figura 227 – Página em execução após a inserção da opção para deixar a lista na forma vertical Nosso menu horizontal está quase pronto. Precisamos formataros links dele para que eles não fiquem tão próximos uns dos outros. No CSS, faça com que todos os links que estejam dentro da tag <li> (#menu ul li a) tenham características de elementos de bloco, mas não quebrem linha. Dessa forma, conseguiremos formatar características como largura, altura, margin e padding como se os links fossem blocos. Agora, dê um espaço entre a borda do menu e o texto. Para isso, use o <padding> (padding: 2px 10px;). Podemos aproveitar o momento para definir o visual que deverá ter o link: cor de fundo, letra etc. Figura 228 – Alteração no arquivo styles.css para formatar menu horizontal Após a customização anterior, nossa lista ficou visualmente parecida com um menu horizontal, conforme mostrado na figura a seguir. Figura 229 – Site em execução com menu horizontal criado 114 Unidade II Terminaremos de inserir as customizações em nosso menu. Para isso, introduziremos o bloco de códigos mostrado na figura a seguir em nosso arquivo style.css. Figura 230 – Customização final do menu Após a customização final, podemos notar que, ao passar o mouse nos itens do menu, eles apresentam um efeito visual, como mostrado na figura a seguir. Figura 231 – Site em execução com menu horizontal concluído 6.3 Pseudoclasse e pseudoelemento Na unidade anterior, utilizamos pseudoelementos na estilização do nosso conteúdo. Um pseudoelemento é um identificador adicionado a um seletor que permite que seja estilizada apenas uma parte específica do elemento selecionado. Trata-se de um recurso útil quando queremos mudar, por exemplo, a primeira letra do título ou a primeira linha do parágrafo. Sua sintaxe é bem simples, conforme mostrado no exemplo da figura a seguir, que não será inserido em nosso projeto. Figura 232 – Exemplo de pseudoelemento É possível utilizar apenas um pseudoelemento em um seletor. Ele deve aparecer depois da declaração de um elemento simples. A seguir, temos uma lista com os pseudoelementos mais utilizados. • ::after: cria um pseudoelemento que é o último filho do elemento selecionado. • ::before: origina um pseudoelemento que é o primeiro filho do elemento atingido. 115 PROGRAMAÇÃO WEB RESPONSIVA • ::cue: possibilita a customização de legendas, em vídeos, por exemplo. • ::first-letter: seleciona a primeira letra da primeira linha de um bloco, se ela não for precedida por qualquer outro conteúdo, como imagens ou tabelas embutidas, em sua linha. • ::first-line: aplica estilos à primeira linha de um elemento de nível de bloco. Observe que o comprimento da primeira linha depende de muitos fatores, incluindo a largura do elemento, a largura do documento e o tamanho da fonte do texto. • ::selection: utiliza estilos à parte de um documento destacado pelo usuário, como clicar e arrastar o mouse sobre o texto. • ::slotted (): representa qualquer elemento que tenha sido colocado em um slot dentro de um modelo HTML. • ::backdrop: é capaz de criar um pano de fundo que esconde o conteúdo por trás de um elemento posicionado no topo de uma pilha de elementos. • ::placeholder: customiza o texto, o que possibilita a criação de uma moldura em torno dele. • ::marker: seleciona a caixa do marcador de um item da lista, que normalmente contém um marcador ou um número. • ::spelling-error: significa um segmento de texto que o user-agent sinalizou como digitado incorretamente. • ::grammar-error: quer dizer um segmento de texto que o user-agent sinalizou como gramaticalmente incorreto. 6.4 Estilizando o texto Chegou o momento de trabalharmos um pouco mais com a estilização do nosso texto. Vamos, então, usar uma página específica para testarmos novas funções. Começaremos a codificar nossa página de estilização de texto com um CSS específico dela. Crie um arquivo chamado de texto.css dentro da pasta CSS do nosso projeto: Figura 233 – Arquivo texto.css 116 Unidade II O código para nossa página arquivo texto.html será o mostrado a seguir. Figura 234 – Página texto.html Nossa página texto.html terá o visual mostrado na figura a seguir quando a executamos no navegador. Figura 235 – Página texto.html em execução no navegador 6.4.1 Text-align A propriedade text-align é usada para definirmos o alinhamento horizontal de um texto. Um texto pode ser alinhado à esquerda ou à direita, estar centralizado ou justificado. O exemplo mostrado na figura a seguir exibe o alinhamento ao centro, com o texto alinhado à esquerda e à direita. Vale notar que o alinhamento à esquerda é o padrão se o sentido do texto for da esquerda para a direita e que no caso do alinhamento à direita é o contrário. Quando a propriedade text-align é configurada para justificar, cada linha é esticada para que tenha largura igual. As margens esquerda e direita são retas, como ocorre em revistas e em jornais. 117 PROGRAMAÇÃO WEB RESPONSIVA Figura 236 – Customização das tags <h1>, <h2>, <h3> e <h4> no arquivo texto.css Após essa customização, nossa página ficará com o visual mostrado a seguir. Figura 237 – Página texto.html em execução no navegador após a customização das tags <h1>, <h2>, <h3> e <h4> 6.4.2 Text-decoration O text-decoration é uma propriedade usada para definirmos ou removermos decorações do texto. O text-decoration: none; é frequentemente empregado para retirarmos sublinhados dos links. Os outros tipos efetivamente mudam o texto. Vejamos um exemplo na figura a seguir. 118 Unidade II Figura 238 – Customização do text-decoration para as tags <h1>, <h2>, <h3> e <h4> no arquivo texto.css Após essa customização, nossa página ficará com o visual mostrado a seguir. Figura 239 – Página texto.html em execução no navegador após a customização do text-decoration 6.4.3 Text-transform A propriedade text-transform é usada para especificar letras maiúsculas e minúsculas em um texto. Ela pode ser usada para transformar todo o texto em letras maiúsculas ou minúsculas e para capitalizar a primeira letra de cada palavra. Vejamos um exemplo na figura a seguir. 119 PROGRAMAÇÃO WEB RESPONSIVA Figura 240 – Customização do text-transform para as tags <h1>, <h2>, <h3> e <h4> no arquivo texto.css Após essa customização, nossa página ficará com o visual mostrado a seguir. Figura 241 – Página texto.html em execução no navegador após a customização do text-transform 120 Unidade II 6.4.4 Text-indent A propriedade text-indent é usada para especificar o recuo da primeira linha de um texto. Vejamos um exemplo na figura a seguir. Figura 242 – Customização do text-indent para a tag <h4> no arquivo texto.css Após essa customização, nossa página ficará com o visual mostrado a seguir. Figura 243 – Página texto.html em execução no navegador após a customização do text-indent na tag <h4> 6.4.5 Letter-spacing A propriedade de espaçamento letter-spacing é usada para especificar o espaço entre os caracteres em um texto. O exemplo da figura a seguir mostra como aumentar ou diminuir o espaço entre os caracteres. Figura 244 – Customização do letter-spacing para as tags <h1> e <h2> no arquivo texto.css 121 PROGRAMAÇÃO WEB RESPONSIVA Após essa customização, nossa página ficará com o visual mostrado a seguir. Figura 245 – Página texto.html em execução no navegador após a customização do letter-spacing nas tags <h1> e <h2> 6.4.6 Line-height A propriedade line-height é usada para especificar o espaço entre as linhas. Vejamos um exemplo na figura a seguir. Figura 246 – Customização do line-height para as tags <h3> e <h4> no arquivo texto.css Após essa customização, nossa página ficará com o visual mostrado a seguir. Figura 247 – Página texto.html em execução no navegador após a customização do line-height nas tags <h3> e <h4> 122 Unidade II 6.4.7 Text-direction A propriedade text-direction é usada para alterar a direção do texto de um elemento. Vejamos um exemplo na figura a seguir. Figura 248 – Customização do text-direction para a tag <h1> no arquivo texto.css Após essa customização, nossa página ficará com o visual mostrado a seguir.Figura 249 – Página texto.html em execução no navegador após a customização do text-direction na tag <h1> 6.4.8 Word-spacing A propriedade word-spacing é usada para especificar o espaço entre as palavras em um texto. O exemplo a seguir mostra como aumentar ou diminuir o espaço. Figura 250 – Customização do word-spacing para as tags <h2> e <h3> no arquivo texto.css 123 PROGRAMAÇÃO WEB RESPONSIVA Após essa customização, nossa página ficará com o visual mostrado a seguir. Figura 251 – Página texto.html em execução no navegador após a customização do word-spacing nas tags <h2> e <h3> 6.4.9 Text-shadow A propriedade text-shadow adiciona sombra ao texto. O exemplo a seguir especifica a posição da sombra horizontal (3px), da sombra vertical (2px) e a cor da sombra (vermelha). Figura 252 – Customização do text-shadow para a tag <h4> no arquivo texto.css Após essa customização, nossa página ficará com o visual mostrado a seguir. Figura 253 – Página texto.html em execução no navegador após a customização do text-shadow na tag <h4> 124 Unidade II No quadro a seguir, temos uma lista que resume as propriedades de texto e as suas funcionalidades. Quadro 1 – Propriedades de texto e suas funcionalidades Propriedade Descrição color Define a cor do texto direction Especifica a direção do texto/da escrita letter-spacing Aumenta ou diminui o espaço entre os caracteres em um texto line-height Define a altura da linha text-align Especifica o alinhamento horizontal do texto text-decoration Especifica a decoração adicionada ao texto text-indent Especifica o recuo da primeira linha em um bloco de texto text-shadow Especifica o efeito de sombra adicionada ao texto text-transform Controla a capitalização do texto text-overflow Especifica como o conteúdo excedido que não é exibido deve ser sinalizado para o usuário unicode-bidi Define ou retorna se o texto deve ser substituído para suportar vários idiomas no mesmo documento quando usado junto com a propriedade direction vertical-align Define o alinhamento vertical de um elemento white-space Especifica como o espaço em branco dentro de um elemento é manipulado word-spacing Aumenta ou diminui o espaço entre palavras em um texto 6.5 Estilizando fontes Existem dois tipos de nomes de famílias de fontes, a saber: • Generic family: grupo de famílias de fontes com aparências semelhantes, como “Serif” ou “Monospace”. • Font family: família de fontes específicas, como “Times New Roman” ou “Arial”. Vejamos os casos mostrados no quadro a seguir. Quadro 2 – Famílias de fontes Generic family Font family Descrição Serif Times New RomanGeorgia A fonte Serif tem pequenas linhas nas extremidades de alguns caracteres Sans-serif ArialVerdana As fontes Sans não têm as linhas nas extremidades dos caracteres Monospace Courier NewLucida Console Todos os caracteres Monospace têm a mesma largura Vamos agora editar a nossa página fonte.html. Trabalharemos com o CSS de maneira diferente nela. Em vez de chamarmos um arquivo externo, por exemplo, o arquivo styles.css ou o texto.css, criaremos a configuração do CSS dentro da própria página HTML. Tal configuração ficará dentro da tag <style>. Inicialmente, deixaremos nossa página com a configuração mostrada na figura a seguir. 125 PROGRAMAÇÃO WEB RESPONSIVA Figura 254 – Página fonte.html Após essa customização, nossa página ficará com o visual mostrado a seguir. Figura 255 – Página fonte.html executada no navegador 6.5.1 Font-family O conjunto de fontes de um texto é definido com a propriedade font-family. Ela deve conter vários nomes de fontes como um sistema de fallback. Se o navegador não suportar a primeira fonte, ele tentará a próxima e assim por diante. Comece com a fonte desejada e termine com uma família genérica para permitir que o navegador escolha uma fonte semelhante na família genérica, se nenhuma outra estiver disponível. 126 Unidade II Observação Se o nome de uma família de fontes possuir mais de uma palavra, ele deverá estar entre aspas, como: “Times New Roman”. Mais de uma família de fontes deve ser especificada em uma lista separada por vírgulas: Figura 256 – Customização da tag <h1> dentro do css interno na página fonte.html Após essa customização, nossa página ficará com o visual mostrado a seguir. Figura 257 – Página fonte.html executada no navegador após a customização da fonte 6.5.2 Font-style A propriedade font-style é usada principalmente para especificar texto em itálico. Ela tem três valores, que são mostrados a seguir. • Normal: o texto é mostrado normalmente. • Italic: o texto é mostrado em itálico. • Oblique: o texto é mostrado em direção oblíqua, de modo semelhante ao que ocorre no itálico. 127 PROGRAMAÇÃO WEB RESPONSIVA Vejamos o exemplo da figura seguir. Figura 258 – Customização do font-style dentro do CSS interno na página fonte.html Após essa customização, nossa página ficará com o visual mostrado a seguir. Figura 259 – Página fonte.html executada no navegador após a customização do font-style 6.5.3 Font-size A propriedade font-size define o tamanho do texto. Ser capaz de gerenciar o tamanho do texto é uma habilidade importante no design da web. No entanto, não se deve usar ajustes de tamanho de fonte para fazer com que os parágrafos pareçam cabeçalhos ou com que os cabeçalhos pareçam parágrafos. Sempre use as tags HTML adequadas, como <h1> - <h6> para títulos e <p> para parágrafos. O valor do tamanho da fonte pode ser absoluto ou relativo. O tamanho absoluto: • define o texto para um tamanho especificado; • não permite que um usuário altere o tamanho do texto em todos os navegadores, o que é uma desvantagem em termos de acessibilidade; • é útil quando o tamanho físico da saída é conhecido. 128 Unidade II O tamanho relativo: • define o tamanho em relação aos elementos circundantes; • permite que um usuário altere o tamanho do texto em navegadores. 6.5.3.1 Mudando o tamanho da fonte com pixels Definir o tamanho do texto com pixels oferece controle total sobre o arquivo. Vejamos o exemplo mostrado na figura a seguir. Figura 260 – Customização do font-size dentro do CSS interno na página fonte.html Após essa customização, nossa página ficará com o visual mostrado a seguir. Figura 261 – Página fonte.html executada no navegador após a customização do font-size 129 PROGRAMAÇÃO WEB RESPONSIVA 6.5.3.2 Mudando o tamanho da fonte com “em” Para permitir que os usuários redimensionem o texto, no menu do navegador, muitos desenvolvedores usam “em” em vez de pixels. A unidade de tamanho é recomendada pelo W3C, sendo que 1em é igual ao tamanho da fonte atual. O tamanho do texto padrão nos navegadores é de 16px. Então, o tamanho padrão de 1em é 16px. Ele pode ser convertido de pixels para “em” pela seguinte relação: (tamanho em pixels)/16 = (tamanho em “em”). Vejamos o exemplo mostrado na figura a seguir. Figura 262 – Customização do font-size utilizando “em” dentro do CSS interno na página fonte.html Após essa customização, nossa página ficará com o visual mostrado a seguir. Figura 263 – Página fonte.html executada no navegador após a customização do font-size utilizando “em” 130 Unidade II 6.5.3.3 Font-weight A propriedade font-weight especifica a carga de uma fonte, deixando-a normal ou em negrito. Vejamos o exemplo mostrado na figura a seguir. Figura 264 – Customização do font-weight utilizando “em” dentro do CSS interno na página fonte.html Após essa customização, nossa página ficará com o visual mostrado a seguir. Figura 265 – Página fonte.html executada no navegador após a customização do font-weight utilizando “em” 6.5.3.4 Font-variant A propriedade font-variant especifica se um texto deve ou não deve ser exibido em fonte small-caps. Em uma fonte de letras minúsculas, todas as letras minúsculas são convertidas em letras maiúsculas. No entanto, as letras maiúsculas convertidas aparecem em um tamanho de fonte menor do que as maiúsculas originais no texto. Vejamos o exemplo mostradona figura a seguir. 131 PROGRAMAÇÃO WEB RESPONSIVA Figura 266 – Customização do font-variant utilizando “em” dentro do CSS interno na página fonte.html Após essa customização, nossa página ficará com o visual mostrado a seguir. Figura 267 – Página fonte.html executada no navegador após a customização do font-variant utilizando “em” No quadro a seguir, temos algumas propriedades das fontes: Quadro 3 – Propriedades das fontes Propriedade Descrição font Define todas as propriedades da fonte em uma declaração font-family Especifica a família de fontes para o texto font-size Especifica o tamanho da fonte do texto font-size Especifica o estilo da fonte para o texto font-variant Especifica se um texto deve ou não ser exibido em uma fonte small-caps font-weight Especifica a carga de uma fonte 132 Unidade II Saiba mais Para conhecer melhor sobre o CSS, veja a documentação disponível em: MDN WEB DOCS. CSS tutoriais. Mdn Web Docs, 18 abril 2021a. Disponível em: https://cutt.ly/kvIiUiI. Acesso em: 19 abr. 2021. Resumo Na unidade II, vimos como criar estilos em nossas páginas. Para isso, utilizamos o CSS. Usamos arquivos CSS externos e também criamos seletores dentro da própria página HTML. Começamos alterando as cores das páginas, criamos no arquivo CSS externo a configuração da cor do body e alteramos a cor no próprio CSS, o que faz com que a página importe essa configuração e retire as configurações de estilos do HTML, deixando-as por conta do CSS. Acessamos o site Pixabay e aprendemos a fazer o download de imagens e de vídeos livres para utilização na internet. Inserimos em nossa página uma imagem como background e realizamos diversos testes, redimensionando a imagem de fundo para que ela ficasse com a aparência desejada. Utilizamos fontes de terceiros do site de fontes da Google e fizemos a importação de fontes para nossa página. Efetuamos a customização de fontes por meio do CSS, alterando padrão de títulos, parágrafos etc. Observamos como funciona o canal alpha e como operam os containers. Abordamos as classificações das tags, funcionalidades importantíssimas na criação dos estilos das páginas. Estudamos a estilização de tabelas a fim de aprimorarmos o padrão criado na unidade anterior e deixarmos o visual delas mais limpo e profissional. Realizamos a criação de nosso primeiro menu, gerado por uma lista não ordenada, customizado praticamente do zero em nosso arquivo de estilo do CSS. Por fim, trabalhamos com pseudoclasses e pseudoelementos e executamos a customização de texto utilizando as propriedades text-align, text-decoration, text-transform, text-indent, letter-spacing, line-height, text-direction, word-spacing e text-shadow. 133 PROGRAMAÇÃO WEB RESPONSIVA Exercícios Questão 1. Analise o conteúdo da figura a seguir. Figura 268 Com base na análise e nos seus conhecimentos, avalie as asserções a seguir e a relação entre elas. I – Na figura, vemos a estilização da tag <head>. porque II – Na figura, vemos a alteração da cor do background da página index (arquivo styles.css). Assinale a alternativa CORRETA. A) A primeira asserção é verdadeira, e a segunda é falsa. B) A primeira asserção é falsa, e a segunda é verdadeira. C) As duas asserções são falsas. D) As duas asserções são verdadeiras, e a primeira justifica a segunda. E) As duas asserções são verdadeiras, e a primeira não justifica a segunda. Resposta correta: alternativa B. Análise das asserções I – Asserção falsa. Justificativa: na figura, vemos a estilização da tag <body>, e não da tag <head>. II – Asserção verdadeira. Justificativa: na figura, vemos a alteração da cor do background da página index (arquivo styles.css) para a cor amarela (yellow). 134 Unidade II Questão 2. Com base nos seus conhecimentos, avalie as asserções a seguir e a relação entre elas. I – Em uma página web, existem links que nos levam a outros documentos dentro do próprio site (outras subpáginas) e links que nos levam a fontes externas (outros sites). porque II – Não podemos adicionar hyperlinks com a tag <a> dentro do <body>. Assinale a alternativa CORRETA. A) A primeira asserção é verdadeira, e a segunda é falsa. B) A primeira asserção é falsa, e a segunda é verdadeira. C) As duas asserções são falsas. D) As duas asserções são verdadeiras, e a primeira justifica a segunda. E) As duas asserções são verdadeiras, e a primeira não justifica a segunda. Resposta correta: alternativa A. Análise das asserções I – Asserção verdadeira. Justificativa: de modo geral, podemos dizer que há dois tipos de links: • aqueles que nos direcionam a outros documentos dentro do próprio site (outras subpáginas); • aqueles que nos direcionam a fontes externas (outros sites). II – Asserção falsa. Justificativa: é normal utilizarmos hyperlinks com a tag <a> dentro do <body> de uma página HTML.
Compartilhar