Mostrar mensagens com a etiqueta Web Design. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Web Design. Mostrar todas as mensagens

quinta-feira, 18 de março de 2021

Exercicio - Estrutura de um documento HTM5

 


Usando HTM5 crie uma pagina Web que tenha uma aparência igual a da imagem abaixo:


Utilize o seguinte logotipo:


Formate usando o seguinte texto:

         Home

          Galeria

         Contactos

Medias usados, Smartphone, VideoGame, TvCabo, Internet          

Nativos Digitais

          Nasceram a partir de 1980 e cresceram familiarizadas com a tecnologia

        Criado em 2001 pelo professor e educador americano Marc Prensky, o termo “nativo digital” não diz respeito apenas a influenciadores digitais. Ele é aplicado a qualquer pessoa que se enquadre na característica descrita no primeiro parágrafo deste post. Na realidade, Prensky criou o conceito para debater métodos de educação em sala de aula.

      Imigrantes Digitais

          Imigrantes digitais”. São as pessoas que nasceram antes de 1980 e que, embora não tenham crescido com a tecnologia se adaptaram com o tempo.

      Imigrante digital é um termo usado para se referir a uma pessoa que foi criada antes da era digital. Esses indivíduos, geralmente nas gerações anteriores, não cresceram com a computação omnipresente ou com a Internet e, portanto, tiveram que se adaptar à nova linguagem e prática das tecnologias digitais.

      

Shelton Geraldoc © Todos direitos reservados. geraldocnh@gmail.com

Share:

sexta-feira, 29 de maio de 2020

Exercícios de aplicação - CANVAS



      Exercícios de aplicação - CANVAS            


Share:

quinta-feira, 26 de março de 2020

Lecture 5 - HTML Responsive Site Design


          Site responsivo                     


Um site responsivo, é um site que se adapta automaticamente à tela do dispositivo usado pelo utilizador. Isso é, não importa se o utilizador esta aceder o site recorrendo a desktop, notebook, Ipad ou smartphone, o site vai sempre se encaixar no tamanho do visor do aparelho para facilitar a leitura e visualização do conteúdo da página. A proposta é adaptar as dimensões dos componentes do site para que se moldem ao tamanho de cada tela, melhorando a usabilidade do site.

Como desenvolver um Site exclusivo para Mobile?
A abordagem que trataremos no curso é a de fazer adaptações na mesma página para ser compatível com CSS3. Como faremos caso queiramos fazer um Site exclusivo para mobile? Do ponto de vista de código, é a abordagem mais simples: basta fazer sua página levando em conta que a tela será pequena (em geral, usa-se width de 100% para que se adapte à pequenas variações de tamanhos de telas entre smartphones diferentes). Uma dificuldade estará no servidor para detectar se o utilizador está vindo de um dispositivo móvel ou não, e redirecioná-lo para o lugar certo. Isso costuma envolver código no servidor que detecte o navegador do utilizador usando o User-Agent do navegador. É uma boa prática também incluir um link para a versão normal do Site caso o utilizador não queira a versão móvel.

 Configurando o Viewport

Ao criar páginas responsivas, adicione o seguinte elemento <meta> em todas as suas páginas:

 <meta name="viewport" content="width=device-width, initial-scale=1.0"


Isso definirá a janela de exibição da sua página, que fornecerá ao navegador instruções sobre como controlar as dimensões e a escala da página.



os smartphones modernos têm telas grandes e resoluções altas, justamente para nos permitir ver sites complexos feitos para Desktop. A tela de um iPhone 4S por exemplo é 960px por 640px. Celulares Android já chegam a 1280px, o mesmo de um Desktop. Ainda assim, a experiência desses celulares é bem diferente dos Desktops. 1280px em uma tela de 4 polegadas é bem diferente de 1280px em um notebook de 13 polegadas. A resolução muda. Celulares costumam ter uma resolução em dpi bem maior que Desktops. Como arrumar nossa página? Os smartphones sabem que considerar a tela como 1280px não ajudará o usuário a visualizar a página otimizada para telas menores. Há então o conceito de device-width que, resumidamente, representa um número em pixels que o fabricante do aparelho considera como mais próximo da sensação que o usuário tem ao visualizar a tela. 


