Como inserir um iframe em HTML: exemplo de uso. Como criar uma página com frames Criando frames para páginas web em html
Bom Dia a todos! Andrey Bernatsky está com você.
Antes de passar diretamente para o artigo, gostaria de fornecer um link para a versão em vídeo deste tópico:
Neste episódio falaremos sobre quadros em HTML. Molduras em essência, são muito semelhantes às tabelas, mas, diferentemente das tabelas, cada quadro é independente e cada um deles pode ter uma página web separada com seu próprio endereço.
Na figura vemos uma estrutura de site bastante comum. Pode ser apresentado em forma de tabela, ou tudo isso pode ser feito em molduras. No quadro superior você pode carregar uma página com logotipo e menu, no quadro esquerdo você pode carregar uma página com navegação do site, no quadro central haverá uma página com o conteúdo principal do site, no quadro direito você você pode carregar uma página com banners publicitários e, no quadro inferior, você pode carregar uma página com informações de contato. Aqui está o que são os frames em poucas palavras.
Agora vamos ver como tudo isso pode ser feito.
A peculiaridade de um documento contendo frames é que ele não contém um container CORPO. Um contêiner é usado em vez disso CONJUNTO DE QUADROS. A sintaxe geral para frames é a seguinte:
HTML
…
…
|
Em um contêiner as tags estão localizadas , que definem o conteúdo dos frames.
Na etiqueta existem dois parâmetros:
linhas = número– número de linhas (soleiras horizontais).
colunas = número– número de colunas (soleiras verticais).
De modo geral, os valores dos parâmetros rows e cols são especificados não exatamente por números, mas listando os números separados por vírgulas. Quantos números houver, haverá tantas linhas ou colunas, e os números determinam o tamanho do quadro. O principal é que a soma desses números seja igual a toda a largura da tela.
Vejamos isso com um exemplo e tudo ficará claro. Agora vamos criar um documento quadro como este:
O código que definirá essa estrutura de frames para nós será parecido com este:
HTML
A primeira linha do código acima abre o contêiner do conjunto de quadros, o parâmetro cols indica que haverá três quadros aninhados. O primeiro terá largura de 30% de toda a largura da tela. O terceiro também terá 30% de toda a largura da tela. E o segundo quadro ocupará todo o espaço restante. sim símbolo "*" (asterisco) significa ocupar todo o espaço restante na tela.
A propósito, vamos ver como os frames podem ser definidos nos parâmetros cols e rows:
Você pode definir o tamanho simplesmente inserindo um número. Este número determinará o tamanho do quadro em pixels.
Você pode definir a largura como uma porcentagem. Além disso, se a soma dos percentuais de todas as colunas ultrapassar 100%, todos os frames serão reduzidos proporcionalmente para que a soma total seja igual a 100%. A situação será semelhante: se a soma dos percentuais de todas as colunas for inferior a 100%, todos os frames aumentarão proporcionalmente para que a soma total seja igual a 100%.
Você pode definir o tamanho do quadro com um símbolo “*” (estrela). Isso significa que o quadro deve ocupar todo o espaço restante. Se especificado, por exemplo , ou seja, dois asteriscos, então todo o espaço restante será dividido igualmente entre esses dois frames (neste caso, 40%).
Você pode combinar opções para definir tamanhos de quadros em HTML. Por exemplo:
HTML
.Se substituirmos o parâmetro cols por linhas na primeira linha do código, obteremos o mesmo documento de quadro composto por três quadros. Apenas a divisão em quadros será vertical.
HTML
|
Opções linhas E colunas não pode ser usado simultaneamente. Isso leva a erros e exibição incorreta de conteúdo.
Todo mundo agora tem uma dúvida sobre como criar tal estrutura, da qual falei no início do artigo. Voltaremos a isso um pouco mais tarde, mas por enquanto vamos ver o que está acontecendo em nosso navegador.
No navegador vemos três páginas, cada uma delas em seu próprio quadro.
Ao mesmo tempo, movendo o cursor do mouse até as bordas dos quadros, podemos alterar o tamanho dos quadros e as bordas entre os quadros também ficam visíveis. Isso nem sempre é necessário; na verdade, nem é necessário. E tudo isso pode ser controlado graças aos parâmetros das tags quadro E conjunto de quadros.
Opções de tags quadro E conjunto de quadros:
src="url"– parâmetro obrigatório. Especifica o endereço da página que será exibida dentro do quadro. Usado apenas para moldura.
tamanho normal– cancela a capacidade de redimensionar. Usado apenas para quadro.
rolagem = "sim/não/automático"– determina a presença de barras de rolagem. O valor sim – indica a presença de barras de rolagem. O valor não especifica que não haverá barras de rolagem. Quando definido como automático, o próprio navegador determina se haverá barras de rolagem. Usado apenas para quadro.
nome = nome do quadro– nome do quadro. Este parâmetro é usado para interação entre frames. Falaremos mais sobre isso um pouco mais tarde. Usado apenas para quadro.
borda = número– espessura das bordas entre os quadros. Se assumir o valor 0, as bordas entre os quadros não serão exibidas. Usado apenas para conjunto de quadros.
framespace = "número"– distância entre quadros. Usado apenas para conjunto de quadros.
Usando esses parâmetros, você pode obter uma página na qual as bordas entre os frames não são exibidas, não há como alterar o tamanho dos frames e a rolagem é proibida nos dois últimos frames. O código dessa página é assim:
HTML
|
Existem algumas outras opções, mas elas não funcionam claramente, então acho que faz sentido nem mencioná-las no lançamento.
Talvez seja tudo com os parâmetros. Vimos um exemplo de como usá-los.
Agora vamos criar a estrutura do frame de que falei no início do lançamento.
Para isso, criamos uma estrutura de três quadros divididos verticalmente.
HTML
Assim, em vez da tag
, temos que inserir outro contêiner
HTML
"../lesson3/Untitled-1.html" />
|
Depois disso, inserimos nosso terceiro frame com informações de contato e fechamos o container principal
HTML
|
O código completo desta página está abaixo:
HTML
"../lesson3/Untitled-1.html" />
|
Claro, peguei os endereços dos frames das edições anteriores da newsletter e não vimos nenhum menu, logotipo, navegação, etc. Mas conseguimos a estrutura que precisávamos. Mas se você criar as páginas reais de que precisa, poderá obter uma estrutura bonita.
O que conseguimos no final. Cabe a você decidir se isso é conveniente ou inconveniente, mas com uma estrutura de frames, todos os nossos frames permanecem sempre na página. Independentemente do tamanho do conteúdo, sempre veremos o logotipo e menu do site, a parte inferior do site com informações de contato, o bloco de navegação e banners. Esta, em geral, é a essência e o significado dos frames.
Existe a possibilidade de interação entre frames. Você pode fazer com que, ao clicar em um link de um quadro, a informação apareça em outro. Agora veremos como isso é feito.
Vamos criar um quadro como este:
Nossos links estarão localizados no quadro esquerdo. E à direita estão as páginas para as quais esses links levam.
Vamos criar um quadro como este:
HTML
Certamente você já ouviu falar mais de uma vez sobre conceitos como frames. Você pode ler sobre eles em qualquer livro de HTML, bem como em recursos para criação de sites. Depois de estudar muitos exemplos e descrições, decidi contar tudo sobre frames com minhas próprias palavras e de uma forma bem simples. Os prós, contras e o futuro dos frames serão discutidos no final desta página. Então, o que são frames em HTML?
O que são frames em HTML
Quadro(quadro em inglês) - alguma área independente conectável em uma página da web.
Não se assuste, pois isso parece um pouco confuso. Vamos dar imediatamente o exemplo mais simples e então tudo ficará claro.
Abra a ajuda em qualquer programa (pode ser o bloco de notas, algum programa, navegador, etc.). Quase sempre você verá uma ajuda composta por duas partes (navegação à esquerda, conteúdo à direita). As partes esquerda e direita são apenas quadros separados. Abaixo está uma captura de tela tirada com a ajuda do bloco de notas mais comum do Windows:
Fig 1. Usando frames usando a ajuda do bloco de notas como exemplo
O que você vê é uma página da web que consiste em dois frames independentes e separados. Aqui está um exemplo de código HTML para esse quadro na ajuda.
Exemplo com frames nº 1 (fazendo ajuda)
Na estrutura acima, a ajuda discutida acima ficará assim:
Fig 2. Estrutura para uso de frames, por exemplo nº 1
Dividir uma página em áreas usando frames é muito semelhante ao layout de tabela HTML (consulte Tag de tabela HTML). Um exemplo de código para tal página pode ser assim:
Explicação por exemplo nº 1Exemplo nº 1 de uma página HTML com frames
Como você pode ver no código acima, uma página criada a partir de frames é muito semelhante a uma página html comum: há uma tag html de abertura, uma seção
, títuloA última tag completamente opcional é
A propósito, observe que para a tag nenhuma tag de fechamento necessária.
Espero que agora você tenha uma ideia sobre molduras. Para entender exemplos mais difíceis, vamos tentar criar uma página HTML simples composta por 4 frames. Este será o exemplo nº 2.
Exemplo com 4 quadros #2
Estrutura para exemplo 2:
Fig 3. Estrutura para uso de frames, por exemplo nº 2
O código da página HTML original com o frame será o seguinte:
Exemplo nº 2 de uma página HTML com frames Seu navegador não suporta exibição de frames
Código do arquivo top.html
Arquivo top.html - cabeçalho do site Exemplo nº 2
E aqui poderia haver um logotipo e muito mais :)
Código do arquivo menu.html
Arquivo menu.html - menu do site
Código do arquivo content.html
Arquivo content.html - conteúdo do site Pagina inicial
Conteúdo do site. O arquivo content.html agora está aberto
Este é o estado inicial do nosso quadro. Vamos chamar esse arquivo de "Página Mestra"
Código do arquivo about-site.html
Arquivo about-site.html - Página sobre o site Sobre o site
Página sobre o site. O arquivo about-site.html agora está aberto
Código do arquivo about-autor.html
Arquivo about-autor.html - sobre o autor Sobre o autor
Sobre a página do autor. O arquivo about-autor.html agora está aberto
Código do arquivo footer.html
Explicação do exemplo nº 2Arquivo footer.html - sobre o site Rodapé do site. O arquivo footer.html agora está aberto
Inicialmente, a página inteira é dividida em três áreas horizontalmente na proporção de 3:14:3. O atributo rows="15%,70%,15%" é responsável por isso. O primeiro quadro em nosso exemplo é o cabeçalho (chamamos de top.html), 15% do espaço de altura é alocado para ele. Em seguida vem uma grande moldura ocupando 70% da altura. Dividimos em duas partes usando cols="25%,75%" na proporção de 1:3. À esquerda haverá um quadro menu.html , à direita content.html . Nomeamos especificamente o segundo quadro como name="main" para poder trocar de página. Observe que no arquivo menu.html, cada link possui um atributo target="main" anexado a ele, que permite que os itens sejam carregados em uma área chamada main quando o link é clicado. Na parte inferior do site está o último quadro footer.html.
Se você implementar o exemplo nº 2, deverá obter a seguinte página HTML em seu estado original:
Fig 4. Exemplo nº 2 - estado inicial
Quando você acessa a página sobre do site, a página ficará assim:
Fig 5. Exemplo nº 2 - segundo estado
Fig 6. Exemplo nº 2 - terceiro estado
Marcação
Marcação
Os atributos opcionais desta tag são width="width" e height="height" , e o atributo obrigatório é src="frame address" .
Atributos e propriedades de tags
1. Atributo COLS = "Parâmetros"
Define o número de divisões verticais de páginas.
2. Atributo ROWS="Parâmetros"
Define o número de divisões horizontais de página.
Agora vamos ver como você pode definir os parâmetros de particionamento.
a) Usando o número, que corresponderá ao número de pixels. Por exemplo, cols = "100.100.300" define a página para ser dividida em três áreas, cada uma das quais terá 100 pixels, 100 pixels e 300 pixels de largura, respectivamente.
b) Usando porcentagens da largura/altura total. Nos exemplos discutidos acima, usamos a divisão percentual, por isso parece inútil dar um exemplo.
c) Usando * (asterisco). Por exemplo, cols = "2*,3*,100" define as duas primeiras áreas com uma proporção de 2:3 e a terceira área com 100 pixels de largura.
Todos os três métodos podem ser combinados. Por exemplo, cols="2*,100,15%,4*" .
3. Atributo Frameborder = "(sim | não)"
Determina se um quadro tem borda. Se a resposta for sim, então o próximo quarto atributo de borda está em vigor.
4. Atributo border="parâmetro"
Em pixels, a borda especifica a espessura da borda da área do quadro. Por exemplo, frameborder = "2" especifica uma área com um contorno selecionado de 2 pixels.
5. atributo bordercolor="color"
Especifica a cor da borda, se houver. A cor pode ser especificada em palavras ou em código (ver paleta de cores html).
Observação: observe que a tag
Atributos e propriedades de tags
1. Atributo src="endereço do elemento"
O URL completo para o endereço do elemento deve ser especificado como parâmetro aqui. Este atributo é obrigatório. Ele já é familiar para você, porque... estava presente nos exemplos 1 e 2.
2. Atributo marginwidth="número"
Define a largura do recuo dentro do quadro a partir das bordas em pixels. Por exemplo, marginwidth="10" definirá a margem do conteúdo à esquerda e à direita da borda do quadro.
3. Atributo marginhight="número"
Semelhante ao segundo, com a única diferença de que define o deslocamento de altura.
4. Atributo Scrolling="(yes|no|auto)"
Define a capacidade de rolar o quadro caso ele não caiba no quadro da área alocada a ele. O valor padrão é automático (significa criar uma rolagem, se necessário).
5. Atributo Noresize
Se este atributo estiver definido, o usuário está proibido de alterar independentemente os limites do quadro. Por padrão, este atributo não está definido e o usuário pode alterar os limites como desejar.
5. Nome do atributo = "título"
Este atributo pode ser usado para dar um nome ao quadro. Isto é necessário para que outros frames possam acessar este frame. O exemplo nº 2 trata exatamente desse caso.
Observação:
O nome não deve começar com sublinhado "_".
6. Atributos frameborder, borda e bordercolor
Esses três atributos são iguais ao conjunto de quadros (veja os atributos do conjunto de quadros acima).
Vantagens e desvantagens dos quadros
Prós de molduras
- A capacidade de exibir várias páginas de forma independente em uma janela (exemplos 1 e 2 acima);
- Capacidade de alternar o conteúdo da página sem recarregar a página (apenas uma área da tela muda);
- A capacidade de construir com flexibilidade a estrutura do site (cabeçalho, menu, rodapé, etc. - todas as informações estáticas são armazenadas separadamente em arquivos, e isso permite editar rapidamente parte do site);
- O próprio usuário pode alterar o tamanho da janela de visualização se a opção noresize não estiver definida;
Contras dos quadros
- Os mecanismos de pesquisa indexam mal os sites com frames porque não conseguem interpretar os arquivos carregados nos frames. O mecanismo de busca distingue as páginas pelo endereço (URL) e, para frames, apesar dos diferentes estados, o endereço da página não muda. Isso é contrário às regras do mecanismo de busca, o que significa que não é fato que o mecanismo de busca conseguirá indexar o site.
- É impossível marcar um site em frames, porque O URL da página será o mesmo. Assim, você só pode preservar o estado original do quadro.
- Nem todos os navegadores suportam frames.
O futuro dos quadros:
Muitos webmasters há muito começaram a abandonar os frames. Isto se deve às dificuldades de promoção nos motores de busca. Agora todos estão migrando para o Ajax como uma forma mais dinâmica e moderna de exibir informações em uma página do site.
Caro leitor, vimos as tags de documentos HTML relacionadas aos frames. Apesar do futuro duvidoso desta área, todo webmaster deve conhecer os frames.
Vamos começar com a estrutura do quadro. Qual é a sua essência? Temos a oportunidade no documento que carregamos no navegador de organizar áreas especiais do tipo janela. Outros documentos individuais (páginas da web) podem ser carregados nessas áreas.
Por que isso é necessário? Como os documentos são carregados em áreas separadas, eles se comportam de forma independente. Ou seja, você pode fazer algo em um documento, enquanto outros documentos permanecem inalterados.
Onde você pode encontrar essas estruturas de quadros? Estes são arquivos de ajuda (com extensão .chm).
Aqui está um exemplo simples de documento com molduras:
Elemento conjunto de quadros. Sua função é cobrir a área de visualização e dividi-la em áreas separadas. Aqueles. instrua o navegador em que proporção e como (horizontal ou verticalmente) dividimos essas áreas.
Elemento quadro– descreve cada uma dessas áreas individuais. Etiqueta única. Ocupa as dimensões especificadas no conjunto de molduras.
Elemento sem quadros- exibido se o navegador não suportar frames.
Observe que não há elemento body. O elemento frameset é usado em seu lugar. Esta é uma das razões pelas quais os frames não são mais usados em sites.
Atributos do elemento do conjunto de quadros
- cols - divisão vertical da página em áreas de visualização.
- linhas - divisão horizontal da página em áreas de visualização.
elemento de quadro
Este elemento descreve uma única área de janela. Você pode carregar qualquer documento nele usando o atributo src. Exemplos:
Atributo rolagem- rolagem (automática por padrão). Se o documento ultrapassar a área de visualização deste quadro, ocorre a rolagem. Se o documento couber completamente no quadro, não haverá rolagem. A rolagem pode ser desativada, mas é melhor deixá-la no modo automático.
Atributo único tamanho normal- proíbe alterar o tamanho do quadro no navegador. Por padrão isso é permitido.
Atributo moldura- quadro por quadro. Valor '1' - sorteio, valor '0' - não sorteio. Apenas estes dois valores são válidos. Por padrão, o quadro é desenhado.
Atributo largura de margem– indica a distância que o conteúdo de um determinado quadro irá recuar horizontalmente dos quadros deste quadro.
Atributo altura da margem– recuo vertical do conteúdo até as bordas do quadro.
Iframe incorporado
Elemento iframe(“janela de linha”). Este elemento está emparelhado (há uma tag de abertura e fechamento). Este elemento tem a mesma finalidade: organizar um elemento de janela no documento.
Como é diferente dos quadros antigos? É autossuficiente e não necessita de recipientes adicionais. E pode aparecer em qualquer documento, desde que haja um elemento corporal.
Um elemento iframe é um elemento embutido com conteúdo substituível. Aqueles. uma área do tipo linha com quaisquer dimensões abstratas é formada e o conteúdo de algum documento externo (arquivo html) é carregado nesta área.
Iframe possui os mesmos atributos das imagens (já que são do mesmo tipo): nome, largura, altura, src, frameborder, scrolling, hspace, vspace, marginwidth, marginheight.
Quadros são elementos HTML que permitem dividir uma janela do navegador da web em várias janelas independentes, cada uma das quais pode carregar um documento HTML separado. Cada uma dessas janelas (quadro) pode ter suas próprias barras de rolagem e funcionar independentemente de outras janelas independentes ou, pelo contrário, controlar seu conteúdo. Eles podem ser usados para organizar um menu que fica constantemente localizado em uma janela, enquanto as próprias informações estão localizadas em outra janela. Os usuários podem acessar o menu a qualquer momento e não precisam voltar à página anterior para selecionar outro item do menu. O uso de frames permite “fixar” imagens ou outros elementos estáticos da interface na janela do navegador enquanto o restante da página rola dentro do frame.
Porém, é importante ressaltar que hoje em dia os frames são considerados uma ferramenta ultrapassada, e os sites com frames passaram a ser considerados indignos, já que webmasters profissionais nunca utilizam frames em seus projetos. Os frames têm vários problemas notórios. Eles confundem os mecanismos de busca, por exemplo, porque as páginas que contêm o conteúdo não possuem links para outros documentos. Se você deseja obter visitantes de mecanismos de busca, esqueça os frames. É impossível para um usuário colocar uma página de sua preferência na seção de favoritos do navegador, pois os frames ocultam o endereço da página em que ele está localizado e sempre mostram apenas o endereço do site. Por esse motivo, eles criam problemas para os navegadores na hora de rastrear o histórico e também não são muito adaptáveis a diferentes tamanhos de tela e dispositivos móveis.
Apesar de projetos com frames serem cada vez mais raros na World Wide Web, aprender HTML seria incompleto sem considerar o tema frames. Os frames, juntamente com as suas desvantagens, também apresentam algumas vantagens que não nos permitem descartar esta tecnologia como pouco promissora.
Criando Molduras
A estrutura de um documento HTML com frames é muito semelhante ao formato de um documento HTML normal. Como em um documento HTML normal, todo o código é colocado entre tags emparelhadas
E
, e no contêiner
os cabeçalhos estão localizados. A principal diferença entre um documento com frames e um documento HTML normal é que um documento com frames em vez de uma tag
tag pareada é aplicada
O exemplo a seguir mostra a estrutura de um documento HTML com frames:
Exemplo: Estrutura de Documento HTML com Quadros
- Tente você mesmo "
frame_top | |
quadro_esquerdo | quadro_direita |
No exemplo acima, a página contém três áreas, cada uma delas inicialmente carregada com documentos HTML frame_top.html, frame_left.html e frame_right.html. Além dos documentos HTML, um quadro também pode conter gráficos. Para fazer isso, você precisa especificar o endereço da imagem correspondente no atributo fonte, Por exemplo src="imagem.gif". Observe que o elemento
usado sem uma tag de fechamento.
Dentro do contêiner
Marcação
- linhas— descreve como dividir uma página em linhas:
- colunas— descreve como uma página é dividida em colunas:
No significado dos atributos linhas E colunasÉ necessário indicar não o número de linhas ou colunas, mas a largura e altura dos quadros. Todos os valores da lista são separados por vírgulas. As dimensões podem ser especificadas em unidades absolutas (pixels) ou porcentagens:
- cols="20%, 80%"— a janela do navegador é dividida em duas colunas usando o atributo colunas, a coluna esquerda ocupa 20% e a direita 80% da janela do navegador.
- linhas = "100, *" A janela do navegador é dividida em duas janelas horizontais usando o atributo linhas, a janela superior ocupa 100 pixels e a janela inferior ocupa o espaço restante especificado pelo símbolo de asterisco.
Como pode ser visto neste exemplo, o contêiner
Se o navegador não suportar frames, a janela exibirá o texto localizado entre as tags
Como já observado, uma tag não pareada é usada para inserir um quadro separado em um documento
. Atributo fonte especifica o documento que deve ser exibido dentro deste quadro, por exemplo: . Se atributo fonte ausente, um quadro vazio será exibido.
Bordas ou espaço entre quadros
Por padrão, o navegador exibe uma borda cinza, geralmente 3D, entre os quadros, que os visitantes podem usar para ajustar o tamanho do quadro.
A borda do quadro pode ser manipulada como qualquer outro elemento do quadro. Existem vários atributos de elemento para este
Para ocultar a borda de um quadro, você deve definir o valor da largura da borda como zero ou definir o valor "não" ou "0" para o atributo moldura. Atributo moldura só pode assumir dois significados opostos. Se o valor do atributo moldura for igual a “sim” ou “1”, então a borda do quadro será exibida, e se “0” ou “não”, então não. Observe que os valores dos atributos moldura variam para diferentes navegadores. Para resolver este problema use o atributo duas vezes moldura, e para alguns navegadores você também precisa adicionar o atributo espaçamento de quadros com valor "0":
No exemplo a seguir removemos a borda entre os frames:
Exemplo: Removendo a borda entre os quadros
- Tente você mesmo "
quadro_esquerdo | quadro_direita |
Se você remover a borda entre os frames, os visitantes não poderão redimensionar o frame no navegador. Você também pode evitar o redimensionamento do quadro preservando as bordas usando o atributo tamanho normal:
Usando atributo Cor da borda Você pode alterar a cor da borda do quadro, bastando especificar o código ou o nome da cor reservada correspondente.
Abaixo está um exemplo de página HTML que contém os atributos de controle de borda do quadro descritos acima: a cor da borda é vermelha, o tamanho do quadro superior não pode ser alterado:
Exemplo: Controle de Borda de Quadro
- Tente você mesmo "
frame_top | |
quadro_esquerdo | quadro_direita |
Se você deseja posicionar a página exibida dentro do quadro mais próxima de suas bordas, ou, inversamente, afastá-la, altere os atributos altura da margem E largura de margem marcação . Atributo altura da margem define o preenchimento entre o conteúdo do quadro e suas bordas superior e inferior. Sintaxe:
Atributo largura de margem define o preenchimento entre o conteúdo do quadro e suas bordas direita e esquerda. Sintaxe:
Esta linha html, por exemplo, posiciona a página exibida próxima à borda do quadro:
Se a página estiver exibindo uma barra de rolagem que você não deseja, você pode resolver o problema especificando o atributo rolagem="não" na tag . Mas lembre-se de que se o quadro não for grande o suficiente para exibir todo o conteúdo da página, o visitante não terá como rolar a página exibida.
Links dentro de frames
Seguir um link em um documento HTML normal é feito da seguinte forma: clique no link e o documento atual será substituído por um novo na janela atual ou em uma nova janela do navegador. Ao usar frames, o esquema de carregamento de documentos HTML difere do usual, e a principal diferença é a capacidade de carregar um documento HTML em um quadro a partir de outro quadro.
Para carregar um documento em um quadro específico, use o atributo alvo marcação
. Como um valor de atributo alvoé usado o nome do quadro no qual o documento especificado pelo atributo será carregado nome marcação
. Também é importante notar que o nome do quadro deve começar com um número ou uma letra latina. Os seguintes nomes são usados como nomes reservados:
Para links externos, você deve definir o atributo target como _top ou _blank para garantir que projetos de terceiros não apareçam em seus frames, mas preencham toda a janela do navegador.
O exemplo a seguir mostra um documento HTML no qual o quadro direito carrega uma página a partir de um link colocado no quadro superior. Link para o documento que será aberto no quadro direito:
O quadro certo recebe um nome quadro_direita:
Para carregar um documento em um quadro especificado, use a construção alvo = "quadro_direito", conforme mostrado no exemplo:
Exemplo: Link para outro quadro
- Tente você mesmo "
Seu navegador não está exibindo frames
Quadros flutuantes
Elemento (uma abreviatura do termo em inglês “quadro flutuante”) permite incorporar um documento HTML separado ou outro recurso em qualquer lugar de uma página da web. O conteúdo de um quadro flutuante (incorporado) pode ser qualquer página HTML, do seu recurso ou de outro site. Como você já entendeu, os frames ociosos são criados usando o elemento , que, diferentemente da tag
não inserido entre tags
No elemento você pode usar os mesmos atributos do quadro , exceto para o atributo tamanho normal— diferentemente dos frames normais, os frames integrados não podem ser redimensionados na tela:
Atributo | Descrição |
---|---|
fonte | usado para especificar o URL da página a ser exibida no quadro |
altura | define a altura da janela do quadro flutuante em pixels ou% |
largura | define a largura da janela do quadro flutuante em pixels ou% |
nome | o nome do quadro pelo qual pode ser acessado nos links |
moldura | define o enquadramento para quadros, pode assumir valores 1 (há enquadramento) ou 0 (sem enquadramento) ( Não suportado em HTML5) |
largura de margem | preenchimento à esquerda e à direita do conteúdo até a borda do quadro ( Não suportado em HTML5) |
altura da margem | recuo acima e abaixo do conteúdo até a borda do quadro ( Não suportado em HTML5) |
rolagem | determina o tipo de barras de rolagem do quadro e assume os valores sim (há barras), não (sem barras) e automático (barras aparecem se necessário) ( Não suportado em HTML5) |
Permitir tela cheia | Permite que o quadro fique em tela cheia |
hspace | Margem horizontal do quadro ao conteúdo circundante |
vespaço | espaço vertical do quadro ao conteúdo circundante |
alinhar | define o alinhamento do quadro |
No exemplo a seguir, as dimensões do quadro flutuante são especificadas em pixels, mas você também pode especificá-las em %:
Antes de usar frames na prática, não faria mal nenhum descobrir o que são, bem como os benefícios de usar frames para organizar informações nas páginas do site em comparação com as mesmas tabelas.
Todos os exemplos anteriores neste livro analisaram o alinhamento de texto, gráficos, tabelas e outros conteúdos em documentos HTML em uma janela do navegador. No entanto, poderia exibir o conteúdo de apenas um documento. O uso de frames permite dividir a janela do navegador em várias partes, nas quais diferentes documentos HTML podem ser exibidos. Por exemplo, como mostrado na Fig. 8.1.
Arroz. 8.1. Três documentos em uma janela
Neste caso, o conteúdo de cada documento é alinhado em relação à sua própria moldura de janela. Agora imagine que o quadro superior esquerdo contém links para recursos do site, o canto inferior esquerdo contém alguma publicidade ou outras informações e o grande quadro direito contém texto. Digamos que quando você navega em um site, apenas o texto exibido no frame direito muda. Neste caso, o uso de frames permite o seguinte.
Role o conteúdo de alguns quadros independentemente do conteúdo de outros.
Navegue entre as páginas do site, carregando o conteúdo apenas no quadro certo. Isso economiza tempo do usuário, pois o conteúdo estático do site é baixado do servidor apenas uma vez.
Agora que você se familiarizou com os frames, poderá ver como os sites são criados e configurados usando frames.
8.2. Criando um conjunto de quadros
Mesmo o site mais simples mostrado na Fig. 8.1, consiste em quatro documentos HTML. O conteúdo de três deles é mostrado na janela do navegador. O quarto documento, que precisa ser aberto pelo navegador, contém descrições dos frames em que a janela está dividida e também inclui instruções para o navegador de onde carregar as páginas nos frames criados. O conteúdo do documento HTML é mostrado no exemplo 8.1.
Exemplo 8.1. Arquivo de descrição do quadroSite com molduras
Aqui você pode ver dois novos elementos HTML: FRAMESET e FRAME. O primeiro é usado para dividir a janela do navegador ou a janela do quadro pai em quadros separados. O elemento FRAMESET é especificado por tags emparelhadas
Cols – lista de valores de largura dos frames criados (podem ser utilizados tanto valores absolutos em pixels e porcentagens, quanto proporcionais, ver exemplo 8.1);
Linhas – lista de valores de altura dos quadros criados (os valores são semelhantes aos valores do atributo cols).
Você pode definir os valores de apenas um dos atributos. Além disso, se apenas o atributo col for definido, os frames criados ocuparão toda a altura da janela do navegador. Se apenas o atributo rows for definido, os quadros criados ocuparão toda a largura da janela do navegador. Se ambos os atributos estiverem definidos, os quadros serão criados da esquerda para a direita e de cima para baixo.
Entre tags
Nome – especifica o nome do quadro, permitindo que ele seja utilizado como quadro alvo em hiperlinks;
Src – URI do documento cujo conteúdo é exibido na janela do quadro;
Noresize – Atributo booleano que bloqueia a capacidade de redimensionar a janela do quadro;
Rolagem – permite mostrar ou ocultar barras de rolagem em uma janela de quadro, podendo assumir os valores sim (mostrar barras de rolagem), não (não mostrar barras de rolagem) ou automático (padrão: mostrar barras de rolagem somente se o conteúdo não caber na moldura da janela);
Frameborder – indica se o navegador deve mostrar o quadro da janela, podendo assumir valores 1 (o quadro é mostrado como na Fig. 8.1, usado por padrão) ou 0 (o quadro não é mostrado);
Marginheight – define a distância vertical entre as bordas e o conteúdo do quadro.
O conceito de quadros aninhados foi abordado anteriormente. Agora é hora de examinar detalhadamente o aninhamento de quadros. Em HTML, os frames podem ser aninhados uns nos outros inúmeras vezes. Isto é usado quando você precisa dividir uma janela do navegador, por exemplo, como feito na Fig. 8.1. Estude a seguinte passagem cuidadosamente.
Isso cria um conjunto externo de dois quadros que ocupam toda a altura da janela do navegador. Isso cria outro conjunto de quadros no quadro esquerdo do conjunto externo. Vale ressaltar que o bloco
Há mais uma diferença notável no documento frameset - ele não possui corpo (elemento BODY). Tal documento não pode conter conteúdo diferente da definição do conjunto de quadros.
8.3. Novos recursos de hiperlink
Quase no início deste capítulo, foi dito que com a ajuda de frames você pode organizar a navegação do site de forma que apenas as informações necessárias sejam baixadas do servidor, e todas as partes estáticas (por exemplo, uma lista de links de sites, nome do site, etc.) estarão sujeitos a alterações ou reinicialização a partir do servidor. Esta possibilidade é conseguida especificando um frame alvo para hiperlinks, ao clicar nele é necessário alterar apenas o conteúdo de um dos frames.
Quadro de destino de hiperlinks individuais
O atributo target é utilizado para especificar o frame alvo de cada hiperlink, ou seja, o frame no qual será exibido o conteúdo do documento HTML aberto pelo link. O valor deste atributo pode ser o nome do quadro desejado (o valor do atributo name desse quadro) ou um dos seguintes valores de string predefinidos:
Em branco – abre o documento em uma nova janela;
Auto – abra o documento na mesma janela onde está o hiperlink;
Pai – abre o documento na janela do quadro pai (igual a _self, se o quadro no qual o hiperlink está localizado não tiver pai);
Superior – substitui o conteúdo da janela do navegador pelo conteúdo do documento que está sendo aberto, descartando todos os frames criados anteriormente.
O atributo target é compatível com todos os elementos HTML que permitem criar hiperlinks: A, LINK, AREA.
Agora, para consolidar o conhecimento adquirido, reelaboraremos o documento do exemplo 7.11 do capítulo anterior, colocando links, nome e texto do site em frames separados.
O documento que descreve o conjunto de quadros será denominado index.html. Seu conteúdo é mostrado no exemplo 8.2.
Exemplo 8.2. Arquivo de descrição do conjunto de quadrosNovo site com frames altura da margem = 0 borda do quadro = 0>
No exemplo acima, o nome é atribuído a apenas um quadro (o canto inferior direito). É neste quadro que será exibido o conteúdo dos documentos.
O arquivo links.html contém um documento com hiperlinks para os arquivos de exemplo (também contém um link para a página inicial). Supõe-se que os arquivos de exemplo estejam localizados na pasta Exemplos. Abaixo está o conteúdo do arquivo links.html (observe o valor do atributo target dos hiperlinks) (Exemplo 8.3).
Exemplo 8.3. Arquivo com hiperlinks
O arquivo title.html contém o título do site (junto com um logotipo hipotético), que é exibido no quadro correspondente (exemplo 8.4).
Exemplo 8.4. Arquivo para o quadro com o cabeçalho do siteTitulo do site
7. Tabelas
Como você pode ver no texto do documento HTML (ver exemplo 8.4), para conseguir uma localização aceitável para a imagem do logotipo, tivemos que recorrer ao uso de uma tabela.
No site de exemplo em consideração, outro arquivo é usado - start.html. Este arquivo contém a página inicial do site. O conteúdo deste arquivo pode ser qualquer coisa. Ao escrever o exemplo, parte do texto do Capítulo foi colocada no arquivo start.html. 7. Para economizar espaço no livro, o conteúdo deste arquivo não é fornecido.
Após a criação de todos os arquivos do site, você poderá admirar o resultado (Fig. 8.2).
Arroz. 8.2. Site criado com frames
Quadro de destino padrão
Finalmente, vamos ver como você pode reduzir a quantidade de texto em um documento HTML ao usar o mesmo quadro como quadro de destino para muitos hiperlinks. Dê uma outra olhada no texto do Exemplo 8.3. Cada hiperlink neste exemplo possui o mesmo valor de atributo de destino. Para evitar ter que especificá-lo muitas vezes, você pode atribuir um quadro de destino padrão.
O quadro de destino HTML padrão é definido como o elemento BASE (uma única tag
). O atributo target deste elemento é definido como o nome do quadro padrão. Se o elemento BASE for utilizado, ele deverá ser colocado no HEAD do documento HTML. Dito isto, o Exemplo 8.3 pode ser reescrito da seguinte forma (Exemplo 8.5).
Exemplo 8.5. Usando o quadro de destino padrão
8.4. Elemento NOFRAMES
Os frames são uma forma muito atraente de criar sites, como deveria ter ficado óbvio nos exemplos dados anteriormente. Porém, os frames em HTML não apareciam imediatamente e por muito tempo não eram padronizados, portanto o processamento e a apresentação de documentos com frames por diferentes navegadores ainda podem diferir significativamente. Além disso, um número bastante grande de usuários ainda pode ter versões mais antigas de navegadores que não suportam frames.
Se for importante que o usuário veja pelo menos algo ao visualizar um site que utiliza frames, então o elemento HTML NOFRAMES deve ser utilizado. Este elemento é especificado por tags emparelhadas
E . Ele é colocado em um arquivo com uma descrição do conjunto de quadros.O texto HTML é colocado entre as tags do elemento NOFRAMES, que o navegador exibe se não suportar frames (ou se o usuário tiver desativado o suporte a frames no navegador). Se o navegador for capaz de mostrar frames, o texto entre as tags do elemento NOFRAMES será ignorado. Texto entre tags
E.E pode ser formatado exatamente da mesma forma como se estivesse entre tagsClaramente, muito mais sites portáteis podem ser criados usando o elemento NOFRAMES, especialmente se for tomado cuidado para garantir que nenhuma informação importante seja perdida quando os frames não puderem ser exibidos. Para o site discutido anteriormente, você pode criar uma versão que não utiliza frames (feita, por exemplo, usando apenas tabelas), e dentro do elemento NOFRAMES você pode colocar uma mensagem informativa e um link para esta versão do site (exemplo 8.6 ).
Exemplo 8.6. Usando o elemento NOFRAMESNovo site com frames altura da margem = 0 borda do quadro = 0>
Atenção! O seu navegador não suporta frames. Para abrir uma versão do site que não utiliza frames, clique em
aqui.
8.5. Quadros flutuantes
Além dos frames regulares discutidos anteriormente, o HTML permite o uso dos chamados frames flutuantes. Os frames flutuantes são exatamente iguais aos documentos HTML incorporados: eles são mostrados pelo navegador em uma janela localizada diretamente no texto (Figura 8.3).
Arroz. 8.3. Aparência de um quadro flutuante
Para criar quadros flutuantes, use o elemento HTML IFRAME (definido usando tags emparelhadas ). O quadro flutuante é configurado usando os seguintes atributos:
Src – URI do documento HTML exibido na janela do frame;
Frameborder – modo de exibição da borda do quadro, pode assumir valores 0 (não mostrar borda) ou 1 (mostrar borda);
Rolagem – modo de exibição das barras de rolagem do conteúdo do quadro, pode assumir os valores não (não mostrar barras de rolagem), sim (mostrar barras de rolagem) ou auto (usado por padrão, mostrar barras de rolagem somente se o conteúdo não couber);
Marginwidth – define a distância horizontal entre as bordas do quadro e seu conteúdo (em pixels);
Marginheight – define a distância vertical entre as bordas e o conteúdo do quadro;
Alinhar – define a posição da moldura flutuante no texto, podendo assumir os valores esquerda, direita e centro;
Largura – define a largura da janela do quadro flutuante, o valor pode ser absoluto (em pixels) ou percentual;
Altura – define a altura da janela do quadro flutuante.
Texto entre tags é exibido pelo navegador somente se for impossível exibir o próprio quadro flutuante.
Como exemplo de utilização do elemento IFRAME, segue abaixo o texto de um documento HTML, cuja aparência é mostrada na Fig. 8.3 (exemplo 8.7).
Exemplo 8.7. Documento de quadro flutuanteExemplo de página com quadro flutuante Um quadro flutuante se parece com isto:
Seu navegador não suporta iframes. Para visualizar o conteúdo do documento start.html, clique em
8.6. Substituindo frames por documentos HTML incorporados
Se por algum motivo você não tiver a oportunidade de usar frames, mas ainda quiser manter a interface do site da mesma forma que seria se usasse frames, você pode recorrer ao uso do elemento HTML OBJECT. Dê uma olhada no texto do Exemplo 8.8. Aqui, para criar um análogo do quadro flutuante mostrado na Fig. 8.3, o elemento OBJECT é usado.
Exemplo 8.8. Substituindo um quadro flutuante por um elementoSubstituindo um quadro flutuante por um documento HTML incorporado O documento HTML incorporado tem esta aparência:
Seu navegador não suporta injeção de objetos. Para visualizar o conteúdo do documento start.html, clique em
O resultado da introdução de outro documento HTML em um documento HTML é mostrado na Fig. 8.4. Como você pode ver, introduzir um objeto praticamente não difere em aparência de adicionar uma moldura flutuante.
Arroz. 8.4. Documento incorporado como um quadro flutuante
É verdade que há um problema na substituição considerada aqui. Somente com HTML, você não poderá usar a área incorporada do documento como quadro de destino para hiperlinks; portanto, o escopo da solução descrita aqui é muito mais restrito do que o escopo do possível uso de quadros.
Materiais relacionados:
- Amplificador automotivo - opções econômicas para criar som na cabine Como montar um circuito amplificador de som
- Amplificador de alta qualidade sem feedback: amplificador transistorizado de dois estágios The End Millennium
- Streams World Of Tanks Aces gg l primeiro tanque
- Os melhores tanques médios do World of Tanks
- Eletrônica passo a passo download fb2
- Fazendo uma sela no Minecraft 1
- Binds para comprar armas rapidamente no cs:go
Assine o boletim informativo semanal sbsko.ru