Criar CSS's diferentes para vários browsers

.:Red Dragon:.

Power Member
Boas!

Eu gostava de saber como é que faço para que uma página em HTML ou PHP chame CSS's diferentes consoante o browser do utilizador.

Por exemplo, se for Firefox, a página vai buscar o "firefox.css" e se for o IE vai buscar o "ie.css". Já vi isso em ASP mas gostava de saber isso em HTML ou PHP.
 
pode, mas ele não falou em JS.

não adivinho :D


Pode usar DOM e mudar o estilo a meio da página, fazendo um load por cima, ou entao, por mesmo os css's dentro de document writes e verificar logo o browser :)

Como ver o browser, existem montes tutorials, se calhar um prático, é num bom script de adicionar aos favoritos, pois eles procuram o browser para saber que acções tomar :)
 
HTML é impossível, o máximo que consegues é dentro de um css, aplicar o que se chama Conditional COmments, e dentro dessas condições, só são aplicadas conforme o browser, ver mais aqui:

É possível utilizar esta forma mas não deveriam ser utilizados esses comentários. Com algum esforço é possível criar uma css compatível em todos os browsers... já me chatearam muito mas é possível ser feito. O IE é que continua a ser incompatível com alguns efeitos criados pela css mas para isso sempre existe o JavaScript...
 
Eu faço assim:
<head>
<style type="text/css">
@import "css/globalMF.css";
</style>

<!--[if IE ]>
<style type="text/css">
@import "css/globalIE.css";
</style>
<![endif]-->
</head>

basicamente primeiro importas o ficheiro para o Firefox e depois caso o browser seja o IE importa um novo ficheiro que vai sobrepor o anterior.
 
Eu faço assim:
<head>
<style type="text/css">
@import "css/globalMF.css";
</style>

<!--[if IE ]>
<style type="text/css">
@import "css/globalIE.css";
</style>
<![endif]-->
</head>

basicamente primeiro importas o ficheiro para o Firefox e depois caso o browser seja o IE importa um novo ficheiro que vai sobrepor o anterior.


Porque não crias uma css compatível com os 2 browsers?? ok que perdes mais algum tempo mas da forma que os browsers estão a ser padronizados os sites que tens feitos neste momento poderão vir a ficar um bocado para os distorcidos.... :lol:
 
E se não for nem FF nem IE? é que existem mais browsers com diferentes 'layout engines'

Eu sei que exitem mais browsers e com diferentes formas de render, eu lido com isso todos os santos dias...

Os mais utilizados no mundo são o firefox e em segundo o ie... infelizmente ainda existe quem tenha preguiça de instalar um browser decente...

As css que crio são testada durante o momento de desenvolvimento no ff2, ie6 e ie7... Crio 1 ficheiro sem hacks compativel com os 3... cada vez mais os motores de render funcionam da mesma forma como podemos ver com o que aconteceu do ie6 para o ie7 e estar a estragar o código com css hacks... não me agrada... Claro que essa é a solução mais prática e poucas algum tempo.. e sem dúvida é melhor solução do que criar vários ficheiros...

Cumprimentos,
Py_
 
Faz só um CSS. Aplica uns Hacks para o iE 6 se for preciso. Não faças várias templates, eu não faria...

Olhe que não, olhe que não :002:

O problema dos "hacks" é que, quando sai uma nova versão do IE, por exemplo, os hacks deixam de funcionar... e "puff", lá se vai tudo...
a minha sugestão é:

1 - tentar fazer 1 CSS que dê em todos... pode dar mais trabalho, mas é possível.
2 - Se 1 não for viável, fazer uma css para outros browsers e depois usar os "conditional comments" descritos acima, acrescentando uma css para o que é preciso alterar no IE.

(falo por experiência própria, tive de andar a mudar sites quando saiu o IE 7)
 
Back
Topo