Imagens responsivas
Imagens responsivas são imagens que se adaptam perfeitamente a qualquer tamanho de navegador e do dispositivo. Para o efeito é necessário recorrer a propriedade width Se a propriedade largura do CSS estiver definida como 100%, a imagem será responsiva e aumentará e diminuirá a escala.


Exercícios: adaptações para mobile

1) Usando a página HTML index.html e estilo.css efectue adaptações de modo a tornar a página responsiva
Declare a tag meta com o viewport dentro da página index.html:

<meta name="viewport" content="width=device-width, initial-scale=1.0">


 Pode escrever o CSS de adaptação em um novo arquivo, chamado mobile.css. Crie esse arquivo e o importe no head do index.html (Após os imports já existentes). Use media queries para que ele só seja aplicado em resoluções de no máximo 320px (celulares comuns).

<link rel="stylesheet" href="css/mobile.css" media="(max-width: 320px)">


  2) Nossa página hoje tem o tamanho de 940px e é centralizada (com o uso do seletor .container). Para deixarmos a página mais flexível nos celulares, precisamos remover esse tamanho absoluto e colocar algum que faça mais sentido em telas menores, onde queremos ocupar quase que a tela toda (deixando apenas uma pequena margem). Para isso, edite mobile.css:  

 .container {
             width: 96%;
           }

Já é possível redimensionar a tela para 320px e ver que o site começa a se adaptar. Mas ainda há bastante trabalho pela frente. 


3) Próximo passo: vamos ajustar os elementos do topo da página. Vamos centralizar o logotipo na página, esconder as informações (secundárias) sobre a Sacola e ajustar o menu para ficar abaixo do logo e não mais posicionado à direita.
 header h1 { text-align: center; } 
 header h1 img { max-width: 50%; }
 .sacola { display: none; } 
 .menu-opcoes { position: static; text-align: center; } 

Lembre-se que, anteriormente, nosso menu estava com position:absolute para ficar a direita do logo. Agora, queremos deixá-lo fluir abaixo do logo; bastou restaurar o position:static. Teste novamente com o navegador redimensionado. 

 4) Ajustamos a posição do menu do topo e, automaticamente, os links se 
posicionaram formando duas linhas. Mas repare como estão próximos uns dos outros. Será que o nosso usuário consegue clicar neles usando seu celular? Vamos aumentar o espaço entre eles:

.menu-opcoes ul li { display: inline-block; margin: 5px; } 

5) Ajuste a seção de busca, o menu da esquerda e a imagem de destaque. Como eles são muito grandes, em mobile, é melhor renderizarmos um em cima do outro sem quebrar em colunas. Vamos ocupar 100% da tela com o menu e a busca. A imagem de destaque deverá ser redimensionada para ocupar 100% da tela e não estourar o tamanho. 
        .busca, 
      .menu-departamentos, 
      .destaque img { 
            margin-right: 0;
            width: 100%; 
           } 

Teste esse passo no navegador redimensionado. 

6) Falta apenas ajustarmos os painéis de destaques de produtos. Por ora, eles estão com tamanhos absolutos ocupando metade da tela e mostrando 6 elementos, com 3 por linha. Vamos manter o painel com 3 elementos por linha, mas vamos fazer os dois painéis encaixarem um em cima do outro. Para isso, basta tirarmos a restrição de largura do painel para ele ocupar a tela toda.
         .painel { 
          width: auto; 
      }

Com relação aos produtos nos painéis. Vamos precisar redimensioná-los para encaixar 3 em cada linha. Uma boa maneira é colocar cada elemento com 30% do painel, totalizando 90%, e deixando espaço para as margens. Já a imagem interna de cada produto deverá ocupar 100% do seu quadrado (o que ajustamos).      

          .painel li { 
           width: 30%; 
      } 
    
      .painel img { 
        width: 100%; 
     } 

7) O que acontece em resoluções maiores de 320px? Nosso design volta ao padrão de 940px e ficamos com scroll horizontal. A maioria dos smartphones tem 320px de largura, mas nem todos, e nosso layout não se ajusta bem a esses outros. Até mesmo aqueles com 320px de largura, ao girar o aparelho em modo paisagem, a resolução é maior (480px num iPhone e mais de 500px em muitos Androids). O melhor era que nosso layout adaptável fosse usado não só em 320px mas em diversas resoluções intermediárias antes dos 940px que estabelecemos para o site Desktop. Podemos ajustar nossa media query para aplicar o CSS de adaptação a qualquer tamanho de tela menor que os 940px do Desktop (ou seja, no máximo, 939px): 

