Aula 3 - Formulários HTML e CSS - Introdução às Tecnologias Web - PDF

Summary

These lecture notes cover HTML, CSS and form elements, using examples of lists and other features. Suitable for web development students.

Full Transcript

Introdução às tecnologias Web - ITW Aula 3 – Listas, Estilos (CSS), Fontes & Formulários HTML Sumário Marcadores HTML Listas Marcadores especiais Formulários Entrada de dados Usabilidade e acessibilidade CSS’s – Cascading Style Sheet’s Tipos de letra - Fontes Estrutura base de um docume...

Introdução às tecnologias Web - ITW Aula 3 – Listas, Estilos (CSS), Fontes & Formulários HTML Sumário Marcadores HTML Listas Marcadores especiais Formulários Entrada de dados Usabilidade e acessibilidade CSS’s – Cascading Style Sheet’s Tipos de letra - Fontes Estrutura base de um documento html [relembrando…] Cabeçalho do documento [Este conteúdo não é representado] Titulo do Documento Conteúdo do documento [Este conteúdo é representado e é aqui que deve ser inserido o código HTML criado] Características de um elemento html [relembrando…] Um marcador / etiqueta (tag em inglês) num documento html fica sempre colocada entre os símbolos “”. As etiquetas são responsáveis pela formatação da linguagem Nas últimas versões da linguagem, 1. Um elemento é constituídos por um par de início e de fim de marcador 2. O marcador inicial deve conter a lista de atributos, caso haja Os atributos modificam os valores padrão dos elementos e os valores caracterizam essa mudança. 3. O corpo do marcador pode ter texto ou outros marcadores texto ou outros marcadores Características de um elemento html [relembrando…] Exemplo de um elemento simples (não possui filhos): Os atributos são sempre colocados dentro do marcador inicial Exemplo de um elemento com atributos: Universidade de Aveiro Exemplo de um elemento com filho com atributos: A Universidade de Aveiro é a minha Universidade. Os elementos filho deverão estar completamente inseridos dentro do elemento pai Marcadores HTML Listas Listas Listas ordenadas: … Criar listas ordenadas – Marcador Elementos da lista – Marcador Listas Ordenadas Maçã Pera Laranja Tipo de marcador da lista – Atributo type Valores possíveis: 1, A, a, I, i https://jsfiddle.net/JoaquimSousaPinto/3z0oqyd1/ Listas Listas não ordenadas: … Criar listas não ordenadas – Marcador Elementos da lista – Marcador Listas Não Ordenadas Azul Amarelo Verde Tipo de marcador da lista – Atributo type Valores possíveis: disc, circle, square https://jsfiddle.net/JoaquimSousaPinto/1d5qf05h/ Listas Listas não ordenadas: … Do exemplo da última aula prática… Listas Dicionários / Listas de definições: … Criar lista de definições – marcador: Marcador para identificação do termo: ; Marcador para a definição do termo: HTML Linguagem de marcadores … CSS Linguagem utilizada para … Listas / Resumo Exemplos Listas Maçã Pera Laranja Azul Amarelo Verde HTML Linguagem de marcadores … CSS Linguagem utilizada para … https://jsfiddle.net/JoaquimSousaPinto/juavx9fz/ Marcadores HTML Caracteres Especiais Representação de carateres especiais em HTML Há um conjunto de carateres que, ou não possuem representação direta, ou não pertencem a todos os alfabetos, por isso precisam de uma forma especial de representação. Exemplo: © → © início de caracter especial fim de caracter especial corpo do caracter especial 13 Representação de carateres especiais em HTML Caracteres & símbolos matemáticos: Char Number Entity Description ∀ ∀ ∀ FOR ALL ∂ ∂ ∂ PARTIAL DIFFERENTIAL ∃ ∃ ∃ THERE EXISTS Outros símbolos: Char Number Entity Description ∅ ∅ ∅ EMPTY SETS © © © COPYRIGHT SIGN ∇ ∇ ∇ NABLA ® ® ® REGISTERED SIGN ∈ ∈ ∈ ELEMENT OF € € € EURO SIGN ™ ™ TRADEMARK ∉ ∉ ∉ NOT AN ELEMENT OF ← ← ← LEFTWARDS ARROW ∋ ∋ ∋ CONTAINS AS MEMBER ↑ ↑ ↑ UPWARDS ARROW ∏ ∏ ∏ N-ARY PRODUCT → → → RIGHTWARDS ARROW ∑ ∑ ∑ N-ARY SUMMATION ↓ ↓ ↓ DOWNWARDS ARROW ♠ ♠ BLACK SPADE SUIT ♣ ♣ BLACK CLUB SUIT ♥ ♥ BLACK HEART SUIT Fonte: http://www.w3schools.com/html/html_symbols.asp (ver mais) Outros símbolos: http://www.sabinanore.com/design/html-special-symbols/ Marcadores HTML Formulários Formulários HTML … Os formulários são utilizados para a recolha de informação por parte dos utilizadores dos sítios na internet. São inseridos num bloco … Atributos: Name – nome do formulário; Action – endereço da entidade processadora a informação; Method – forma de envio dos dados para a entidade processadora dos dados. Suporta os valores: GET, POST, PUT, DELETE Exemplo: … … Para as aulas de ITW, de modo a que se possam fazer testes com dados reais, a entidade processadora está localizada em http://192.168.160.36/FormEcho.aspx. Nota importante: este endereço só é válido e visível dentro da UA – nas salas de aula ou, de casa, através de uma ligação por VPN. Campos de um formulário Marcador input - O marcador input é um dos principais responsáveis pela recolha de informação em formulários. Sintaxe: Atributos: Type - dependendo do valor assumido por este campo o comportamento do marcador altera-se. Os valores possíveis para ao atributo type são: button, checkbox, color, date, datetime, datetime-local, email, file, hidden, image, month, number, password, radio, range, reset, search, submit, tel, text, time, url, week (23!) Campos de um formulário Texto - Linha simples – Permite a inserção de uma linha de texto Atributos: Type – define o tipo de input. Para uma linha de texto, "texto"; Name – define o nome do atributo. Obrigatório. De outra forma essa informação não é passada à entidade processadora da informação; Value – (pode estar vazio ou omisso). Quando preenchido contém o valor a apresentar pela linha de texto; Placeholder – texto que aparece na caixa quando esta está vazia. Normalmente serve de ajuda ao utilizador. Exemplos: Campos de um formulário Texto - Password – Permite a inserção de uma linha de texto sem que o seu conteúdo possa ser lido na interface Atributos: Type – define o tipo de input. Para uma linha de texto, "password"; Name – define o nome do atributo. Obrigatório. De outra forma essa informação não é passada à entidade processadora da informação; Value – (normalmente/recomendavelmente vazio). Não faz sentido introduzir um texto que se pretende secreto e depois ele estar escrito no documento html … Placeholder – texto que aparece na caixa quando esta está vazia. Normalmente serve de ajuda ao utilizador. Exemplo: Campos de um formulário Texto – Hidden – Permite a inserção de texto sem que o seu conteúdo seja mostrado na interface Atributos: Type – define o tipo de input. Para uma linha de texto, "hidden"; Name – define o nome do atributo. Obrigatório. De outra forma essa informação não é passada à entidade processadora da informação; Value – contém o valor a enviar para a entidade processadora. Exemplo: Campos de um formulário Texto multilinha – … Permite a inserção de um texto com várias linhas. Atributos: Name – define o nome do atributo. Obrigatório. De outra forma essa informação não é passada à entidade processadora da informação; Rows – número de linhas Cols – número de colunas Placeholder – texto que aparece na caixa quando esta está vazia. Normalmente serve de ajuda ao utilizador Exemplo: Campos de um formulário Botão de submit- O botão de submit é o que permite o envio dos dados do formulário para a entidade processadora Atributos: Type – define o tipo de input. Para as opções, o tipo é "submit"; Name – define o nome do atributo. Opcional. Value – contém o texto do botão; também é enviado para a entidade processadora, caso o botão tenha um nome. Tal como referido, Para as aulas de ITW, de modo a que se possam fazer testes com dados reais, a entidade processadora está localizada em http://192.168.160.36/FormEcho.aspx. Nota importante: este endereço só é válido e visível dentro da UA – nas salas de aula ou, de casa, através de uma ligação por VPN. https://jsfiddle.net/JoaquimSousaPinto/ke8zpz9e/ Campos de um formulário Botão de reset - O botão de reset permite reverter o estado atual de um formulário ao seu estado inicial – tal como foi mostrado inicialmente - Atributos: Type – define o tipo de input. Para as opções, o tipo é "reset"; Name – define o nome do atributo. Opcional. Value – contém o texto a mostrar no botão. Campos de um formulário Secções do formulário – … O marcador … permite criar secções dentro de um formulário. Marcadores filhos: Cabeçalho da secção: …; Todos os outros campos de um formulário. Atributos: Name – define o nome do fieldset. Campos de um formulário Checkboxes - Este marcador permite a escolha de ZERO OU MAIS opções de uma lista Atributos: Type – define o tipo de input. Para as opções, o tipo é “checkbox"; Name – define o nome do atributo. Obrigatório. De outra forma essa informação não é passada à entidade processadora da informação; Value – contém o valor a enviar para a entidade processadora. Exemplos: Meios de transporte Bicicleta Carro Comboio https://jsfiddle.net/JoaquimSousaPinto/m5yhd5hq/ Campos de um formulário Radio boxes - Este marcador permite a escolha de ZERO OU UMA OPÇÃO de uma lista. Atributos: Type – define o tipo de input. Para as opções, o tipo é “checkbox"; Name – define o nome do atributo. Obrigatório. De outra forma essa informação não é passada à entidade processadora da informação; Value – contém o valor a enviar para a entidade processadora. Exemplos: Cor preferida Azul Verde Vermelho Outra Nota importante: se mais que um input do tipo radio possuir o mesmo nome, estes input’s comportam-se como um grupo. Num grupo NENHUMA ou APENAS UMA das opções pode ser selecionada https://jsfiddle.net/JoaquimSousaPinto/thxgqfvg/ Campos de um formulário Botão genérico - O botão genérico não possui um comportamento associado por omissão. Depende do que for configurado pelo utilizador Atributos: Type – define o tipo de input. Para as opções, o tipo é “button"; Value – contém o texto a mostrar no botão. Voltaremos a este botão quando for lecionada programação de comportamento de botões Campos de um formulário Botão genérico - O botão do tipo file permite o envio de ficheiros para o servidor - Atributos: Type – define o tipo de input. Para as opções, o tipo é “reset"; Name – contém o nome do ficheiro a enviar para a entidade processadora. Nota importante: para que os ficheiros possam ser recolhidos no servidor é imprescindível incluir no marcador do o atributo enctype com o valor multipart/form-data....... Campos de um formulário Listas de valores – seleção simples - … As listas de valores são importantes quando se pretende que o utilizador selecione valores dentro de uma gama pré-definida. Para definer a lista é utilizado o marcador …. As opções da lista são delimitadas por marcadores … Atributos: Value – o valor a enviar para a entidade processadora Selected – (Opcional). Indica que esta opção é a pré-selecionada. Toma sempre o valor "selected". Audi Peugeot Other Caso o utilizador escolha a marca Audi, o valor enviado à entidade processadora será “1”! https://jsfiddle.net/JoaquimSousaPinto/xhLfg5t8/ Campos de um formulário Listas de valores – seleção múltipla - … Qualndo se pretende utilizer uma lista em que utilizador pode escolher mais do que um elementos, isso deve ser assinalado no marcador … com o atributo multiple. Atributos: Multiple – atributo que indica que é possível escolher mais que um elemento na lista. Caso esteja presente, toma sempre o valor “multiple”. keyboard mouse speakers Pergunta: como se escolhe mais que um elemento na lista (keyboard e mouse, por exemplo …)? https://jsfiddle.net/JoaquimSousaPinto/xhLfg5t8/2/ Usabilidade e acessibilidade Labels Os labels são utilizados para associar um texto explicativo a um marcador de um formulário. A associação entre ambos faz-se através do atributo ID Isso significa que para além de um Name, os marcadores passam também a necessitar de um atributo ID que pode, ou não, ser igual ao Name. First Name Sempre que se seleciona um label (click com o rato), se o campo associado for um input do tipo "text" ou uma o campo respetivo fica selecionado; se for um input do tipo "radio" a opção fica imediatamente selecionada; se for um input do tipo "checkbox" a opção troca de estado (selecionado/desselecionado) Usabilidade e acessibilidade Labels Os labels são muito importantes do ponto de vista da usabilidade e da acessibilidade de uma página web. São obrigatórios para que um formulário seja considerado “acessível” nos testes respetivos. Para mais informação sobre acessibilidade na web , ver em: https://www.w3.org/WAI/test-evaluate/, consultado em 03out2023 Para testar páginas pessoais sobre a sua conformidade de acordo com as normas de acessibilidade, testar em: https://achecks.org/achecker consultado em 03out2023 Usabilidade e acessibilidade Tabindex O atributo tabindex controla a ordem por que os campos e hiperligações são apresentadas sempre que carregamos na tecla [Tab]. São um elemento de auxílio e de usabilidade pois a utilização do rato como dispositivo apontador nem sempre é uma opção para todos os utilizadores. CSS – Cascading Style Sheets Introdução CSS – Cascading Style Sheets O que é? CSS é o acrónimo de Cascading Style Sheets, ou numa tradução literal para português, folhas de estilos encadeados. Os estilos CSS permitem fazer a separação entre a estrutura do documento HTML e a sua representação. A linguagem HTML define que um conjunto de elementos estruturais de um documento Exemplos: um cabeçalho de nível 1 é representado por () ou um parágrafo é representado por (); A linguagem CSS controla as fontes, cores, margens, linhas, alturas, larguras, imagens de fundo, posicionamento, entre muitos outros, de todos os elementos html. CSS – Cascading Style Sheets Origem / necessidade Tal como foi referido na aula anterior, a linguagem HTML foi criada para publicação e disseminação de informação científica. Para isso, foram desenvolvidos um conjunto de marcadores que se preocupavam muito mais com a semântica e estrutura do documento que com a sua forma de representação. Com a massificação da sua utilização (fora do contexto original) a WWW ganhava popularidade. Mas o resultado não satisfazia e, … … os designers começavam a sentir a necessidade de encontrar meios de representar a informação de forma mais atrativa novos tipos de letra, cores, imagens, representação sem ser em tabelas,... CSS – Cascading Style Sheets Origem / necessidade Foram criados novos marcadores HTML tais como, por exemplo, o marcador , e. Exemplo análogo ocorreu com o marcador , que era destinado a representar informação tabular e que passou a ser utilizado para a definição do layout da página e não para a representação de informação na forma tabular – tal como fizemos na aula prática. As CSS’s vieram trazer ordem à confusão entretanto criada colocando à disposição dos web designers meios sofisticados para projetar layouts. Assim foi possível manter uma separação entre os elementos de representação da estrutura dos documentos (p, div, span, li, etc…) e a sua representação (amarelo, grande, à esquerda, …), facilitando a manutenção dos web sites. Isso permite que o mesmo documento, quando submetido a folhas de estilos diferentes, seja representado distintamente. (letra maior/letra menor, fundo branco/fundo preto, …) CSS – Cascading Style Sheets Formas de definição e hierarquia As instruções CSS podem ser definidas de três formas distintas: Global – colocadas num ficheiro externo que pode depois ser associado a um ou mais documentos html. Document – colocadas dentro de um marcador localizado no do documento; In-line – colocadas na linha do marcador html; A precedência é Global → Document → Inline, ou seja, a instrução que prevalece é a que estiver mais próxima do elemento. CSS – Cascading Style Sheets Notação In-line Document / Global seletor {propriedade : valor; propriedade : valor;} CSS – Cascading Style Sheets Notação - Exemplos Inline Document div { background-color: #FF0000; } … Documento html Global … Ficheiro style.css div { background-color: #FF0000; } CSS – Cascading Style Sheets Cores A propriedade color define a cor de um elemento. Exemplo 1: Documento / Global: p { color : #F0FFFF; } In-line: … Os primeiros dois símbolos no código de cor HTML representam a intensidade da cor vermelho – 00 é o mínimo e FF é o mais intenso. O terceiro e o quarto símbolos representam a intensidade de verde; O quinto e o sexto símbolos representam a intensidade de azul. Nem todas as cores são representadas na Web. O conjunto de cores representáveis é denominado por “safe colors” / “cores seguras”. Uma tabela com os nomes e códigos destas colors está disponível em http://www.flextool.com.br/tabela_cores.html, visitado em 23Out2021 CSS – Cascading Style Sheets Cores A propriedade color define a cor de um elemento. Exemplo2: Documento / Global: p { color : rgb(240,255,255); } In-line: … Neste caso a cor é representada na forma decimal através da função rgb(rr,gg,bb). Há ainda uma forma similar de representação rgba(rr,gg,bb,tt), em que tt é a transparência e pode variar entre 0.0 (transparente) e 1.0 (opaco) As cores são separadas por uma vírgula Testar cores em http://www.css3maker.com/css-3-rgba.html, visitado em 04out2022 CSS – Cascading Style Sheets Cores A propriedade color define a cor de um elemento. … Exemplo 3: Documento / Global: p { color: Azure1; } In-line: … Neste caso a cor é definida pelo seu nome. Lista de nomes de cores: http://www.tedmontgomery.com/tutorial/clrnmsWH.html, visitado em 04out2022 Nem todos os browsers interpretam as cores pelo seu nome. CSS – Cascading Style Sheets Fundos Propriedades: background-color background-image – url("url da imagem") Exemplo: div { background-image: url "https://cdn.pixabay.com/photo/2012/03/03/23/06/wall-21534_960_720.jpg"); } background-repeat background-repeat: repeat-x – repete-se na horizontal background-repeat: repeat-y – repete-se na vertical background-repeat: repeat – repete-se tanto na horizontal como na vertical background-repeat: no-repeat – não se repete em qualquer direção CSS – Cascading Style Sheets Fundos background-attachment Background-attachment: scroll - imagem move-se quando é feito o arrastamento Background-attachment: fixed - imagem fica fixa quando é feito o arrastamento background-position background-position: 2cm 2cm – imagem a 2 cm da esquerda e 2 cm para baixo na página background-position: 50% 25% a – imagem centrada na horizontal e a um quarto (25%) para baixo na página background-position: top right – imagem é posicionada no canto superior direito CSS – Cascading Style Sheets Fundos É ainda possível representar um background combinando as diversas partes do mesmo. Exemplo: div { background: #FFCC66 url("https://cdn.pixabay.com/photo/2012/03/03/23/06/wall-21534_960_720.jpg") no-repeat; } CSS – Cascading Style Sheets Exemplo de Hierarquia / Precedência style.css body {background-color: #FF0000;} teste.html Exemplo body {background-color: #00FF00;} De que cor é o fundo deste documento? Respondam a esta pergunta … CSS – Cascading Style Sheets Fontes de texto Propriedade font-family A propriedade font-family é usada para definir a lista das fontes a utilizar num marcador e qual a sua prioridade para apresentação. Se a primeira fonte da lista não estiver instalada, deverá ser usada a segunda e assim por diante até ser encontrada uma fonte instalada. Exemplo: body {font-family: 'Segoe UI', Tahoma, Geneva, Verdana, Sans-Serif} h1 {font-family: Arial, Verdana, Sans-Serif;} h2 {font-family: 'Times New Roman’, Serif;} Perguntas: por que razão se pode/deve utilizar uma lista de fontes e não apenas uma? porque há nomes entre aspas ('Segoe UI') e outros sem nada (Serif)? CSS – Cascading Style Sheets Fontes de texto Propriedade font-style - normal | italic | oblique | initial | inherit; font-variant - normal | small-caps | initial | inherit; font-weight - normal | bold | bolder | lighter | (100-900) | initial | inherit; 300 = light; 400 = normal; 700 = bold; font-size 1. medium | xx-small | x-small | small | large | x-large | xx-large | smaller | larger | initial | inherit 2. valor numérico (10px, 8pt, 1.2cm, …) 3. % - percentagem relativamente ao elemento anterior (elemento pai) (80%, 75%, …) CSS – Cascading Style Sheets Fontes de texto Exemplo de um estilo CSS na forma expandida p { font-style: 1em; font-weight: normal; font-size: 12px; font-family: 'Segoe UI', sans-serif; } Exemplo de um estilo CSS na forma reduzida p { font: 1em normal 12px 'Segoe UI', sans-serif; } CSS – Cascading Style Sheets alinhamento – largura e altura Propriedade width – 100% | 800px | 600pt | 1.2em; height - 100% | 600px | 200pt | 1.2em; Exemplo de um estilo CSS td { width: 100px; height: 100px; } CSS – Cascading Style Sheets alinhamento – horizontal e vertical Propriedade align - left | right | center | justify; valign - top | base | middle | bottom; Exemplo: td { align: center; valign: top; } Elementos, classes e Id’s Qual a diferença? Para descrever o conteúdo em um documento utilizamos marcadores básicos como , , , , etc. Contudo, esse conjunto básico de marcadores não cobre todos os tipos possíveis de elementos da página ou escolha de layout. Para particularizar, precisamos de ID’s e classes. Por exemplo para definir um rodapé, podemos fazer algo como isto:. Ou se quisermos caixas para manter o conteúdo separado de alguma forma:. Elementos, classes e Id’s Qual a diferença? Esses IDs e classes são os “elos de ligação” que precisamos de utilizar na marcação para os podemos modelar da forma pretendida. O CSS precisa desses elos de ligação para construir seletores e fazer os nossos estilos, mas outras linguagens como o JavaScript, também dependem deles. Mas qual é a diferença entre IDs e classe? Os IDs são únicos Cada elemento pode ter apenas um ID Cada página pode ter apenas um elemento com esse ID As classes não são únicas Pode-se usar a mesma classe em vários elementos. Pode-se usar várias classes no mesmo elemento. Elementos, classes e Id’s Qual a diferença? Combinações de classes e IDs É possível combinar classes e IDs encadeando esses seletores sem espaços. ID e seletor de classe: #one { color: blue; } #one.two { color: red; } This Should Be Blue This Should Be Red Elementos, classes e Id’s Qual a diferença? Múltiplo seletor de classe É possível marcar um elemento com várias classes. O exemplo abaixo possui duas classes, mas não está limitado a duas. Podem ser “N” Utilização de classes e ID's #one { color: blue; } #one.two { color: red; }.three { color: purple; }.four { color: brown; }.three.four { color: green; } This Should Be Blue This Should Be Red This Should Be Purple This Should Be Brown This Should Be Green Elementos, classes e Id’s Qual a diferença? Resumo importante: Os estilos CSS marcadores html utilizam o nome do marcador como identificador; Os estilos das classes começam com ponto (“.”); Os estilos dos IDs começam com cardinal (“#”) Utilização de fontes CSS – Cascading Style Sheets Fontes de texto - utilização de fontes próprias Uma das principais características do desenvolvimento de websites institucionais é poder aplicar a imagem institucional na sua plenitude. Isso implica, muitas vezes, na utilização de fontes/tipos de letra próprios, feitas especificamente para essa marca. Essas fontes não estão disponíveis nos computadores dos clientes que lhes acedem… CSS – Cascading Style Sheets Fontes de texto - utilização de fontes próprias Solução? A solução inicial foi criar imagens e disponibilizar esses texto como imagens. Isso não é fácil e obriga a um gasto de dados maior para a transmissão dessas imagens… A solução ideal passa por enviar as fontes de texto para os computadores dos utilizadores remotos … Para além das fontes pré-existentes nos computadores é possível a instalação de novas fontes numa página web. Neste caso, é necessário possuir os ficheiros de definição da fonte no seu computador. CSS – Cascading Style Sheets Fontes de texto - utilização de fontes próprias Há inúmeras fontes disponíveis na Internet e que podem ser utilizadas. Mas … nem todas fontes estão adaptadas a todos os tipos de dispositivos. Exemplos: CSS – Cascading Style Sheets Fontes de texto - utilização de fontes próprias https://www.fontsquirrel.com/ Incorporando fontes em páginas @font-face { font-family: myFirstFont; src: url(sansation_light.woff); } div { font-family: myFirstFont; } Fontes públicas – Google Fonts Para além do exemplo anterior, em que os ficheiros de definição estão no computador do utilizador ou no servidor web, há outra forma de utilizar fontes – carregando-as diretamente do distribuidor. Neste caso vamos utilizar as fontes públicas da Google, Ver: https://fonts.google.com/ (1.006 famílias em 13/10/2020, 1.291 em 23/10/2021) Cada família possui um ou mais estilos Exemplo de utilização Utilização de fonte externa body { font-family: 'Open Sans', sans-serif; }

Use Quizgecko on...
Browser
Browser