Pergunta

Vi muitos desenvolvedores escrevendo larguras de estilo HTML ou CSS em linha de 99,9% em locais onde usaria 100%. Existe algum motivo válido para usar 99,9%? Tem alguma diferença efetiva em relação a 100%?

Edite para retweetar a pergunta muito boa de Msalters: Considering that 99.9% is one pixel off above 500 pixels, why not 99.99%? Eu acho que ele está certo, que se você estiver indo com o dirty hack Você deve usar 99,99%, alguém discorda?

Referências adicionais:

Foi útil?

Solução

o hasLayout propriedade

É um hack sujo usado para definir o IE específico hasLayout propriedade do elemento para verdadeiro. o hasLayout Propriedade "determina como os elementos desenham e ligam seu conteúdo, interagem e se relacionam com outros elementos e reagem e transmitam eventos de aplicativo/usuário". Dando um elemento layout é uma maneira fácil de corrigir muitos bugs relacionados ao layout que aparecem no Internet Explorer.

O que há com os 99,9%?

Definir a largura para 99,9% é uma maneira de acioná -la. O motivo pelo qual você usaria 99,9% é porque o layout é dado a um elemento se o seu width está definido para qualquer coisa que não seja auto. Configurar para uma porcentagem impede a necessidade de usar uma largura fixa.

Após alguns testes no JSFIDDLE, cheguei à conclusão de que realmente não é necessário usar uma largura de 99,9%, usar uma largura de 100% é igualmente eficaz. http://jsfiddle.net/3qfjw/2/ (Apenas IE). Parece que a configuração width a 99,9% pode ter sido um equívoco comum que preso .. Espalhe a palavra pessoas.

Outros métodos

Você também pode acionar hasLayout usando zoom: 1; Embora esse seja o método preferido para muitos, pois não mexe com outros recursos relacionados ao estilo de um elemento, ele também é um código CSS inválido, que não é uma opção de usar para alguns desenvolvedores.


Leitura adicional

Para mais métodos para acionar hasLayout Verificação de saída: http://www.satzansatz.de/cssd/onhavlayout.html

Para mais informações sobre o hasLayout Propriedade, confira o artigo do MSDN em hasLayout http://msdn.microsoft.com/en-us/library/bb250481(vs.85).aspx (Esta é realmente uma ótima leitura, muitas informações detalhadas)

Outras dicas

É verdade width de qualquer coisa, menos auto e zoom gatilho haslayout e zoom é a propriedade/valor mais flexível, pois não mexe com a largura, mas não acho que essa seja a razão pela qual você viu os desenvolvedores usarem 99,9%.

Em certos casos flutuantes, é necessário que a largura combinada dos carros alegóricos não adie até 100% (se especificada em porcentagens) porque o IE6 calcula incorretamente isso como além de 100% e geralmente o último que cai.

A solução é especificar uma margem direita -1px apenas para o IE ou fazer a soma 99,99%.

Eu documentei o bug aqui. Portanto, se está relacionado ou não ao que você estava vendo, espero que o link de bug ajude alguém a experimentar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top