<link rel="stylesheet" href="css/mobile.css" media="(max-width: 939px)">

 Teste, novamente, redimensionando o navegador para várias resoluções diferentes. 

Repare que, como fizemos um layout fluido, baseado em percentagens, os elementos se ajustam a diferentes resoluções sem esforço. É uma boa prática usar percentagens e, sempre que possível, evitar o uso de valores absolutos em pixels. 

8) (opcional) Se você fez os exercícios opcionais anteriores do controle de pause/play no banner, precisamos reposicionar o controle de pause/play: 
                    .play, .pause { 
                          top: auto; 
                          right: auto; 
                          left: 10px; 
                          bottom: 10px; 
          } 


Share:

Lecture 4 - CSS Regras






             Lecture 04 – Precedencia            
As vezes nos deparamos com situações em que tentamos aplicar um estilo CSS em um elemento e não funciona e ficamos preocupados. Isso as vezes acontece porque aplicamos dois ou mais  estilos ao mesmo elemento, e CSS acaba dando prioridade a um determinado elemento. No entanto como saber qual é o estililo que tem mais precedência. O CSS utiliza três regras principais: Cálculo de Especificidade, herança e cascata.

     «« Cálculo de Especificidade     
Considere que o seu documento html contém um parágrafo com uma classe "loja"  aplicando as seguintes regras de css:
p {
    font-size: 12 px;
}

p.loja {
     font-size: 14px;
 }
Qual será o estilo a ser aplicado? O tamanho do texto no parágrafo será 14px ou 12px?
 Para este cenário, será aplicado 14px. A segunda linha de css (p.loja) é mais específica que a primeira quando se trata de seu parágrafo de classe = "loja". No entanto, às vezes a especificidade não é tão fácil de identificar.

Por exemplo, considere o seguinte html e css
<div id = "barra lateral">
<p class = "loja"> texto aqui </p>
</div>
div p.loja {font-size: 14px}
#sidebar p {font-size: 12px}

A primeira linha de css pode parecer mais específica à primeira vista, mas na verdade é a segunda linha acima que seria mais específica ao tamanho da fonte do seu parágrafo. Por que?
Para responder à pergunta, precisamos considerar as regras de especificidade.
A especificidade é calculada contando vários componentes do seu css e expressando-os de uma forma (a, b, c, d). Isso ficará mais claro com um exemplo, mas primeiro os componentes.
        Elemento, pseudo elemento: d = 1 - (0,0,0,1)
        Classe, pseudo classe, atributo: c = 1 - (0,0,1,0)
        Id: b = 1 - (0,1,0,0)
        Estilo embutido: a = 1 - (1,0,0,0)

Um ID é mais específico que uma classe é mais específico que um elemento.
Você calcula a especificidade contando cada uma das opções acima e adicionando 1 a, b, c ou d. Também é importante observar que 0,0,1,0 é mais específico que 0,0,0,15. Vejamos alguns exemplos para tornar o cálculo mais claro.
• p: 1 elemento - (0,0,0,1)
• div: 1 elemento - (0,0,0,1)
• #sidebar: 1 id - (0,1,0,0)
• barra lateral div #: 1 elemento, 1 id - (0,1,0,1)
• div # barra lateral p: 2 elementos, 1 id - (0,1,0,2)
• div # sidebar p.bio: 2 elementos, 1 classe, 1 id - (0,1,1,2)

Vamos ver novamente o exemplo acima
div p.loja {tamanho da fonte: 14px} - (0,0,1,2)
#sidebar p {font-size: 12px} - (0,1,0,1)

O segundo tem maior especificidade e, portanto, tem precedência.
Um último ponto antes de seguirmos em frente. A importância supera a especificidade. Quando você marca uma propriedade css com! Importante, você substitui as regras de especificidade e, portanto,
div p.loja {font-size: 14px !important}
#sidebar p {font-size: 12px}

significa que a primeira linha de css acima tem precedência em vez da segunda. ! important ainda é principalmente um truque em torno das regras básicas e é algo que você nunca deve precisar se entender como as regras funcionam.


         Herança       
