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

Nuno

Instruçao confusa

7 mensagens neste tópico

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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 <!-- ... -->

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora