Gå til innhold

IE-hacken funker ikke


Anbefalte innlegg

Skrevet

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. :)

Videoannonse
Annonse
Skrevet

<?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:

Skrevet
<?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?

Skrevet

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

Skrevet

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

Skrevet

så du mener jeg ikke har rett til å utvikle meg jeg har kodet i xhtml en stund men aldri sett den som kom før doctypen. og tenkte jeg skulle prøve.

 

men greit å vite din mening til hva jeg burde gjøre.

 

adios.

Skrevet

Det er en fordel å utelate <?xml version="1.0" encoding="utf-8" ?> fra kildekoden. Om doctype-deklarasjonen ikke kommer helt først i dokumentet, går IE i quirk-modus og feiltolker siden.

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

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

Skrevet (endret)
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

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