Os elementos herdam estilos de seu container. Se você definir a tag body para usar color: red, o texto de todos os elementos dentro do corpo também ficará vermelho, a menos que seja especificado de outra forma.
Porém, nem todas as propriedades de css são herdadas. Por exemplo, margens e preenchimentos. Se você definir uma margem ou preenchimento em uma div, os parágrafos dentro dessa div não herdarão a margem e o preenchimento que você definir na div. O parágrafo usará a margem e o preenchimento padrão do navegador até que você declare o contrário.
Você pode definir explicitamente uma propriedade para herdar estilos do container. Por exemplo, você pode declarar
   
    p {margin: inherit; padding: inherit}


       Cascata         
No nível mais alto, a cascata é o que controla toda a precedência de css e funciona da seguinte maneira.
  1. Encontre todas as declarações css que se aplicam ao elemento e propriedade em questão.
  2. Classifique por origem e peso. Origem refere-se à fonte da declaração (estilos de autor, estilos de usuário, padrões do navegador) e peso refere-se à importância da declaração. (o autor tem mais peso que o usuário que tem mais peso que o padrão.! importância tem mais peso que as declarações normais)
  3. Calcular especificidade
  4. Se duas regras são iguais em todas as opções acima, a última declaração tera precedência. CSS incorporado no html sempre tem mais precedência, mais que as folhas de estilo externas, independentemente da ordem no html.

         Exercicios         

  1.      Considere o seguinte trechos de código CSS:     p {cor: azul}, p {cor: laranja}
  2. Aplicando CSS, o que você pode prever sobre a cor do parágrafo?
      2. Considere o código a seguir, o mesmo que vimos acima:
p         p {  color: blue; font-size: 15px; color: green;}
      
     3. Considere o seguinte HTML e CSS. .para é a classe do elemento p.
                    .para {cor: laranja} 
                     p {cor: verde}
                  Qual é a côr que sera aplicado no parágrafo. 

             4 . Considerando o trecho CS:
                     # p1 {cor: verde}
                     .para {cor: amarelo}
                 Mais uma vez, decida qual cor será dada ao parágrafo.

             5 .  Considere o código HTML e CSS abaixo:
                   <p id = "p1" class = "para" style = "color: blue"> Um parágrafo </p>     
          p {cor: laranja} 
                    Qual é a formatação que será aplicada?
              
               6. Crie uma página HTML e com base nas regras CSS aqui abordadas(Cálculo de especificidade, Herança e Cascata), efectue a estilização da página .

           Referencias          
  



Share:

quarta-feira, 11 de março de 2020

Linguagens de Programação

        Linguagens de Programação       


Uma Linguagem de Programação (LP) é uma ferramenta utilizada pelo profissional de computação para escrever programas, isto é, conjuntos de instruções a serem seguidas pelo computador para realizar um determinado processo Propósito de uma LP:

  • Uma maior capacidade de resolução de problemas;
  • Desenvolver a habilidade de utilização de uma LP;
  • Possibilitar a escolha de uma LP apropriada;
  • Ampliar a possibilidade de aprendizagem de novas LP’s;
  • Desenvolver a habilidade de criação de novas LP’s

      LP no processo de desenvolvimento      

As linguagens de programação surgiram da necessidade de tornar o processo de desenvolvimento de software mais produtivo.
O processo de desenvolvimento de software geralmente obedece as seguintes fases:

  • Especificação de requisitos;
  • Projeto do software;
  • Implementação;
  • Validação;
  • Manutenção



      Algumas propriedades desejáveis         

As propriedades desejáveis numa LP são:
  • Legibilidade;
  • Confiabilidade;
  • Eficiência;
  • Facildade de aprendizagem;
  • Ortogonalidade;
  • Reusabilidade;
  • Portabilidade.


       Especificação           


Ao se criar uma LP é necessário definir como se faz para escrever programas nessa linguagem e como os programas válidos devem se comportar.
A especificação de uma LP requer a descrição de um léxico, de uma sintaxe e de uma semântica para a LP.



       Métodos de Implementação        Todo e qualquer programa escrito em uma LP necessita ser traduzido para a linguagem máquina para ser executado.
Segundo SEBESTA (1999), para isso pode se recorrer a três métodos:

  • Compilação;
  • Interpretação; e
  • Híbrido.

Compilação



Interpretação


Híbrido



         Tipos de Linguagens          

CARACTERÍSTICAS

