As perguntas sobre elementos selecionados no HTML foram levantadas em muitos lugares e, no projeto, há um tempo atrás, encontrei duas pequenas perguntas sobre elementos selecionados. Vamos resumi -los aqui. O primeiro é o mais famoso: o problema geral de que a camada flutuante de divisão não pode cobrir o elemento selecionado no IE6. Primeiro, o exemplo a seguir é fornecido: NOTA: Se você olhar para Firfox e IE7
As perguntas sobre elementos selecionados no HTML foram levantadas em muitos lugares e, no projeto, há um tempo atrás, encontrei duas pequenas perguntas sobre elementos selecionados. Vamos resumi -los aqui.
Artigos relacionados: soluções para o problema da camada div ser coberta pela camada flash
O primeiro é o mais famoso: o problema geral de que a camada flutuante de divisão não pode cobrir o elemento selecionado no IE6. Primeiro, o exemplo a seguir é fornecido:
Nota: Se você olhar para o Firfox e o IE7, o resultado é o mesmo: as camadas flutuantes A, B e C podem ser uma realidade normal, ou seja, o elemento selecionado abaixo é bloqueado. No entanto, no IE6, existem três situações diferentes, a camada flutuante A ainda é normal; A camada flutuante B principal cobre o elemento de seleção, mas a estrutura da camada flutuante não pode cobrir o elemento de seleção; A camada flutuante 3 não pode cobrir o elemento de seleção. A razão para esse fenômeno é que, no IE6, o navegador considera o elemento selecionado como um elemento no nível da janela. Neste momento, o DIV ou outros elementos comuns não podem cobrir o elemento de seleção, não importa o quão alto o Index Z seja definido, mas a seleção pode ser bloqueada por um iframe que também é um elemento no nível da janela. É assim que o exemplo acima faz. A camada flutuante C é apenas uma camada flutuante de divisão. Não vou falar mais sobre isso aqui, basta olhar para a estrutura da camada flutuante B:
<div class = conteddiv> <iframe class = MaskiFrame> </iframe> <div class = mantndiv> camada flutuante b </div> </div>
Use uma div para montar a divisão de conteúdo real e um elemento iframe, e o estilo correspondente é:
.Containdiv {Posição: Absolute; TOP: 140px; Esquerda: 60px; } .Maskiframe {Posição: Absolute; Esquerda: -1px; topo: -1px; Z -Index: -1; Border: 1px Solid #000; Hight: 50px; Largura: 50px; _Eight: 48px; _width: 48px;}. MainDiv {Background: #eBac3b; largura: 50px; altura: 50px;}
A camada flutuante B usa o iframe para posicionar e definir absolutamente o Z -Index: -1; IN containsdiv, e depois permite o magndiv que realmente coloca o conteúdo abaixo para cobrir o iframe. No momento, o iframe pode cobrir o elemento de seleção e indiretamente faz com que o Maidiv também cubra o elemento selecionado. No entanto, a camada flutuante B ainda é imperfeita, porque a borda do Iframe da camada flutuante B aqui usa a borda do Iframe. O próprio iframe pode cobrir a seleção, mas sua borda não pode, portanto ocorre a camada flutuante B.
A camada flutuante A resolve esse problema e alcançou o pensamento ideal. É basicamente o mesmo que a camada flutuante B, exceto que faz com que o iframe mais do que mantndiv para cima, para baixo, para a esquerda e direita e depois entregue a borda maindiv. Dessa forma, a borda flutuante é fornecida por mantdiv, e todo o mantndiv e a borda estão no iframe, portanto o efeito ideal é alcançado!
O segundo problema com selecionar é o problema de gerar dinamicamente opções opções no IE. Veja o exemplo da segunda pergunta acima. Ao clicar no link (FF limitado), você pode adicionar 3 elementos de opção ao elemento de seleção em FF, mas não é possível no IE; Ao clicar no link (geral), você pode adicionar 3 elementos de opção ao elemento de seleção no IE e FF. O motivo é que o primeiro link é adicionar o elemento de opção através do atributo INnerHTML do elemento selecionamento.
document.getElementById (addSelect) .innerhtml = abc;
Não há problema com isso no FF, mas o IE não pode adicionar a opção elementos filho ao elemento de seleção através deste método, mas o método fornecido pelo segundo link é necessário:
document.getElementById (addSelect) .options.add (nova opção (a, a, falsa, verdadeira));