Entrar
Todos os segredos de informática para iniciantes e profissionais
  • 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
  • Como inserir um iframe em HTML: exemplo de uso. Como criar uma página com frames Criando frames para páginas web em html

    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

    Este código significa que o primeiro quadro terá tamanho de 70 pixels, o terceiro terá 40% da largura da tela e o segundo ocupará o espaço restante.

    Descobrimos completamente a primeira linha do código. Vá em frente.

    Seguem tags . Desde que separados por vírgulas no parâmetro colunas marcação conjunto de quadros se três números forem fornecidos (ou seja, haverá três quadros), então as tags deve haver três também. O valor do parâmetro src é o endereço da página web que será carregada neste quadro. O endereço, como pode ser visto no exemplo, pode ser absoluto e relativo.

    E a última linha fecha o container .

    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 .. com três colunas e escreva o endereço da sua página em cada uma. Veja, nada complicado, apenas usamos uma tag insira o novo contêiner que precisamos .. .

    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:

    <span>Exemplo nº 1 de uma página HTML com frames</span>
    Explicação por exemplo nº 1

    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ítulo , mas há uma grande diferença. Você provavelmente notou que está faltando a tag body, responsável pelo corpo da página. A tag é inserida em seu lugar <frameset>, que é responsável pelo corpo da página. Esta tag possui dois atributos cols="25%,75%" , o que significa dividir todo o corpo da página em duas áreas verticalmente na proporção de 1:3. A primeira área ocupará 25% da largura de toda a tela (conterá o primeiro quadro menu.html), a segunda área ocupará 75% da largura de toda a tela (conterá o segundo conteúdo. quadro HTML).</p> <p>A última tag completamente opcional é <noframes>. É necessário para navegadores que não suportam frames. Caso o navegador não suporte frames, é recomendável informar educadamente o usuário sobre isso por meio desta tag.</p> <p>A propósito, observe que para a tag <frame>nenhuma tag de fechamento necessária.</p> <p>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.</p> <h2>Exemplo com 4 quadros #2</h2> <p>Estrutura para exemplo 2:</p> <p><img src='https://i0.wp.com/zarabotat-na-sajte.ru/uroki-html/img/primer2-frame-karkas.jpg' width="100%" loading=lazy loading=lazy><br>Fig 3. Estrutura para uso de frames, por exemplo nº 2</p> <p>O código da página HTML original com o frame será o seguinte:</p> <blockquote><html > <head > <title ><span>Exemplo nº 2 de uma página HTML com frames</span> <span>Seu navegador não suporta exibição de frames</span>

    Código do arquivo top.html

    <span>Arquivo top.html - cabeçalho do site</span>

    Exemplo nº 2

    E aqui poderia haver um logotipo e muito mais :)

    Código do arquivo menu.html

    <span>Arquivo menu.html - menu do site</span>

    Código do arquivo content.html

    <span>Arquivo content.html - conteúdo do site</span>

    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

    <span>Arquivo about-site.html - Página sobre o site</span>

    Sobre o site

    Página sobre o site. O arquivo about-site.html agora está aberto

    Código do arquivo about-autor.html

    <span>Arquivo about-autor.html - sobre o autor</span>

    Sobre o autor

    Sobre a página do autor. O arquivo about-autor.html agora está aberto

    Código do arquivo footer.html

    <span>Arquivo footer.html - sobre o site</span> Rodapé do site. O arquivo footer.html agora está aberto
    Explicação do exemplo nº 2

    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

    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 preciso de uma tag de fechamento .

    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:

    Quadros de exemplo Você está visualizando esta página usando um navegador que não suporta frames.

    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 (do conjunto de molduras em inglês - um conjunto de molduras).
    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



    Documento com molduras

    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 só pode conter tags ou outro conjunto de frames cobertos por tags E .
    Marcação tem os seguintes atributos:

    • linhas— descreve como dividir uma página em linhas:
    • colunas— descreve como uma página é dividida em colunas:
    As áreas resultantes desta divisão de páginas serão frames. A ausência desses atributos define um único quadro que ocupará toda a janela do navegador.

    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 com atributo linhas primeiro cria dois quadros horizontais e substitui o segundo quadro por outro que divide o quadro horizontal inferior em duas colunas usando o atributo colunas, a coluna esquerda ocupa 20% e a direita 80% da janela do navegador.
    Se o navegador não suportar frames, a janela exibirá o texto localizado entre as tags </b> E <b> . Tudo entre as tags </b> E <b> , é ignorado por navegadores que suportam frames. Assim, o desenvolvedor precisa escrever um código que duplique o conteúdo dos frames por outros meios, e colocar esse código no container </b>, todos os usuários poderão ver sua página da web. <br>Como já observado, uma tag não pareada é usada para inserir um quadro separado em um documento <b><frame> </b>. Atributo <b>fonte</b> especifica o documento que deve ser exibido dentro deste quadro, por exemplo: <frame src="frame_top.html">. Se atributo <b>fonte</b> ausente, um quadro vazio será exibido.</p> <h2>Bordas ou espaço entre quadros</h2> <p>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. <br>A borda do quadro pode ser manipulada como qualquer outro elemento do quadro. Existem vários atributos de elemento para este <b><frameset> </b>, permitindo personalizar as bordas dos quadros. A espessura da linha de borda é determinada pelo atributo <b>fronteira</b>. O valor padrão da espessura da borda é cinco. <br>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 <b>moldura</b>. Atributo <b>moldura</b> só pode assumir dois significados opostos. Se o valor do atributo <b>moldura</b> 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 <b>moldura</b> variam para diferentes navegadores. Para resolver este problema use o atributo duas vezes <b>moldura</b>, e para alguns navegadores você também precisa adicionar o atributo <b>espaçamento de quadros</b> com valor "0":</p><p> <frameset frameborder="0" framespacing="0" frameborder="no" border="0"> </p><p>No exemplo a seguir removemos a borda entre os frames:</p> <h3>Exemplo: Removendo a borda entre os quadros</h3> <ul><li>Tente você mesmo "</li> </ul><table><tr><td style="width: 10px;background-color:green;color: white;">quadro_esquerdo</td> <td style="width: 90%;background-color:lime;color: white;">quadro_direita</td> </tr></table><p> <!DOCTYPE html> <html><br><head><br><meta charset="UTF-8"> <title>Molduras sem bordas</title> </head> <frameset cols="100,*" frameborder="0" framespacing="0" frameborder="no" border="0"> <frame src="frame_left.html" name=" frame_left" > <frame src="frame_right.html" name="frame_right" > </frameset> </html></p> <p>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 <b>tamanho normal</b>:</p><p> <frame src="frame_left.html" noresize> </p><p>Usando atributo <b>Cor da borda</b> Você pode alterar a cor da borda do quadro, bastando especificar o código ou o nome da cor reservada correspondente. <br>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:</p> <h3>Exemplo: Controle de Borda de Quadro</h3> <ul><li>Tente você mesmo "</li> </ul><table style="border-collapse:collapse;"><tr><td style="border-bottom: 4px solid red;background-color:blue;color: white;" colspan="2">frame_top</td> </tr><tr><td style="border-right: 4px solid red;width: 20%;background-color:green;color: white;">quadro_esquerdo</td> <td style="width: 80%;background-color:lime;color: white;">quadro_direita</td> </tr></table><p> <!DOCTYPE html> <html><br><head><br><meta charset="UTF-8"> <title>Gerenciamento de bordas de quadros</title> </head> <frameset rows="150, *" border="10" bordercolor="red" frameborder="1" frameborder="yes"> <frame src="frame_top.html" noresize> <frameset cols="20%, 80%"> <frame src="frame_left.html"> <frame src="frame_right.html"> </frameset> </frameset> </html></p> <p>Se você deseja posicionar a página exibida dentro do quadro mais próxima de suas bordas, ou, inversamente, afastá-la, altere os atributos <b>altura da margem</b> E <b>largura de margem</b> marcação <b><frame> </b>. Atributo <b>altura da margem</b> define o preenchimento entre o conteúdo do quadro e suas bordas superior e inferior. Sintaxe:</p><p> <frame marginheight="число"> </p><p>Atributo <b>largura de margem</b> define o preenchimento entre o conteúdo do quadro e suas bordas direita e esquerda. Sintaxe:</p><p> <frame marginwidth="число"> </p><p>Esta linha html, por exemplo, posiciona a página exibida próxima à borda do quadro:</p> <p>Se a página estiver exibindo uma barra de rolagem que você não deseja, você pode resolver o problema especificando o atributo <b>rolagem</b>="não" na tag <b><frame> </b>. 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.</p> <h2>Links dentro de frames</h2> <p>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. <br>Para carregar um documento em um quadro específico, use o atributo <b>alvo</b> marcação <b><a> </b>. Como um valor de atributo <b>alvo</b>é usado o nome do quadro no qual o documento especificado pelo atributo será carregado <b>nome</b> marcação <b><frame> </b>. 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:</p> <p>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.</p> <p>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:</p><p> <a href="http://www.google.com" target="frame_right">Google</a> </p><p>O quadro certo recebe um nome <i>quadro_direita</i>:</p><p> <frame src="frame_right.html" name="frame_right"> </p><p>Para carregar um documento em um quadro especificado, use a construção <i>alvo = "quadro_direito"</i>, conforme mostrado no exemplo:</p> <h3>Exemplo: Link para outro quadro</h3> <ul><li>Tente você mesmo "</li> </ul><p> <!DOCTYPE html> <html><br><head><br><meta charset="UTF-8"> <title>Link para outro quadro</title> </head> <frameset rows="100, *"> <frame src="frame_topic.html"> <frameset cols="20%, 80%"> <frame src="frame_left.html"> <frame src="frame_right.html" name="frame_right"> </frameset> <noframes> <p>Seu navegador não está exibindo frames</p>

    Quadros flutuantes

    Elemento

    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 quadro

    Site 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 E. Ao dividir uma janela em quadros, são utilizados os seguintes atributos do elemento FRAMESET:

    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 E deve conter descrições de cada quadro usando o elemento HTML FRAME ou definições de quadros aninhados. Vejamos primeiro a descrição de frames usando o elemento FRAME. Este elemento HTML é especificado usando uma única tag . Abaixo estão seus atributos mais comumente usados:

    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 … semelhante a um único elemento FRAME (descreve o conteúdo de um quadro do conjunto externo). Analisando o fragmento acima, podemos dizer claramente que o quadro esquerdo do conjunto externo é dividido e o conteúdo do documento page3.html é carregado no quadro direito.

    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 quadros

    Novo 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

    Texto do capítulo

    Exemplo 7.1

    Exemplo 7.2

    Exemplo 7.3

    Exemplo 7.4

    Exemplo 7.5

    Exemplo 7.6

    Exemplo 7.7

    Exemplo 7.8

    Exemplo 7.9

    Exemplo 7.10

    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 site

    Titulo 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

    Texto do capítulo

    Exemplo 7.1

    Exemplo 7.2

    Exemplo 7.3

    Exemplo 7.4

    Exemplo 7.5

    Exemplo 7.6

    Exemplo 7.7

    Exemplo 7.8

    Exemplo 7.9

    Exemplo 7.10

    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 pode ser formatado exatamente da mesma forma como se estivesse entre tags E.

    Claramente, 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 NOFRAMES

    Novo 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 flutuante

    Exemplo de página com quadro flutuante

    Um quadro flutuante se parece com isto: