Estou precisando de fazer um HTML, que toda mudança de página tem um cabeçalho e um rodapé.
Alguém pode me ajudar ?
Estou precisando de fazer um HTML, que toda mudança de página tem um cabeçalho e um rodapé.
Alguém pode me ajudar ?
Cara, em geral vejo isso com backend, mas pesquisando aqui vi que o js. você consegue fazer uma gambiarra para tal.
Mas as tags < header > e < footer >, não fazem isto ?
Pelo o que entendi, você não quer ficar copiando códigos repetitivos, como os cabeçalhos, certo? Se for este o problema, a solução estaria por esse caminho.
Neste problema header e o footer que são trechos que já aparecem com frequência, para elimina-lo podemos usar alguma linguagem que irá incluir diretamente algo em sua página, No caso, , . Só para definir elas são tags semânticas, que tem sua importância,
Além da organização, as mesmas ajudam o Google a entender o que é cada coisa em sua página.
Você quer manter o mesmo cabeçalho e rodapé para toda página html do seu sistema?
A solução do @jonathan.sky usando o load do jquery, pode te ajudar, mas é necessário rodar o html num servidor web para funcionar.
O problema que não posso rodar jquery, por causa da frame. Teria que ser somente por css / html.
Uai, com iFrame você consegue fazer o que está querendo. Não é a melhor forma, mas se não estiver rodando num web server, atende.
Olá Guilherme,
geralmente esse tipo de coisa, é resolvido com uma linguagem server side, mas aqui abaixo tem um link interessante sobre o seu caso. Espero que ajude.
https://www.html5rocks.com/en/tutorials/webcomponents/imports/
Achava que o < header > e < footer > resolvia esta parte.
Não Guilherme. O elemento <head>
(cabeça), é que serve para carregamento de scripts externos ao seu code, tanto que no link que eu te passei o cara, meio que faz um gambiarra (chamei de gambiarra, porque não é digamos assim “oficial”, mas o cara que escreveu esse artigo é foda demais pra dizer gambiarra) para poder carregar esses arquivo em “memória” e depois ele faz um js, para injetar o que tem nesse cara, dentro do seu corpo do html. Os elementos
<footer>
e <header>
, assim como a maioria das tags HTML, tem apenas efeito de marcação, ou seja, ele apenas determina uma região do seu HTML, ele não tem “comportamento”, por assim dizer. Deu-se o nome de footer, por uma questão semântica, assim como elemento <main>
, <sidebar>
e assim por diante, não que o sidebar
necessariamente vai ser um menu, mas por uma questão de semântica não faz sentido colocar, por exemplo, o conteúdo central da sua página dentro do <sidebar>
Dá uma lida depois:
Se só pode usar HTML estático, então uma das saídas é usar o elemento embed ou object:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<div>
<object type="text/html" data="cabecalho.html" style="height:100px;"></object>
</div>
<div>...conteudo da pagina... </div>
<div>
<object type="text/html" data="rodape.html" style="height:100px;"></object>
</div>
</body>
</html>
Ou import com HTML5, que é mais sob controle: https://www.html5rocks.com/en/tutorials/webcomponents/imports