Escolar Documentos
Profissional Documentos
Cultura Documentos
4 de fevereiro de 2020
Aula Inicial
1 HTML
2 CSS
3 JavaScript
4 Acessibilidade
Critérios de aprovação
Organização Acadêmica Institucional 2014
Segunda chamada
http://sites.google.com/site/paulomgj/home/dsw1.
A página da disciplina possui informações tais como:
conteúdo apresentado em cada aula;
exercı́cios propostos e resolvidos;
horário das aulas;
e-mail do professor para contato;
plano de ensino.
CSS
JavaScript
Permite que você adicione comportamento às suas páginas. Pode ser
usado para validar dados de formulários, arrastar e soltar elementos,
modificar o estilo dinamicamente, etc.
Introdução a HTML
O que é HTML
A história de HTML
<div id="masthead">
<h1>The Basics of
<abbr title="Hypertext Markup Language">HTML</abbr>
</h1>
</div>
Caracteres especiais
O que é XHTML
Elemento head
Elemento head
Adicionando estilos
screen: Monitores
print: Impressão
handheld: Dispositivos móveis
projection: Apresentações em HTML
<style type="text/css">
body{
background:#000;
color:#ccc;
font-family: helvetica, arial, sans-serif;
}
</style>
Externalizando
O elemento link
Uma vez que a página foi quebrada em seções lógicas, cada seção
deve ser introduzida por um cabeçalho especı́fico.
HTML define seis nı́veis de cabeçalhos <h1>, <h2>, <h3>, <h4>, <h5>, e
<h6> (do de maior importância para o menor).
<blockquote>
<p>Para ser grande, sê inteiro: nada<br />
Teu exagera ou exclui.<br />
Sê todo em cada coisa. Põe quanto és<br />
No mı́nimo que fazes.<br />
Assim em cada lago a lua toda<br />
Brilha, porque alta vive.</p>
</blockquote>
<p>Poema de Fernando Pessoa.</p>
Elementos de linha
Referências curtas
Elementos de linha
Indicando ênfase
Elementos de linha
Elementos de apresentação – não usar
Elementos de linha
Usando fonte monospace
Listas em HTML
Imagens em HTML
Links
Links são partes de uma página que apontam para outros recursos –
outros documentos HTML, textos, arquivos PDF, etc.
Alguns são seguidos automaticamente pelo navegador (elemento
link) e outros são opcionais, só sendo ativados quando o usuário clica
neles. Estes são chamados de âncoras e podemos adicioná-lo usando
o elemento <a>.
Tabelas em HTML
<table>
<tr>
<td>Volcano Name</td>
<td>Location</td>
<td>Last Major Eruption</td>
<td>Type of Eruption</td>
</tr>
<tr>
<td>Mt. Lassen</td>
<td>California</td>
<td>1914-17</td>
<td>Explosive Eruption</td>
</tr>
<tr>
<td>Mt. Hood</td>
<td>Oregon</td>
<td>1790s</td>
<td>Pyroclastic flows and Mudflows</td>
</tr>
</table>
<table>
<caption>Recent Major Volcanic Eruptions in the Pacific Northwest</
caption>
<thead>
<tr>
<th scope="col">Volcano Name</th>
<th scope="col">Location</th>
<th scope="col">Last Major Eruption</th>
<th scope="col">Type of Eruption</th>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="4">Compiled in 2008 by Ms Jen</td>
</tr>
</tfoot>
<tbody>
<tr>
<th scope="row">Mt. Lassen</th>
<td>California</td>
<td>1914-17</td>
<td>Explosive Eruption</td>
</tr>
<tr>
<th scope="row">Mt. Hood</th>
<td>Oregon</td>
<td>1790s</td>
<td>Pyroclastic flows and Mudflows</td>
</tr>
<tr>
<th scope="row">Mt. St. Helens</th>
<td>Washington</td>
<td>1980</td>
<td>Explosive Eruption</td>
</tr>
</tbody>
</table>
Elemento form
Elemento input I
Elemento input
Atributo type
text number
submit range
radio color
checkbox date
password email
hidden search
reset month
button week
file tel
image datetime
Elemento input
Outros atributos
autofocus pattern
checked placeholder
disabled readonly
min required
max size
maxlength src
multiple step
Introdução a CSS
Introdução
O que é CSS?
Modelo:
selector {
property1: value;
property2: value;
property3: value;
}
Exemplo:
p {
margin:5px;
font-family:arial;
color:blue;
}
Comentários
Agrupando seletores
/* Igual a */
h1, p {color:red;}
Agrupando seletores
Seletores avançados
Seletor universal
* {
border: 1px solid #000000;
}
Seletores avançados
Seletor de atributo
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 100 / 325
Seletores avançados
Seletores avançados
Seletor de filho
h3 > strong {
color: blue;
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 101 / 325
Seletores avançados
Seletores avançados
Seletor de descendentes
Similares aos seletores de filhos, exceto que estes só selecionam filhos
diretos; seletores de descendentes selecionam elementos em qualquer
nı́vel da estrutura hierárquica.
<div>
<em>hello</em>
<p>In this paragraph I will say <em>goodbye</em>.</p>
</div>
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 102 / 325
Seletores avançados
Seletores avançados
Seletor de irmãos adjacentes
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 103 / 325
Seletores avançados
Seletores avançados
Pseudo-classes
São usados para prover estilos não para elementos, mas para os vários
estados de um elemento. Mais usados para estilizar os estados de
links.
:link – o estado padrão dos links.
:visited – links já visitados.
:focus – links (ou campos de formulário, ou qualquer outra coisa)
onde o cursor do teclado esteja selecionado.
:hover – links cujo mouse esteja atualmente apontando.
:active – um link que está sendo clicado.
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 104 / 325
Seletores avançados
Seletores avançados
Pseudo-classes
a:link {
color: blue;
}
a:visited {
color: gray;
}
a:hover, a:focus {
text-decoration: none;
}
a:active {
font-weight: bold;
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 105 / 325
Seletores avançados
Seletores avançados
Pseudo-classes
p:lang(en-US) { }
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 106 / 325
Seletores avançados
Seletores avançados I
Pseudo elementos
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 107 / 325
Seletores avançados
Seletores avançados II
Pseudo elementos
h1::before {
content: url(smiley.gif);
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 108 / 325
Aplicando CSS a HTML
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 109 / 325
Aplicando CSS a HTML
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 110 / 325
Aplicando CSS a HTML
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 111 / 325
Aplicando CSS a HTML
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 112 / 325
Parte XIII
Herança e Cascata
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 113 / 325
Introdução
Introdução
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 114 / 325
Herança
Herança
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 115 / 325
Herança
Herança
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 116 / 325
Herança
Herança
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 117 / 325
Herança
Herança
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 118 / 325
Herança Forçando a herança
Forçando a herança
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 119 / 325
A cascata
A cascata
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 120 / 325
A cascata Importância
Importância
* {
font-family: "Comic Sans MS" !important;
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 121 / 325
A cascata Especificidade
Especificidade
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 122 / 325
A cascata Especificidade
Especificidade
Seletor a b c d Especificidade
h1 1 0,0,0,1
.foo 1 0,0,1,0
li:first-child h2 .title 0 0 2 2 0,0,2,2
#bar 1 0,1,0,0
#nav .selected > a:hover 0 1 2 1 0,1,2,1
html>head+body ul#nav *.home a:link 1 2 5 0,1,2,5
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 123 / 325
A cascata Ordem do código fonte
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 124 / 325
Parte XIV
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 125 / 325
Propriedades de fonte em CSS
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 126 / 325
Propriedades de fonte em CSS
body {
font-size: 14px;
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 127 / 325
Propriedades de fonte em CSS
Tipo Valores
Relativos em, ex, percentual
Absolutos px, pt, pc, in, cm
Nomeados xx-small, x-small, small, medium, large, x-large, xx-large
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 128 / 325
Propriedades de fonte em CSS
body {
font-family: Palatino, ’Palatino Linotype’, Georgia, sans-serif;
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 129 / 325
Propriedades de fonte em CSS
em {
font-size: large;
font-style: normal;
}
strong {
font-variant: small-caps;
font-weight: normal;
font-style: italic;
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 130 / 325
Propriedades de fonte em CSS
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 131 / 325
Propriedades de fonte em CSS
Sombreamento
div {
box-shadow: 10px 10px 5px #888888;
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 132 / 325
Propriedades de fonte em CSS
Propriedade Valores
font-family cursive, fantasy, monospace, sans-serif, serif
font-size xx-small, x-small, small, medium, large, x-large,
xx-large
font-style italic, oblique, normal
font-variant small-caps, normal
font-weight bold, normal
line-height normal
text-align left, right, center, justify
text-decoration line-through, none, overline, underline
text-transform capitalize, lowercase, none, uppercase
white-space normal, nowrap, pre, pre-line, pre-wrap
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 133 / 325
Parte XV
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 134 / 325
Introdução
Introdução
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 135 / 325
Propriedades básicas Margens
Margens
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 136 / 325
Propriedades básicas Margens
Margens
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 137 / 325
Propriedades básicas Margens
Margens
Margens automáticas:
O valor auto instrui o navegador para renderizar a margem de acordo
com o valor do seu estilo. Entretanto, se tal margem é aplicada a um
elemento com uma largura associada, uma margem automática faz com
que todo o espaço disponı́vel seja apresentado como espaço em branco.
Margens negativas:
Todas as margens podem possuir valores negativos. Quando isso
ocorre, uma margem adjacente pode ser efetivamente cancelada em
qualquer grau. Aplicando-se uma margem negativa larga suficiente, o
elemento adjacente pode ser sobreposta.
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 138 / 325
Propriedades básicas Margens
Margens
Margens colapsadas
Em casos onde dois elementos de bloco adjacentes e similares
compartilham margens maiores que zero, apenas a maior margem será
aplicada.
p { margin: 1em auto 1.5em auto; }
Se o documento com este estilo fosse ser renderizado de forma literal,
as margens resultantes entre dois parágrafos em série seria de 2.5em,
como a soma da margem de baixo do parágrafo 1 (1.5em) e a margem
de cima do parágrafo 2 (1em). Entretanto, por causa da aplicação das
margens colapsadas, a margem será de 1.5em.
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 139 / 325
Propriedades básicas Bordas
Bordas
border-right-style
border-width
border-right-color
border-style
border-bottom
border-color
border-bottom-width
border-top
border-bottom-style
border-top-width
border-bottom-color
border-top-style
border-left
border-top-color
border-left-width
border-right
border-left-style
border-right-width
border-left-color
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 140 / 325
Propriedades básicas Bordas
Bordas
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 141 / 325
Propriedades básicas border-radius
Bordas arredondadas I
div {
border: 2px solid #a1a1a1;
padding: 10px 40px;
background: #dddddd;
width: 300px;
border-radius: 25px;
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 142 / 325
Propriedades básicas border-radius
Bordas arredondadas II
div {
border: 2px solid #a1a1a1;
padding: 10px 40px;
background: #dddddd;
width: 300px;
border-top-left-radius: 25em;
border-top-right-radius: 25em;
border-bottom-right-radius: 25em;
border-bottom-left-radius: 25em;
}
É o mesmo que:
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 144 / 325
Propriedades básicas Padding
Padding
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 145 / 325
Trabalhando com altura e largura
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 146 / 325
Trabalhando com altura e largura
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Exemplo</title>
<style>
#box { width: 50%; min-width: 200px; max-width: 400px; background-color
: yellow; }
#min { width: 200px; background-color: red; }
#max { width: 400px; background-color: blue; }
</style>
</head>
<body>
<p id="min">Minimum width</p>
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 147 / 325
Trabalhando com altura e largura
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 148 / 325
Trabalhando com altura e largura
Sobreposição
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 149 / 325
O Modelo de Caixa de CSS
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 150 / 325
O Modelo de Caixa de CSS
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 151 / 325
Trabalhando com o fluxo do documento
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 152 / 325
Trabalhando com o fluxo do documento
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 153 / 325
Trabalhando com o fluxo do documento
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 154 / 325
Parte XVI
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 155 / 325
Plano de fundo
Cor
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 156 / 325
Plano de fundo
Imagem e Repetição
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 157 / 325
Plano de fundo
Anexo e Posição
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 158 / 325
Plano de fundo
Propriedade minimizada
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 159 / 325
Plano de Fundo I
div {
background: url(img_flwr.gif);
background-repeat: no-repeat;
background-size: 100% 100%;
background-origin: content-box;
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 160 / 325
Plano de Fundo II
div {
padding: 25px;
border: 5px dotted #000000;
background-color: yellow;
background-clip: content-box;
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 161 / 325
Parte XVII
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 162 / 325
Estilizando Listas
Introdução
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 163 / 325
Estilizando Listas
Marcadores personalizados I
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 164 / 325
Estilizando Listas
Marcadores personalizados II
.rss li {
background: #fff url("icon-rssfeed.gif") 0 3px no-repeat;
padding: 0 0 5px 15px;
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 165 / 325
Estilizando Listas
Se você desejar que o texto de um item com várias linhas fique abaixo
do marcador, você pode usar a propriedade list-style-position para
o valor inside. O padrão é o valor outside.
A propriedade minimizada list-style permite setar os valores das
propriedades list-style-type, list-style-image, e
list-style-position simultaneamente.
ul {
list-style: disc url("http://png.com/ellipse.png") inside;
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 166 / 325
Estilizando Listas
Listas Horizontais
#mainmenu li {
display: inline;
padding: 0 1em 0 0;
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 167 / 325
Estilizando Listas
Colunas Falsas
.rss li {
display: inline-block;
width: 40%;
margin: 0 2% 0 0;
list-style-type: none;
background: #fff url("icon-rssfeed.gif") 0 3px no-repeat;
padding: 0 0 5px 15px;
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 168 / 325
Estilizando links
Estilizando links
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 169 / 325
Estilizando links
Estados de um link
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 170 / 325
Estilizando links
Deve-se estar ciente que se não colocar os estilos dos links na ordem
correta, as propriedades vão sobrescrever umas às outras e os estados
não funcionarão. A ordem correta é a seguinte:
1 link
2 visited
3 focus
4 hover
5 active
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 171 / 325
Parte XVIII
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 172 / 325
Estilizando Tabelas
Introdução
Tabelas não devem ser usadas para layout. Veremos como posicionar
elementos na tela nas próximas aulas.
Os elementos estruturais chave que precisaremos estilizar são:
Cabeçalhos
Células de dados
Tı́tulo da tabela
Para facilitar a interpretação, devemos garantir que estes elementos
sejam claramente diferentes. As formas mais comuns são pela
utilização de bordas, cores de fundo, ou ambas.
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 173 / 325
Estilizando Tabelas Largura da tabela e das células
th, td {
width: 25%;
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 174 / 325
Estilizando Tabelas Alinhamento
Alinhamento
table {
width: 100%;
}
th, td {
width: 25%;
text-align: left;
vertical-align: top;
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 175 / 325
Estilizando Tabelas Bordas
Bordas
th, td {
width: 25%;
text-align: left;
vertical-align: top;
border: 1px solid #000;
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 176 / 325
Estilizando Tabelas Bordas
Bordas
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 177 / 325
Estilizando Tabelas Espaçamento e Tı́tulo da tabela
th, td {
width: 25%;
text-align: left;
vertical-align: top;
border: 1px solid #000;
border-collapse: collapse;
padding: 0.3em;
caption-side: bottom;
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 178 / 325
Estilizando Tabelas Fundo de tela
Fundo de tela
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 179 / 325
Parte XIX
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 180 / 325
Para que servem?
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 181 / 325
Um pouco de teoria
Um pouco de teoria
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 182 / 325
Como a flutuação funciona?
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 183 / 325
Clear
Clear
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 184 / 325
Contendo flutuações
Clear
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 185 / 325
Centralizando
Centralizando
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 186 / 325
Parte XX
Posicionamento em CSS
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 187 / 325
Para que serve?
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 188 / 325
Estático
Estático
Valor padrão.
Caixas são posicionadas na ordem que elas se encontram no código
fonte, ocupando o máximo de espaço necessário.
Existem diferenças com relação ao tipo de caixa: bloco ou de linha.
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 189 / 325
Estático Bloco
Bloco
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 190 / 325
Estático Linha
Linha
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 191 / 325
Relativo
Relativo
Absoluto I
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 193 / 325
Absoluto
Absoluto II
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 194 / 325
Absoluto
Três dimensões I
Três dimensões II
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 196 / 325
Fixo
Fixo
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 197 / 325
Parte XXI
Media Queries
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 198 / 325
Introdução
Introdução I
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 199 / 325
Introdução
Introdução II
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 200 / 325
Operadores lógicos
Operadores lógicos I
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 201 / 325
Operadores lógicos
Operadores lógicos II
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 202 / 325
Caracterı́sticas da mı́dia
Caracterı́sticas da mı́dia
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 203 / 325
Parte XXII
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 204 / 325
Introdução
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 205 / 325
Introdução
Mı́dia de Paginação
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 206 / 325
Introdução
Quebras de Página
always
avoid
left
right
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 207 / 325
Introdução
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 208 / 325
Introdução
Contadores I
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 209 / 325
Introdução
Contadores II
Para acrescentar conteúdo, usamos a propriedade content. Podemos
criar texto e utilizar as funções counter e counters para mostrar o
valor de um contador. Deve ser usado sempre em conjunto com os
pseudo-elementos ::before ou ::after.
h1::before {
content: "Chapter " counter(chapter, upper-romand) ": ";
counter-increment: chapter;
}
li::before {
counter-increment: section;
content: counters(section,".") " ";
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 210 / 325
Introdução
Contadores III
<ol>
<li>item</li>
<li>item
<ol>
<li>item</li>
<li>item</li>
</ol>
</li>
<li>item</li>
</ol>
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 211 / 325
Introdução
Notas de rodapé
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 212 / 325
Introdução
Margens da página
@page {
size: A4;
margin: 10%;
@top-left-corner {
content: "Page " counter(page);
}
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 213 / 325
Parte XXIII
Introdução a Acessibilidade
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 214 / 325
O que é acessibilidade?
O que é acessibilidade?
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 215 / 325
O que é acessibilidade?
Objetivos
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 216 / 325
Por que a acessibilidade é importante?
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 217 / 325
Por que a acessibilidade é importante? Legalidades da acessibilidade
Legalidades da acessibilidade
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 218 / 325
Por que a acessibilidade é importante? Mercados potenciais
Mercados potenciais
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 219 / 325
Por que a acessibilidade é importante? Engenhos de busca
Engenhos de busca
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 220 / 325
Projetando com acessibilidade em mente
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 221 / 325
Requisitos de interoperabilidade
Requisitos de interoperabilidade
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 222 / 325
Requisitos de interoperabilidade
Requisitos de interoperabilidade
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 223 / 325
Caracterı́sticas de uma página web acessı́vel
Estrutura semântica
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 224 / 325
Caracterı́sticas de uma página web acessı́vel
Conteúdo alternativo
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 225 / 325
Padrões para acessibilidade
Nota A AA AAA
Prioridade 1 1e2 1, 2 e 3
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 226 / 325
Padrões para acessibilidade
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 227 / 325
Parte XXIV
Testando Acessibilidade
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 228 / 325
Introdução I
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 229 / 325
Introdução II
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 230 / 325
Quando testar?
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 231 / 325
Entendendo seus requisitos
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 232 / 325
Entendendo seus requisitos
Os detalhes da conformidade
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 234 / 325
Entendendo seus requisitos
A importância da interface com o usuário
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 235 / 325
Entendendo seus requisitos I
Personas com necessidades especiais
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 236 / 325
Entendendo seus requisitos II
Personas com necessidades especiais
Surdez
Problemas de audição
Cego e surdo
Epilepsia
Dislexia
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 237 / 325
Entendendo seus requisitos
Escolhendo um padrão de acessibilidade
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 238 / 325
Entendendo seus requisitos
O espı́rito da lei
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 239 / 325
Quem deve testar?
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 240 / 325
Teste do especialista
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 241 / 325
Teste do especialista
Verificadores de acessibilidade semi-automatizados
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 242 / 325
Teste do especialista
Inspetores estruturais
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 243 / 325
Teste do especialista
Emulação e usando tecnologia assistiva do usuário
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 244 / 325
Teste do especialista
Inspeção detalhada
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 245 / 325
Percebı́vel
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 246 / 325
Percebı́vel
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 247 / 325
Operável
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 248 / 325
Compreensı́vel
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 249 / 325
Robusto
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 250 / 325
Teste do usuário
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 251 / 325
Teste do usuário
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 252 / 325
Informando o idioma do documento
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 253 / 325
Parte XXV
Introdução a Javascript?
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 254 / 325
Introdução
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 255 / 325
Os problemas de Javascript
Os problemas de Javascript
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 256 / 325
Os problemas de Javascript Incluindo o Javascript no corpo do documento
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 257 / 325
Os problemas de Javascript Referenciando um arquivo Javascript externo
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 258 / 325
Os problemas de Javascript Referenciando um arquivo Javascript externo
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 259 / 325
Sintaxe
Sintaxe I
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 260 / 325
Sintaxe
Sintaxe II
var z;
console.log(z);
console.log(typeof z);
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 261 / 325
Parte XXVI
Funções em Javascript
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 262 / 325
Sintaxe
Sintaxe
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 263 / 325
Sintaxe
Sintaxe I
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 264 / 325
Sintaxe
Sintaxe II
if ( elementID == undefined) {
// This will evaluate to ‘true‘ if the ‘elementID‘
// variable wasn’t provided by the caller.
// You can then write some code inside this
// if statement to stop the code from erroring.
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 265 / 325
Sintaxe
Sintaxe III
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 266 / 325
Sintaxe
function findMax() {
var i, max = 0;
for (i = 0; i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i];
}
}
return max;
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 267 / 325
Sintaxe
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 268 / 325
Sintaxe
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 269 / 325
Sintaxe
Escopo
1 Variáveis declaradas com var possuem escopo local; sem ela, possuem
escopo global.
// x não pode ser usado aqui
var y = 0;
// y pode ser usado aqui
// z pode ser usado aqui (após execução da função)
function myFunction() {
var x = 1;
z = 2;
// x pode ser usado aqui
// y pode ser usado aqui
// z pode ser usado aqui
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 270 / 325
Sintaxe
Funções anônimas
repeat(10, function(x) {
console.log(x);
});
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 271 / 325
Sintaxe
Lambda expressions
// ES6
var x = (x, y) => x * y;
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 272 / 325
Sintaxe
Exemplos em vetores:
1 forEach: Aplica uma função a todos os elementos.
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 273 / 325
Sintaxe
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 274 / 325
Parte XXVII
Objetos em Javascript
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 275 / 325
Objetos
Objetos I
function getArea( a, b, c ) {
// Return the area of a triangle using Heron’s formula
var semiperimeter = (a + b + c) / 2;
var calculation = semiperimeter * (semiperimeter - a) * (
semiperimeter - b) * (semiperimeter - c);
return Math.sqrt( calculation );
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 276 / 325
Objetos
Objetos II
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 277 / 325
Objetos
Objetos III
triangle.getArea = function ( a, b, c ) {
// Return the area of a triangle using Heron’s formula
var semiperimeter = (a + b + c) / 2;
var calculation = semiperimeter * (semiperimeter - a) * (
semiperimeter - b) * (semiperimeter - c);
return Math.sqrt( calculation );
}; // Note the semi-colon here; it’s mandatory.
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 278 / 325
Referência própria
Referência própria I
triangle.getArea = function () {
// Return the area of a triangle using Heron’s formula
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 279 / 325
Objetos como vetores associativos
var semiperimeter = (a + b + c) / 2;
var calculation = semiperimeter * (semiperimeter - a) * (
semiperimeter - b) * (semiperimeter - c);
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 280 / 325
Objetos como vetores associativos
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 281 / 325
Objeto literal
Objeto literal I
var triangle = {
sideA: 3,
sideB: 4,
sideC: 5,
getArea: function () {
// Return the area of a triangle using Heron’s formula
}
};
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 282 / 325
Objeto literal
Objeto literal II
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 283 / 325
Vetores
Vetores
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 284 / 325
Parte XXVIII
Classes em Javascript
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 285 / 325
Sintaxe
Sintaxe I
function MyClasse(value) {
this.idade = value;
this.getAtributo = function () {
return this.idade;
};
}
function document_OnLoad() {
oMyClasse = new MyClasse(’10’);
console.log(oMyClasse.getAtributo());
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 286 / 325
Sintaxe
Sintaxe II
function MyClasse(value) {
this.idade = value;
}
MyClasse.prototype.getAtributo = function () {
return this.idade;
};
function document_OnLoad() {
oMyClasse = new MyClasse(’10’);
console.log(oMyClasse.getAtributo());
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 287 / 325
Sintaxe
Sintaxe III
class MyClasse {
constructor(value) {
this.idade = value;
}
getAtributo() {
return this.idade;
}
}
function document_OnLoad() {
oMyClasse = new MyClasse(’10’);
console.log(oMyClasse.getAtributo());
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 288 / 325
Sintaxe
Herança I
function MyClasse2(nome) {
this.nome = nome;
}
MyClasse2.prototype = new MyClasse(23);
MyClasse2.prototype.getNome = function () {
return this.nome;
};
obj = new MyClasse2(’John’);
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 289 / 325
Sintaxe
Herança II
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 290 / 325
Parte XXIX
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 291 / 325
Introdução
Introdução
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 292 / 325
Plantando as sementes
Plantando as sementes
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 293 / 325
Árvores
Árvores
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 294 / 325
Nós
Nós
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 295 / 325
Propriedades de um nó
Propriedades de um nó I
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 296 / 325
Acesso direto
Acesso direto I
Acesso direto II
document.getElementById(’excitingText’).getElementsByTagName(’em’)
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 298 / 325
Parte XXX
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 299 / 325
O que são eventos?
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 300 / 325
Como os eventos funcionam
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 301 / 325
A evolução dos eventos
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 302 / 325
A evolução dos eventos Eventos DOM Nı́vel 2
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 303 / 325
Eventos e acessibilidade
Eventos e acessibilidade
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 304 / 325
Aplicando eventos a elementos especı́ficos
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 305 / 325
Referências ao objeto evento
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 306 / 325
Referências ao objeto evento Verificando uma propriedade especı́fica do evento
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 307 / 325
Prevenindo o comportamento padrão dos eventos
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 308 / 325
Prevenindo o comportamento padrão dos eventos Parar event bubbling
<ul>
<li><a href="http://www.opera.com/">Opera</a></li>
<li><a href="http://www.firefox.com/">Firefox</a></li>
</ul>
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 309 / 325
Prevenindo o comportamento padrão dos eventos Parar event bubbling
function noClique(event) {
alert(this);
}
};
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 310 / 325
Parte XXXI
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 311 / 325
Criando elementos
Criando elementos I
Javascript:
var elem = document.createElement("p");
elem.appendChild(document.createTextNode("Novo parágrafo."));
elem.textContent = "Novo parágrafo.";
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 312 / 325
Criando elementos
Criando elementos II
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 313 / 325
Criando elementos
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 314 / 325
Parte XXXII
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 315 / 325
Criando um elemento de estilo
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 316 / 325
Acessando estilos
Acessando estilos
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 317 / 325
Adicionando e removendo regras
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 318 / 325
Lendo as regras
Lendo as regras
document.styleSheets[0].cssRules[0]
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 319 / 325
Modificando o estilo de elementos
function colorElementRed(id) {
var el = document.getElementById(id);
el.style.color = "red";
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 320 / 325
Modificando o estilo de elementos
function changeElement(id) {
var el = document.getElementById(id);
el.style.color = "red";
el.style.fontSize = "15px";
el.style.backgroundColor = "#FFFFFF";
}
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 321 / 325
Parte XXXIII
Javascript Canvas
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 322 / 325
Introdução
Introdução
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 323 / 325
Retângulo
Retângulo
Paulo Gonçalves (IFPE) Desenvolvimento de Sistemas Web I 4 de fevereiro de 2020 324 / 325
Caminhos
Caminhos
Caminhos servem para criar formas como linhas, arcos, com diferentes
larguras e cores.
Criamos o caminho e ao final ele é escrito no contexto.
Inicialmente chamamos o método beginPath(), depois utilizamos os
métodos para especificar os caminhos e em seguida chamamos o
método closePath() (ele tentará criar uma linha do ponto atual para
o ponto inicial).
ctx.beginPath();
ctx.moveTo(75, 50);
ctx.lineTo(100, 75);
ctx.lineTo(100, 25);
ctx.fill();