Atividade 5
Atividade 5
Atividade 5
Utilize o Visual Studio Code (ou outro editor…) para realizar os exercícios
propostos.
No final, todos os ficheiros produzidos deverão ser submetidos como resposta à
Tarefa.
Pretende-se com esta atividade a implementação de um site (parte de front-end) que tem como
objetivo apresentar toda a informação relativa a uma conferência fictícia sobre desenvolvimento
Web que vai decorrer em Portugal.
O front-end é composto por:
• uma Single Page Application, com acesso público, que exibe toda a informação relativa à
conferência, desde a possibilidade de se registar no evento até à informação sobre
oradores e sponsors;
Nesta atividade iremos apenas desenvolver algumas partes da SPA (Single Page
Application), cujo layout se apresenta a seguir. Não será implementada a funcionalidade
de inscrição no evento.
No topo da página Web será colocada uma barra com um menu horizontal que vai permitir a
navegação interna da SPA. Para tal, usamos o elemento <nav>, que surgiu no HTML5. Este
elemento representa o agrupamento principal de links de navegação de uma página Web.
De forma a tornar a barra responsiva e com uma aparência mais sofisticada, serão usadas
várias classes do Bootstrap, entre as quais navbar. Tipicamente, esta é combinada com outras
classes:
• a de recolhimento responsivo navbar-expand-xl | lg | md | sm, que empilha a barra de
navegação verticalmente em ecrãs de dimensão extragrande (xl), grande (lg), média (md)
ou pequena (sm);
• a classe navbar-dark | light, que serve para formatar a cor de fundo da barra;
• a classe fixed-top, que permite fixar a barra no topo do ecrã.
1. Altere o elemento <nav> de forma que este utilize as classes atrás mencionadas da seguinte
forma.
2. Defina um contentor com a classe container, para agregar todo o conteúdo da barra de
navegação e de seguida, inclua o nome da página Web. Para tal, formate o texto com a
classe navbar-brand, usada para destacar o nome da marca, do logótipo ou do projeto da
página.
3. Como o atributo href (do elemento <a> do ponto anterior) aponta para uma secção interna da
SPA, temos de definir essa secção. Neste caso, ao clicar no nome da página Web presente
na barra, deverá ser apresentado o início da página. Basta então, colocar o id
correspondente no elemento <body>.
Os itens de navegação são formatados com caixa alta, ou seja, maiúsculas (classe text-
uppercase), e alinhados à direita (classe ml-auto).
Todos os atributos href apontam para secções internas da SPA, definidas previamente no
exercício 1.
7. Será também incluído no botão, aquilo a que normalmente se chama “botão de hambúrguer”.
Este irá alternar a visibilidade dos elementos que estão no conteúdo dos itens de navegação.
8. Teste o site com o browser, redimensione a janela e observe o resultado. Teste a barra de
navegação.
Exercício 3 – Cabeçalho
Nesta secção, é definido o cabeçalho da SPA, que será composto por uma imagem, um título e
um botão para inscrição na conferência.
O elemento <header> é estilizado por uma regra CSS através da qual são definidas a
imagem de fundo e várias configurações relativas ao seu tamanho, posicionamento e
repetição (propriedades background-*). A classe masthead já está definida no ficheiro
webconf.css.
A classe intro-text define o espaçamento interno superior e inferior para os textos do título e
para o botão. Esta classe também está definida no ficheiro webconf.css, pelo que neste
ponto não tem de executar mais nada.
2. O título será composto por duas frases representadas por dois elementos <div>. Proceda às
seguintes alterações no ficheiro index.html.
As classes utilizadas já estão definidas no ficheiro webconf.css, pelo que neste ponto não
tem de executar mais nada.
3. Por último é definido um botão como um elemento <a>, que vai possibilitar ao utilizador a
inscrição na conferência. Proceda às seguintes alterações no ficheiro index.html.
1. Para representar uma secção é utilizado o elemento semântico <section>, no qual é incluído
um elemento <div> com a classe container para definir uma largura fixa, centrada e com
conteúdo responsivo. Por sua vez, este elemento terá duas linhas definidas por elementos
<div> com classes row. Proceda às seguintes alterações no ficheiro index.html…
No seu interior, é definida uma única coluna com texto centrado que abrange toda a largura
da grelha em dispositivos de grande dimensão (largura de ecrã igual ou maior que 992
píxeis). A coluna inclui os textos como cabeçalhos <h2> e <h3> estilizados.
As classes section-heading e section-subheading já estão definidas no ficheiro
webconf.css.
3. Na segunda linha, são definidos os tópicos da conferência, organizados em duas colunas de
igual tamanho.
4. Cada tópico será representado por um ícone, um título e uma breve descrição.
Um ícone é um elemento gráfico muito comum em páginas Web. Por vezes, os ícones
disponíveis não são suficientes para cobrir as necessidades. Para colmatar este problema,
existem várias bibliotecas de ícones disponíveis na Web.
Uma das mais conhecidas é a Font Awesome (https://fontawesome.com/). O <link> para
utilizar os recursos desta biblioteca já faz parte do código disponibilizado e pode ser
encontrado dentro do <head>, pelo que não terá de copiar o código abaixo.
Um ícone Font Awesome é composto por um prefixo de estilo e um nome, e deve ser usado
com elementos inline.
• Prefixo de estilo – fas para estilo sólido e fab para marcas
• Nome – nome do ícone, precedido por fa-
5. Teste o site com o browser, redimensione a janela e observe o resultado. Teste a navegação
do site.
3. Por último, adicione os ícones para as redes sociais, organizados numa lista desordenada
<ul>. Execute estas alterações no ficheiro index.html.
A lista de oradores é organizada por linhas. Cada linha terá três colunas, cada uma com a
informação relativa a um orador.
3. A informação do orador é composta por uma foto, um nome, um cargo e três ícones (no
máximo) com links para as redes sociais. Segue-se um exemplo do código para representar
o orador número 1. Transcreva-o para o seu código.
4. Adapte o código anterior para incluir os outros dois oradores. As informações (nome e cargo)
estão na imagem da interface gráfica para esta secção.
5. Teste o site com o browser, redimensione a janela e observe o resultado. Teste a navegação
do site.
Exercício 7 – Secção “Sponsors”
A secção “Sponsors” tem como objetivo exibir informação sobre os patrocinadores da
Conferência. A interface gráfica desta secção é exibida na figura seguinte.
A lista de sponsors é organizada numa única linha com quatro sponsors em dispositivos de
média dimensão (largura de ecrã igual ou superior a 768 píxeis).
4. Adapte o código anterior para incluir os outros três sponsors. Os sponsors a incluir estão na
imagem da interface gráfica para esta secção e as imagens dos logótipos estão na pasta
“img”.
5. Teste o site com o browser, redimensione a janela e observe o resultado. Teste a navegação
do site.
O envio de mensagens é feito através de um formulário organizado numa linha com duas
colunas. Numa nova linha, é incluído um botão que irá submeter o formulário.
O botão é colocado dentro de uma coluna, que abrange a grid do layout, sendo formatada
com alinhamento ao centro.
6. Teste o site com o browser, redimensione a janela e observe o resultado. Teste a navegação
do site.