"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

CSS Browserweichen

dio 27.02.2007 - 18:43 955 14
Posts

dio

Here to stay
Registered: Nov 2002
Location: Graz
Posts: 4788
Ich hab leider das Problem, dass IE in Version <=6 meine Seite falsch interpretiert (Pixelbreite ändert sich) -> ich muss für die alten IE Versionen +2 Pixel verwenden, damit es optisch das gleiche Ergebnis ist. Wenn ich aber die Breite erhöhe, verändert sich das Design in IE 7 und FF/Gecko ins Negative. Jetzt hab ich folgendes gefunden:
http://de.selfhtml.org/css/layouts/browserweichen.htm
Entweder ich interpretiere es falsch, oder bring es nicht zusammen.

Ich binde normal über
Code: PHP
<link rel="stylesheet" type="text/css" href="/styles.css" />
das Stylesheet mit den richtigen Pixelangaben ein, und versuche auf IE Versionen <=6 so zu reagieren:
Code: PHP
<!--[if IE 6]>
    <style type="text/css">@import url(styles_ie.css);</style>
  <![endif]-->

Mach ich es falsch oder interpretiere ich die Funktion davon nicht richtig?
Bearbeitet von dio am 02.03.2007, 07:39

hynk

Super Moderator
like totally ambivalent
Avatar
Registered: Apr 2003
Location: Linz
Posts: 10906
ähm wird das ganze durch <!-- --> nicht zum comment und wird dadurch nicht ausgelesen?
oder steh i grad auf der leitung?

fatmike182

Agnotologe
Registered: Oct 2005
Location: VIE
Posts: 4223
eben um das gehts ja, der IE is so dumm & überreißt das Kommentar nicht, dass es ein Kommentar ist.
So funktioniert die Browserweiche für IEs.

versuchs mal mit <= IE 6... also if lte IE 6, bzw lte IE 7

hth

hynk

Super Moderator
like totally ambivalent
Avatar
Registered: Apr 2003
Location: Linz
Posts: 10906
ah ... das ist ja gefinkelt.
gut zu wissen :D

dio

Here to stay
Registered: Nov 2002
Location: Graz
Posts: 4788
funktioniert leider nicht

userohnenamen

leider kein name
Avatar
Registered: Feb 2004
Location: -
Posts: 15844
afair sollte dies nur direkt im css file funktionieren

und frag doch einfach per javascript ab
if(IEversion < 6) {
styles_ie.css
} else {
styles.css
}

dio

Here to stay
Registered: Nov 2002
Location: Graz
Posts: 4788
Javascript möchte ich nicht verwenden, die gesamte Seite ist JS frei. Ich kanns zwar über PHP lösen, da ich aber eine Template Engine verwende wär das jetzt blöd umzuändern. Muss doch so auch funktionieren :(

fatmike182

Agnotologe
Registered: Oct 2005
Location: VIE
Posts: 4223
<link ... normales css />
Code: PHP
<!--[if gte IE 5]>
<link href="hf_IEstyle.inc.css" rel="stylesheet" type="text/css" />
<![endif]--> 
</head>

funktioniert bei mir - hab aber leider keie verschiedenen IE Versionen zum Probieren.

btw. warum das eine mit import & das andere mit link?

dio

Here to stay
Registered: Nov 2002
Location: Graz
Posts: 4788
Zitat von fatmike182
<link ... normales css />
Code: PHP
<!--[if gte IE 5]>
<link href="hf_IEstyle.inc.css" rel="stylesheet" type="text/css" />
<![endif]--> 
</head>

funktioniert bei mir - hab aber leider keie verschiedenen IE Versionen zum Probieren.

btw. warum das eine mit import & das andere mit link?
hat keinen besonderen Grund, ich hab's nur von SelfHTML übernommen. Funktioniert leider trotzdem nicht.

fatmike182

Agnotologe
Registered: Oct 2005
Location: VIE
Posts: 4223
versuchs mal mit was anderem k.A. background-color oder so.
Nachdem das Skript bei mir funktioniert könnte ich mir vorstellen, dass der IE mit deinem css nicht ganz zurecht kommt

Code: PHP
 
<style ...>
background-color: #ffffff;
<!--[if lte IE 6]> 
background-color: #665577;
<![endif]-->
</style>

so mein ich

dio

Here to stay
Registered: Nov 2002
Location: Graz
Posts: 4788
Ich glaub da hat's was mit Smarty, ich hab's grad mit einer normalen HTML Datei und 2 Stylsheets probiert, da hat's funktioniert. :confused:
Weiß wer Rat?

dio

Here to stay
Registered: Nov 2002
Location: Graz
Posts: 4788
Problem gelöst, hab am Testrechner kein mod_rewrite verwendet, am Server läuft mod_rewrite aber bereits. Pfadangabe war nicht richtig :bash:
Danke an alle.

fatmike182

Agnotologe
Registered: Oct 2005
Location: VIE
Posts: 4223
guat!
aber if IE 6 würde ich trotzdem evtl durch if lte IE 6 ersetzen, wenn du weißt, dass es die darunter auch nicht können!

dio

Here to stay
Registered: Nov 2002
Location: Graz
Posts: 4788
Muss das Topic leider noch einmal ausgraben ;). Funktioniert nun irgendwie doch nicht, vielleicht kann mir wer zur Hand gehen.

http://wrc.kliv.net
eingebunden ist es hoffentlich richtig, Pfadangabe stimmt.

tia

KiTo

Little Overclocker
Avatar
Registered: Sep 2005
Location: boogyland
Posts: 62
versuchs mal mit dem css-hack

Zitat
Der Stern-HTML-Hack




Der Stern-HTML-Hack besteht aus einem Universalselektor (*) gefolgt von einem html-Selektor. Die Kombination dieser beiden Selektoren ist zwar unsinnig, da das HTML-Element kein Mutterelement besitzen kann, aber valide. Das besondere daran ist, dass es vom IE interpretiert wird und von allen andern Browsern nicht.




So sieht es aus:
Code: PHP
p.note
{
font-style:normal;
}
* html p.note
{
font-style:italic;
}
				

User des IE bekommen alle Absätze der Klasse "note" kursiv dargestellt und alle andere sehen den Text normal.
[/PHP]
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz