Teste seu conhecimento 08
Publicado em: 2008-02-29 — 14.306 visualizacoes
Bug da borda pontilhada no IE 6 e anteriores
Este é um bug bem conhecido e a maioria dos desenvolvedores CSS já deve ter vivenciado a experiência em algum de seus projetos.
Se você define uma borda pontilhada de de 1px para um elemento qualquer na sua página, ao visualizar a borda em um navegador complacente com as Web Standards tudo se passa como esperado. Mas, a visualização no IE 6 ou anteriores se revela inconsistente e completamente equivocada, pois a borda lá está e no lugar certo, mas tracejada e não pontilhada.
Considere a declaração a seguir que coloca a referida borda em uma DIV:
div#borda {
width: 270px;
height: 70px;
background: #ffc;
border: 1px dotted #000;
}
E observe nas figuras a seguir a renderização da borda:
A solução clássica para resolver este bug é usar uma imagem do pontilhado e colocá-la como fundo do elemento.
Esta solução tem sido usada com relativa freqüência quando se trata de uma linha vertical ou horizontal separando duas áreas do site como por exemplo: separar a coluna de navegação da coluna principal com uma linha pontilhada vertical.
Mas, usar uma imagem do pontilhado para colocar borda nos 4 cantos lados de um elemento requer a inserção de mais três elementos, cada um com uma imagem de fundo para cada lado do elemento. Assim este desafio consiste em obter o efeito de borda pontilhada de 1px no IE 6 obdecendo as seguintes regras.
Regras gerais:
- Usar somente (X)HTML e CSS (sem scripts);
- Não usar imagens;
- Não usar tabelas;
- Não usar estilos inline;
- Não usar hacks;
- A renderização deve mostrar uma borda pontilhada na cor preta em volta de uma div com 270px x 70px com fundo #ffc, tanto no IE6 como no Firefox.
Bem, este é o desafio.
Caso você consiga resolver, guarde sua solução e não envie para mim.
Poste um comentário dizendo que resolveu, mas não publique a solução.
Dentro de aproximadamente 1 mês escolherei um dos que disseram ter resolvido, convidando-o a enviar-me a solução para ser publicada juntamente com minha solução.
Se você pretende acompanhar a matéria e participar da escolha da solução é uma boa idéia se inscrever para receber notificações de novos comentários marcando o checkbox no formulário dos comentários.
Em tempo: Você; receberá um belo prêmio caso encontre a solução.
O prêmio é a satisfação de dizer para você mesmo que está progredindo com seus conhecimentos sobre CSS.
Prêmio maior do que este não pode haver!
Desenvolvimento com Padrões Web? Adquira os livros do Maujor
Visite o site dos livros.
Esta matéria foi publicada em: 2008-02-29 (sexta-feira). Subscreva o feed RSS 2.0 para comentários.
Comente abaixo, ou link para https://www.maujor.com/blog/2008/02/29/teste-seu-conhecimento-8/trackback no seu site.
Eu mesmo já me deparei com isso =(
Alguém conseguiu solucionar?
Abraço!
Boa dica. Vlw!
Abraços,
http://www.galaxhost.com.br
Desculpe pela demora, esta meio sem tempo. mas bem, ja mandei um e-mail pra vc.
Minha contribuição segue para seu email Maujor:
Um abraço a todos
Olá
@Rodrigo e @André Mácola
Convido vocês a enviar a solução encontrada para: maujorcss[arroba]maujor[ponto]com.
Então Maujor…. cade a sua solução?
Acho o Firefox superior ao IE
Thanks, I will try this in my blog
http://2refresh.blogspot.com/
Consegui fazer o pontilhado mais não está renderizando na mesma espessura… vou continuar buscando a solução.
Obrigado pela dica
Creio que consegui =). Em ambos os browsers
Muito bom.
Não sei ainda a solução, mas ainda restam alguns dias não é ?! Estou tentando!
Já havia feito algo parecido antes. Tinha que colocar sombras em imagens que iriam variar de tamanho dinamicamente.
É só pensar um pouco antes de começar a fazer que logo vem a idéia (bem simples por sinal).
É um ótimo exercício! Boa sorte para quem for tentar!!
Poxa, que interessante!
Vou tentar!
http://fabianopereiradesigner.blogspot.com/
Resolvido!
Eu nunca tinha pensado numa solução para esse problema. É mais simples do que parece.