• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Browserweiche für unterschieliche css files

Status
Für weitere Antworten geschlossen.

P51D

Mitglied
ciao zusammen

nach mehreren Problemen mit dem IE habe ich mich entschlossen verschiedene CSS-Files zu verwenden.

wie kann ich das am einfachsten machen? etwa so?
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
       "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <title>CSS-basiertes Layout</title>
  <link rel="stylesheet" type="text/css" href="basis.css">

  <style type="text/css">[B]
        Die normalen CSS-Files einbinden
[/B]  </style>

  <!--[B][if lt IE 7][/B]>
     <style type="text/css">
        [B]Alle vorhergehenden CSS-Files ungültig; neue für IE[/B] [B]einbinden[/B]
     </style>
  <![endif]-->

</head>
<body>
  <!-- HTML-Quelltext -->
</body>
</html>
Verstehe ich das richtig, dass sobald IE verwendet wird, alle vorhergehenden CSS-Files gelöscht wird, und man alles neu laden muss?
Wenn nein, wie kann ich dies machen?
 
Wo hast du denn konkret Probleme?
Ich glaube nicht, dass zur Lösung eine Browserweiche erforderlich ist.
Vieles (so viel sollte es jedoch nicht sein) lässt sich durch wenige Zusatzangaben in der normalen CSS-Datei regeln.
 
Gelöscht wird gar nichts. Und bereits eingebundene Stylesheets ehalten ihre Gültigkeit. Aber bei mehrfach angegebenen Selektoren werden frühere durch spätere im Code überschrieben.
 
danke für die Antworten.

Mein grösstes Problem ist folgendes(desshalb habe ich mich für eine Weiche entschieden):

Das Hintergrundbild kann man ja bekanntlich nicht skallieren, desshalb habe ich es mit diesem code probiert:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <head>
    <link rel="stylesheet" href="ddlevelsfiles/style.css" type="text/css">
    <link rel="stylesheet" type="text/css" href="ddlevelsfiles/menus.css">
    <script type="text/javascript" src="ddlevelsfiles/ddlevelsmenu.js">
    </script>
    <link rel="stylesheet" href="harmonie/ddlevelsfiles/style.css" type="text/css">
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <style type="text/css">
             /* pushes the page to the full capacity of the viewing area */
             html {height:100%;}
             body {height:100%; margin:0; padding:0;}
             /* prepares the background image to full capacity of the viewing area */
             #bg {position:fixed; top:0; left:0; width:100%; height:100%;} 
             #content {position:relative; z-index:1;}
             /* places the content ontop of the background image */
        </style>
        <!--[if IE 6]>
             <style type="text/css">
                /* some css fixes for IE browsers */
                 html {overflow-y:hidden;}
                 body {overflow-y:auto;}
                 #bg {position:absolute; z-index:-1;}
                 #content {position:static;}
             </style>
        <![endif]-->
    </head>
    <body>
        <div id="bg"><img src="back.jpg" width="100%" height="100%" alt=""></div>
        <div id="content">
            <div style="position: relative; top: 200px"; align="center"; id="front">
                <a href="harmonie/hhome.php">Harmonie</a>
            </div>
            <div style="position: relative; top: 240px"; align="center"; id="front">
                <a href="j_musik/jhome.php">Jugendmusik</a>
            </div>    
        </div>
    </body>
</html>
Dies funktioniert eigentlich auch einwandfrei, bis auf ein problem mit dem IE6:
In einer weiteren Seite, welche ein Textfeld enthält dass immer wieder je nach Link geladen wird, ist aus irgend einem grund im IE6(ev. auch ältere Varianten, konnte dies aber nicht testen) den overflow auf der Y-Achse nicht mehr definiert ist.

Hier noch den CSS-Teil für das Textfeld:
Code:
#inhalt_mitte {           
    height: 615px;      
    width: 990px;          
    padding: 0px 20px 0px 0px;                          
    position: absolute;     
    top:170px;             
    left: 243px;   
    overflow: auto;              
    overflow-x: hidden;                         
}


Was ich noch weiter beobachtet habe, ist dass generell im IE gewisse teile nicht mehr stimmen:
-Ein Logo, welches 20px von Links entfernt sein sollte ist ganz am Rand.
-Das Textfeld ist in der Höhe nicht mehr begrenzt, aber das was überflüssig ist, wird vom Bildschirm abgeschnitten.


Falls jemand von euch eine Idee hat, weshalb das so ist und wie ich dies am einfachsten beheben kann, nur zu. Ich versuche jetzt schon etwa 8 Tage eine Lösung zu finden und bin am Verzweifeln.

Danke nochmals für eure Hilfe
P51D
 
ich habe noch eine frage:
Man kann ja auf den IE abfragen
Code:
<!--[if lt IE 7]>
irgendetwas
<![endif]-->
ist es möglich dies if-abfrage zu invertieren? so dass alle anderen browser die moderner sind als der IE und auch ander als der IE etwas ausführen?

mfg
P51D
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben