Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
Nuno

Instruçao confusa

Recommended Posts

Nuno

Boas people!

bem depois dos problemas de compatibilidade de browsers indicaram-me estas instruçoes para chamar CSS's diferentes dependo do browser ou versao.

<![if IE 7]> <link href="Default.css" rel="stylesheet" type="text/css"> <![endif]>
<![if lt IE 7]> <link href="Defaultie6.css" rel="stylesheet" type="text/css"> <![endif]>
<![if !IE]>  <link href="Defaultf.css" rel="stylesheet" type="text/css"> <![endif]>

Mas este codigo nao funciona la muito bem, na verda e uma confusao que nao consigo perceber. por exemplo:

quando abro o Firefox deveria executar a 3º instruçao (

<![if !IE]>  <link href="Defaultf.css" rel="stylesheet" type="text/css"> <![endif]>

) mas para alem de chamar esta chama a 2º que e po ie_6 e se eu desactivar esta ele chama a 1º. e muito esquesito mas que acontece, acontece pq ja testei N vezes e de N maneiras...

alguem conehce altenarnitas a isto, tipo JavaScript ou entao a correcçao deste?

tnks

Share this post


Link to post
Share on other sites
softklin

Acho que as tuas folhas de estilo para o IE não deviam ser completas (com todas as declarações), mas sim complementares. Assim à vista, terás de colocar nos ficheiros dos IE's apenas as definições que queres alterar, e o ficheiro para os outros browsers, esse sim, com todas as instruções. Ficará algo assim:

<link href="Defaultf.css" rel="stylesheet" type="text/css">
<![if IE 7]> <link href="Default.css" rel="stylesheet" type="text/css"> <![endif]>
<![if lt IE 7]> <link href="Defaultie6.css" rel="stylesheet" type="text/css"> <![endif]>

O ficheiro predefinido para os browser "bem-comportados" é chamado primeiro. Depois, os ficheiros do IE consoante as suas versões, vão alterar as div's já declaradas, entre outras div's que eventualmente tenhas de ter por causa do IE. O firefox não reconhece as expressões condicionais, acho eu.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
fnds

No teu caso o que eu fazia era colocar um css em modo "normal" a funcionar bem nos browsers normais (ff, safari, opera...) e depois um css com as correções para o ie6/7

<link href="default.css" rel="stylesheet" type="text/css">
<![if IE 6]><link href="ie6_hacks.css" rel="stylesheet" type="text/css"><![endif]>
<![if IE 7]><link href="ie7_hacks.css" rel="stylesheet" type="text/css"><![endif]>

como estes ficheiros vêm depois, as suas configurações vão ser subrepostas ás do "default.css".

EDIT:

softclean antecipou-se :P

Vê este link http://www.maujor.com/tutorial/ie7-hack.php.

Share this post


Link to post
Share on other sites
Nuno

Acho que as tuas folhas de estilo para o IE não deviam ser completas (com todas as declarações), mas sim complementares. Assim à vista, terás de colocar nos ficheiros dos IE's apenas as definições que queres alterar, e o ficheiro para os outros browsers, esse sim, com todas as instruções. Ficará algo assim:

<link href="Defaultf.css" rel="stylesheet" type="text/css">
<![if IE 7]> <link href="Default.css" rel="stylesheet" type="text/css"> <![endif]>
<![if lt IE 7]> <link href="Defaultie6.css" rel="stylesheet" type="text/css"> <![endif]>

O ficheiro predefinido para os browser "bem-comportados" é chamado primeiro. Depois, os ficheiros do IE consoante as suas versões, vão alterar as div's já declaradas, entre outras div's que eventualmente tenhas de ter por causa do IE. O firefox não reconhece as expressões condicionais, acho eu.

No teu caso o que eu fazia era colocar um css em modo "normal" a funcionar bem nos browsers normais (ff, safari, opera...) e depois um css com as correções para o ie6/7

<link href="default.css" rel="stylesheet" type="text/css">
<![if IE 6]><link href="ie6_hacks.css" rel="stylesheet" type="text/css"><![endif]>
<![if IE 7]><link href="ie7_hacks.css" rel="stylesheet" type="text/css"><![endif]>

como estes ficheiros vêm depois, as suas configurações vão ser subrepostas ás do "default.css".

EDIT:

softclean antecipou-se :)

Vê este link http://www.maujor.com/tutorial/ie7-hack.php.

Continuo a ter problemas

tipo faço como disseram ou seja, meto a primeira CSS para o Firefox mas depois kando faço as alteraçoes necessarias para o i6 no respectivo CSS ele tb altera no firefox. :P

Share this post


Link to post
Share on other sites
softklin

Se reparares no endereço que o fnds te passou, lá diz que as instruções condicionais são assim:

<!--[if IE]>
  link rel="stylesheet" type="text/css" href="iehacks.css" />
  <![endif]-->

ou seja, da forma <!-- [if ...]> folha de estilos <![endif]-->

Para o IE, é uma expressão condicional. Para outros browsers, trata-se apenas de um comentário <!-- ... -->


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
Nuno

Se reparares no endereço que o fnds te passou, lá diz que as instruções condicionais são assim:

<!--[if IE]>
  link rel="stylesheet" type="text/css" href="iehacks.css" />
  <![endif]-->

ou seja, da forma <!-- [if ...]> folha de estilos <![endif]-->

Para o IE, é uma expressão condicional. Para outros browsers, trata-se apenas de um comentário <!-- ... -->

era memu isso.. :P

thanks aos 2

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.