Propriedade CSS \ 9 na largura

209

Qual o significado disso? Acho que é um hack do navegador, mas não consegui encontrar o que exatamente faz.

width: 500px\9;

Qual é o significado de \9?

bem, na verdade
fonte
em um arquivo css .. definindo a largura de algum elemento.
bem, na verdade
Não duplicata exata, mas esta pergunta responde-lhe: stackoverflow.com/questions/701732/size-in-css-with-slash
Raptor
não parece ser válido em qualquer versão CSS, tanto quanto eu posso ver ...
Marc B
Eu não acho que essa pergunta se refira à mesma coisa.
bem, na verdade
6
@Shivan Raptor: Não, não. É uma pergunta totalmente diferente.
BoltClock

Respostas:

290

\9 é um "hack de CSS" específico para o Internet Explorer 7, 8 e 9.

Isso significa simplesmente que a única linha específica de CSS que termina com um \9;lugar de ;é válida apenas no IE 7, 8 e 9.

No seu exemplo,

width: 500px\9;significa que uma largura de 500 pixels (o mesmo resultado que width: 500px;) será aplicada apenas ao usar o IE 7, 8 e 9.

Todos os outros navegadores ignoram width: 500px\9;completamente e, portanto, não se aplicam width: 500px;ao elemento.

Se o seu CSS estivesse assim ...

#myElement {
    width: 300px;
    width: 500px\9;
}

O resultado teria #myElement500 pixels de largura no IE 7, 8 e 9, enquanto em todos os outros navegadores, #myElement300 pixels de largura.

Mais informações


EDITAR:

Esta resposta foi escrita em 2011. Agora, observe que esse hack também funciona no IE 10.

Sparky
fonte
1
@ jdavid.net, se não quebrar seu CSS, absolutamente nada, AFAIK.
Sparky
10
\0em vez de \9vai aplicá-la a IE10 bem
abc123
21
O @ abc123 permite que eles nunca cheguem ao IE para a versão 16.
Hoffmann
4
Na minha experiência, agora, \9também estava sendo aplicada ao IE 10 com uma widthpropriedade, pelo menos no modo de emulação do IE. O modo de emulação é de buggy na melhor das hipóteses, talvez por isso.
Davidjb
1
@ Davididjb, isso é porque não é realmente um emulador. Foi projetado como um substituto para o código mais antigo.
Sparky
13

É um hack css para o IE9 e a versão abaixo

escreva assim:

width: 500px\9;

Leia este artigo http://dimox.net/personal-css-hacks-for-ie6-ie7-ie8/

sandeep
fonte
4
Obrigado pelo link, mas o artigo não explica o que faz.
bem, na verdade
1
Usamos o hack para o IE por duas coisas. 1) existem algumas propriedades que não são suportadas pelo IE como na tela: inline-block & 2) Todo navegador processa algumas propriedades HTML e CSS de maneira diferente. verifique este artigo blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block
sandeep
Verifique o link também coding.smashingmagazine.com/2010/06/07/…
sandeep
O IE suporta display: inline-block ;, mau exemplo.
reisio 4/11/11
No entanto, não parece ser um hack particularmente útil para a propriedade 'width'. Pelo menos não fora do modo quirks.
reisio 4/11/11
2

No IE9, para definir a propriedade width, basta adicionar esse hack.

por exemplo

.align {
    float:left;
    margin:5px;
    background-color:blue;
    width:65px;
    width:\9 !important;
}
Asad Shah
fonte
2

Corte CSS para IE9

/* Hack CSS IE9 */
.csshackie9 {color:#f00\9\0\;}
gordi
fonte
7
você deve postar mais informações sobre o que é esse hack, em vez de criar um link externo - se esse blog desaparecer, o valor da sua resposta diminuirá. Além disso, nem todo mundo fala russo.
Marcin Orlowski
1
Seria melhor fornecer algumas informações essenciais em inglês, porque o link que você postou é no blog russo.
Artemix
OP, você deve se repreender e ir sentar-se no degrau impertinente.
slugmandrew