Zum Inhalt springen

unterschiedliche CSS-Sets für versch. Browser

Erstellt am 2. November 2008 · 5 Antworten · letzte Antwort am 3. November 2008

Tags: HTML & CSS, Frage

MB76 ·

ich möchte mit unterschiedlichen stylesheets für verschiedene browser arbeiten.
2 für den IE
2 für alle anderen

Leider funktioniert meine Lösung nicht. wenn file3 und file4 ebenfalls in file1 und file2 benannt werden, werden nur die unteren im ie geladen.

Was mache ich falsch?

[browser = msie]
includeCSS {
  file1 = fileadmin/version3/main_ie.css
  file2 = fileadmin/version3/menu_ie.css
 }   
[else]
includeCSS {
  file3 = fileadmin/version3/main.css
  file4 = fileadmin/version3/menu.css
  }   
[end]
Unbekannter Benutzer ·

Hö?

Wenn du das ersetzt haben willst, dann musst du die Files auch überschreiben. also:

[browser = msie]
includeCSS {
  file1 = fileadmin/version3/main_ie.css
  file2 = fileadmin/version3/menu_ie.css
 }   
[else]
includeCSS {
  file1 = fileadmin/version3/main.css
  file2 = fileadmin/version3/menu.css
  }   
[end]

Aber das würd ich gar nicht so kompliziert machen... Es reicht doch das hier:

page {
        includeCSS {
                file1 = fileadmin/version3/main.css
                file2 = fileadmin/version3/menu.css
        }
...
}  
[browser = msie]
page {
        includeCSS {
                file1 = fileadmin/version3/main_ie.css
                file2 = fileadmin/version3/menu_ie.css
        }
}
[global]

Das heißt alle Browser bekommen main und menu, außer wenns der IE ist, dann werden menu und main überschrieben mit menu_ie und main_ie

MB76 ·

Leider funktionieren alle Vorschläge nicht. entweder wird das Layout.html nicht mitgeladen oder die beiden letztgenannte css-Dateien überschreiben die vorgenannten unnabhängig vom browser.
muss ich evtl ne extension laden???

seite = PAGE
seite {
typeNum = 0   
includeCSS {
                file1 = fileadmin/version3/test_main.css
                file2 = fileadmin/version3/test_menu.css
        }
[browser = msie]
        includeCSS {
                file1 = fileadmin/version3/test_main_ie.css
                file2 = fileadmin/version3/test_menu_ie.css
        }
[global] 
 10 = TEMPLATE
 10.template = FILE
 10.template.file = fileadmin/version3/layout.htm
 10.workOnSubpart = DOKUMENT
 10.marks {
      
#### Start - linkes Menü #########################################
Menu_Links = HMENU
   Menu_Links.wrap = <div>|<div>
   Menu_Links.special = directory
   Menu_Links.special.value = 908
   Menu_Links {
     1 = TMENU
     1 {
       noBlur = 0
       expAll = 0
       wrap = <div>|<div>
       NO {
         allWrap = <div class="mainnav1_no"><div class="mainnav1_font"> |</div></div>
         stdWrap.case = 
         }
       ACT < .NO
       ACT = 1
       ACT {
         allWrap = <div class="mainnav1_act"><div class="mainnav1_font"> |</div></div>
        }
       }
     }
#### Ende - linkes Menü ##########################################
   
#### Start - Content in der Mitte ################################
   Content = CONTENT
   Content < styles.content.get
##### Ende - Content in der Mitte (colpos 0) ######################
 }
}
Unbekannter Benutzer ·

Ich werd nich mehr... Wie oft muss man denn noch schreiben, dass Conditions nicht in geschweiften Klammern stehen dürfen? ;-)

Deine Condition steht innerhalb deines Page-Objects...

Setz die mal ganz ans Ende UND NICHT INNERHALB VON GESCHWEIFTEN KLAMMERN.

btw. Der Sinn dabei ist, dass das original CSS-File komplett überschrieben wird, wenn es der MSIE ist. Wenn du nur Teile austauschen willst, wenns der IE ist, dann musst du mit Conditional Comments arbeiten.