Linguagem Máquina - Única compreendida pelo computador. Específica de cada computador.

Linguagens de Baixo Nível - Utiliza mnemónicos para representar instruções
elementares
Ex.: Assembly

Linguagens de Alto Nível - Utiliza instruções próximas da linguagem humana de forma a facilitar o raciocínio.
       Ex.: Uso Científico : Fortran
              Propósito Geral : Pascal, Basic
              Uso Comercial : Cobol, Clipper
              Uso específico : Lisp, Prolog


Ilustração de um programa em linguagem máquina




           Paradigmas de programação                

Dá-se o nome de paradigma a um conjunto de características que servem para categorizar um grupo de linguagens. Existem diversas classificações
de paradigmas de LPs, sendo a mais comum a que divide os paradigmas
de LPs nos paradigmas imperativo, orientado a objetos, funcional e lógico.
A classificação utilizada aqui adapta a proposta apresentada por Appleby
[APPLEBY, 1991]. As únicas alterações realizadas nessa classificação
são a substituição do termo distribuído pelo termo, mais genérico,
concorrente e a remoção do paradigma de linguagens de bancos de dados.


          Paradigma imperativo        

O termo paradigma foi introduzido por Kuhn em 1962, designando o conjunto de crenças e preconceitos; Em computação é entendido como um processo que realiza mudanças de estados;

Os conceitos fundamentais são de variável, valor e atribuição;

Variáveis são vistas como sendo um conjunto de células de memória;
O paradigma imperativo é subdividido nos paradigmas estruturado, orientado a objetos e concorrente.

Paradigma imperativo estruturado
As primeiras LPs foram fortemente influenciadas pela programação em linguagem máquina;
Logo se percebeu que esse estilo de programação estimulava a ocorrência de erros e reduzia a produtividade do programador;
Para contornar essa dificuldade surgiu a programação estruturada;
Baseia na idéia de desenvolvimento de programas por refinamentos sucessivos (top-down).


Paradigma imperativo orientado a objectos
 Conceitos que objetivam tornar mais rápido e confiável o desenvolvimento desses sistemas.;
Enfocam as abstrações de dados como elemento básico de programação;
Classes são abstrações que definem uma estrutura de dados e um conjunto de operações que podem ser realizadas sobre elas, chamadas métodos;


Paradigma imperativo concorrente
A programação concorrente ocorre quando vários processos executam simultaneamente e concorrem por recursos.
Permitem utilizar uma única unidade de processamento ou várias unidades em paralelo.
As linguagens Pascal e Java (entre outras) são exemplos de LPs que permitem desenvolver sistemas concorrentes.

           Paradigma declarativo               
Tipicamente, programas em linguagens declarativas são especificações de relações ou funções;
Não existem atribuições a variáveis dos programas uma vez que as variáveis declarativas são de facto incógnitas e não representam células de memória;
Os interpretadores ou compiladores das LPs declarativas gerenciam a memória do computador.

Dão ênfase a O QUE calcular, ao invés de COMO calcular; um programa declarativo é um statement (declaração) que se concentra na solução. (ou descrição do conjunto da solução, sem algoritmo explícito)

Paradigma declarativo funcional
Operam apenas sobre funções;
Recebem listas de valores e retornam um valor;
Objetivo da programação funcional



Paradigma declarativo lógico
Baseadas em um subconjunto do cálculo de predicados;
Um predicado define uma relação entre factos ou entre variáveis;
A execução de um programa lógico corresponde a um processo de dedução automática.
– Ex.: Prolog



















Share:

Conceito de Algoritmo


    Conceito de Algoritmo    

     Conceitos gerais       

Algumas definições

DADOS – Para Bio apud Freitas (1997) dado é um elemento da informação (um conjunto de letras ou dígitos) que, tomado isoladamente, não transmite nenhum conhecimento.

INFORMAÇÃO- Chiavenato(1999, p. 366) define informação como, “[...] um conjunto de dados com um significado, ou seja, que reduz a incerteza ou que aumenta o conhecimento a respeito de algo”.

Processo Uma sequência semântica de operações realizadas com a finalidade de produzir um resultado específico.

      Conceito de algoritmo       

Uma série de procedimentos utilizados para a resolução de um problema. SAWAYA

"Conjunto finito de regras que provê uma sequência de operações para resolver um tipo de problema específico"[KNUTH]

