Gå til innhold

IE-hacken funker ikke


Anbefalte innlegg

Hei.

 

Jeg søkte litt her på forumet, og fant en IE-hack til CSS som så slik ut:

 

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

Selv stusset jeg over stykket kode, men nå har jeg ikke så god peiling på hacks, så jeg prøvde. Det funket allikevel ikke, og IE bruker originalfila, og ikke den jeg ba den om å referere til.

 

Litt mer kode:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Art of E</title>
<link rel="stylesheet" href="styles.css" type="text/css" />
<!--[if IE]>
<link rel="stylesheet" href="styles-ie.css" type="text/css" />
<![endif]-->
<script type="text/javascript" src="js.js"></script>
</head>
<body>
<div id="topp">
<ul id="meny">
	<li id="meny1"><a href="index.php"></a></li>
	<li id="meny2"><a href="index.php?page=galleri"></a></li>
	<li id="meny3"><a href="index.php?page=blogg"></a></li>
	<li id="meny4"><a href="index.php?page=linker"></a></li>
	<li id="meny5"><a href="index.php?page=meg"></a></li>
</ul>
</div>
<div id="innhold">
<div id="tekst">
	<?php
				$side = $_GET['page'];
				if (isset($_GET['page'])):
				switch($_GET['page']){

  					case 'galleri':
  					include 'galleri.php';
  					break;

				case 'blogg':
				include 'blogg.php';
				break;

				case 'linker':
				include 'linker.php';
				break;

				case 'meg':
				include 'meg.php';
				break;

				}

				endif;
				if (!isset($_GET['page'])):
				include 'main.php';
				endif;
				?>
</div>
</div>
<div id="bunn">
</div>
</body>
</html>

 

CSSen ser jeg på som unødvendig å legge med her.

 

 

Jeg setter pris på all hjelp. :)

Lenke til kommentar
Videoannonse
Annonse

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang="en">

Slik ser en perfekt øvre del av et XHTML-dokument ut.

 

Det du har fått hendene dine i, er ikke en hack til IE, men conditional comments, som gjør det mulig å sende ting til IE uten at det påvirker andre nettlesere. Denne metoden er laget av MS, og er ingen hack.

 

Når det gjelder charset'et ditt, så må du bytte til UTF-8. På dine listeelementer så har du angitt en ID til hvert eneste listeelement. Skal hver LI være helt forskjellige? Dette blir isåfall en uoversiktlig meny, og jeg anbefaler deg å bruke klasser istedet, da listeelement pleier i hvert fall å ha en ting til felles.

 

Hvorfor har du to divisjoner til innholdet? Til å stilisere teksten kan du putte attributter rett på p-elementet. Du mangler også en H1, som beskriver siden. Dette burde du legge til.

 

Mvh. Tor Bollingmo (George Bush) :xmas:

Lenke til kommentar
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang="en">

Slik ser en perfekt øvre del av et XHTML-dokument ut.

 

Det du har fått hendene dine i, er ikke en hack til IE, men conditional comments, som gjør det mulig å sende ting til IE uten at det påvirker andre nettlesere. Denne metoden er laget av MS, og er ingen hack.

 

Når det gjelder charset'et ditt, så må du bytte til UTF-8. På dine listeelementer så har du angitt en ID til hvert eneste listeelement. Skal hver LI være helt forskjellige? Dette blir isåfall en uoversiktlig meny, og jeg anbefaler deg å bruke klasser istedet, da listeelement pleier i hvert fall å ha en ting til felles.

 

Hvorfor har du to divisjoner til innholdet? Til å stilisere teksten kan du putte attributter rett på p-elementet. Du mangler også en H1, som beskriver siden. Dette burde du legge til.

7368029[/snapback]

 

Takker for tipsene, de skal tas til rette. :)

 

 

Grunnen til at jeg brukte ID i listeelementene i menyen er fordi jeg fulgte guiden hos A List Apart og har ikke giddet å bytte til klasser. ;)

 

To divisjoner i innholder var vel løsningen på et problem i forhold til at IE langtifra hadde lyst til å la meg ha padding i hovedelementet for å plassere teksten.

 

 

Over til det faktiske spørsmålet, hvordan får jeg conditional commenten til å funke?

Lenke til kommentar

har slitt med [if ie]-greiene sjøl, endte med at jeg brukte "!important" i css istedet. Nuja, for en stund siden leste jeg en plass at conditional comments skulle plasseres før <head>-delen i koden.

 

Eller var det etter </head> men før <body>? Hmm.. *tenke*

...husker ikke helt, du får prøve deg frem

Lenke til kommentar

MR. Berg: prøvde det du sa sånn skal en skikkelig xhtml dokument se ut

 

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang="en">

 

Jeg fikk Error:

Parse error: parse error, unexpected T_STRING in d:\free1\killyou\nautica.php on line 1

Lenke til kommentar
MR. Berg: prøvde det du sa sånn skal en skikkelig xhtml dokument se ut

 

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang="en">

 

Jeg fikk Error:

Parse error: parse error, unexpected T_STRING in d:\free1\killyou\nautica.php on line 1

7371201[/snapback]

Slå av short_tags på PHP-serveren din, ellers tolker den <? helt i begynnelsen av dokumentet som en PHP-starttagg.

Lenke til kommentar
har slitt med [if ie]-greiene sjøl, endte med at jeg brukte "!important" i css istedet....

7370318[/snapback]

 

Dette kan man ikke gjøre lenger! IE7 blir stadig mer utbredt, og den har nå støtte for css prioritering (dvs !important). Den har ikke forbedret sin tolkning av CSS (iallefall ikke min), og dermed har jeg måtte flytte alle mine !important inn i et eget stylesheet for IE.

Lenke til kommentar
har slitt med [if ie]-greiene sjøl, endte med at jeg brukte "!important" i css istedet....

7370318[/snapback]

 

Dette kan man ikke gjøre lenger! IE7 blir stadig mer utbredt, og den har nå støtte for css prioritering (dvs !important). Den har ikke forbedret sin tolkning av CSS (iallefall ikke min), og dermed har jeg måtte flytte alle mine !important inn i et eget stylesheet for IE.

7373487[/snapback]

kan ein framleis bruka css2 "triks"?

li.meny { gjør ting feil her }
li[class=meny]{ Gjør det rett her}

(har ikkje testa nokon av sidene mine i ie7)

 

Fungerer dette som ønska i ie7?

a { "standard" }
div#main > a { "spesiell" }

Endret av meron
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...