"Sequência ordenada, e não ambígua, de passos que levam à solução de um dado problema" [TREMBLAY]

"Processo de cálculo, ou de resolução de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restrições, as regras formais para a obtenção do resultado ou da solução do problema" [AURÉLIO]

           Diretrizes para a Elaboração de Algoritmos         

Identificação do Problema: determinar o que se quer resolver ou qual objectivo a ser atingido;

Identificação das “entradas do sistema”: quais informações estarão disponíveis (serão fornecidas);

Identificação das “saídas do sistema”: quais informações deverão ser geradas/calculadas como resultado;

Definir os passos a serem realizados: determinar a sequências de acções que leve à solução do problema (transforme as entradas nas saídas);

Teste da solução: execução manual de cada passo do algoritmo, seguindo o fluxo estabelecido, para detectar possíveis erros.

Ex:
 Calcule a média final dos alunos, tendo em conta que foram realizadas 4 testes.
a. Quais são os dados de entrada?
b. Quais os dados de saída?
c. Quais os passos a serem seguidos.



        Formas de representação de algoritmo        
Existem três formas básicas de representação de algoritmos:

  •        Descrição Narrativa;
  •        Fluxograma;
  •        Pseudolinguagem.

Figuras usadas na representação de fluxograma

Resultado de imagem para fluxograma figuras



Objectivo

Criar um um algoritmo para mostrar o resultado da divisão de dois números.

  1.        Representar recorrendo a um pseudocódigo
  2.        Representar através de um fluxograma.

Representação utilizando um pseudocódigo
Algoritmo Dividir 
    declare N1, N2, D : inteiro

   Início 
       Escreva("Digite dois números")
       Leia(N1,N2)
       Se N2 = 0 Então
           Escreva("Impossível dividir")
       senão   
           D = N1/N2
           Escreva(D)
       Fim se
     Fim

Representação usando fluxograma

        Exercícios           

Implemente um pseudocódigo e um fluxograma para os seguintes exercícios:
  1.        Soma de dois números;
  2.           Divisão de dois números;
  3.           Calculo da média final dos alunos, tendo em conta que foram realizadas 4 testes.
  4.              Algoritmo que lê a idade de uma pessoa expressa em anos, meses e dias e mostre-a expressão apenas em dias.
  5.          Algoritmo que lê a idade de uma pessoa expressa em dias e mostre-a expressão em anos, meses e dias.
  6.           Algoritmo para ler as dimensões de um retângulo (base e altura), calcular e escrever a área do retângulo.



Slides da aula


Share:

terça-feira, 10 de março de 2020

CSS



               CSS - Cascading Style Sheets                           

CSS significa Cascading Style Sheets, descreve como os elementos HTML devem ser exibidos na tela, papel ou em outro mídia. CSS economiza muito trabalho pode ser utilizado para configurar o layout de várias páginas da web de uma só vez. Folhas de estilo externas são armazenadas em arquivos CSS.

CSS resolveu um grande problema

O HTML foi criado para descrever o conteúdo de uma página da web, como:

           <h1> Este é um cabeçalho </h1>

           <p> Este é um parágrafo. </p>

Quando tags como <font>, e atributos de cores foram adicionados à especificação do HTML 3.2, ele começou um pesadelo para os desenvolvedores da web. O desenvolvimento de sites grandes, onde fontes e informações de cores foram adicionadas a cada página.

Para resolver esse problema, o World Wide Web Consortium (W3C) criou CSS.


O CSS removeu a formatação do estilo da página HTML!

CSS resolveu um grande problema
O HTML NUNCA pretendia conter tags para formatar uma página da web!

O HTML foi criado para descrever o conteúdo de uma página da web, como:

<h1> Este é um cabeçalho </h1>

<p> Este é um parágrafo. </p>

Quando tags como <nome e atributos de cores foram adicionados à especificação do HTML 3.2, ele começou um pesadelo para os desenvolvedores da web. O desenvolvimento de sites grandes, onde fontes e informações de cores foram adicionadas a cada página, tornou-se um processo longo e caro.

Para resolver esse problema, o World Wide Web Consortium (W3C) criou CSS.

O CSS removeu a formatação do estilo da página HTML!


Com um arquivo de folha de estilo externo, pode-se modificar a aparência de um site inteiro alterando apenas um arquivo!

          CSS Syntax                          


Um conjunto de regras CSS consiste em um seletor e um bloco de declaração:





O selector - identifica o elemento HTML que que se pretende estilizar.

O bloco de declaração contém uma ou mais declarações separadas por ponto e vírgula.

Cada declaração inclui um nome de propriedade CSS e um valor, separados por dois pontos.

Uma declaração CSS sempre termina com ponto e vírgula e os blocos de declaração são cercados por chavetas.

                   CSS Selectors                


Os seletores CSS são usados ​​para "encontrar" (ou selecionar) os elementos HTML que você deseja estilizar.

Podemos dividir os seletores CSS em cinco categorias:
  • Selectores simples - seleccionam elementos com base no nome, ID, classe
  • Seletores combinadores - seleccionam elementos com base em um relacionamento específico entre eles
  • Selectores de pseudo-classe - seleccionam elementos com base em um determinado estado
  • Selectores de pseudoelementos - seleccionam e estilizam uma parte de um elemento
  • Selectores de atributos - seleccionam elementos com base em um atributo ou valor de atributo

           Selectores simples            


Seleccionam elementos com base no nome, ID, classe
Em um documento HTML, os selectores de ID e Class do CSS seleccionam um elemento baseado no conteúdo do  seu atributo,  o qual deve ser exactamente igual ao valor dado ao selector


 Ex: Seleccionando elemento com base no ID

       #principal {
           color: red;
        }
    Selecciona o conteúdo identificado pelo id principal e muda a côr do texto

 Ex: Seleccionando elemento com base na classe

       #principal {
           color: red;
        }
    Selecciona o conteúdo identificado pela classe principal e muda a côr do texto

           Selectores combinatórios            

Seleccionam elementos com base em um relacionamento específico entre eles, e é baseado num combinador que explica o relacionamento entre os selectores.

Um seletor de CSS pode conter mais de um seletor simples. Entre os seletores simples, podemos incluir um combinador.

Existem quatro combinadores diferentes no CSS:

    espaço   - selector descendente
          Ex: div p - selecciona todos elementos contidos em uma Div

     - selector filho
          Ex: div > p - Selecciona todos os elementos <p> nos quais o <div> é o um elemento pai

     - selector de irmão adjacente
          Ex: div + p - Selecciona todos os elementos <p> que são colocados imediatamente após os elementos <div>

     - selector geral de irmãos
         Ex: p ~ ul - Selecciona todos os elementos <ul> precedidos por um elemento <p>


           Selectores pseudo-classe                

Seleccionam elementos com base em um determinado estado. Um pseudo-classe é usado para definir um estado especial de um elemento.

Por exemplo, ele pode ser usado para:
  • Estiliza um elemento quando posicionamos o mouse sobre o elemento
  • Estiliza os links visitados e não visitados de maneira diferente
  • Estilize um elemento quando ele receber um foco
    Exemplos:
    :active - Selecciona o link activo
    :disabled - Selecciona todo elemento desactivado
    :empty - Selecciona todos elementos sem filhos
    :hover - selecciona o elemento apontado 
    :link - selecciona todos elementos não visitados
           Selectores pseudo-elements            

CSS - O pseudoelemento :: selection
O pseudoelemento :: selection corresponde à parte de um elemento que é selecionada por um utilizador

As seguintes propriedades CSS podem ser aplicadas a :: selection: color, background, cursor e outline.

O exemplo a seguir torna o texto selecionado vermelho em um fundo amarelo:

    ::selection {
       color: red;
       background: yellow;
     }

Alguns selectores:
     ::after  - Insere algo após o conteúdo de cada elemento 
          ::before - Insere algo antes do conteúdo de cada elemento 
          ::first-letter - Seleciona a primeira letra de cada elemento 
          ::first-line -  Seleciona a primeira linha de cada elemento


           Selectores de atributos                 

Este selector básico ira escolher nós baseados no valor de um de seus atributos, ou até mesmo pelo próprio atributo.

[attribute] - selecciona o atributo em causa
[attribute=value- selecciona o atributo em causa e que tenha um determinado valor
[attribute~=value] - selecciona o atributo em causa e que tenha uma determinada palavra(value)


          Referencias                   



Share:

Seguidores

Visitantes do blog

Pesquisar neste blogue

posts recentes

Formulário de Contacto

Nome

Email *

Mensagem *

Traduzir