kostenloser Webspace werbefrei: lima-city


CSS Browserweiche innerhalb .css Datei möglich?

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    bzplan

    bzplan hat kostenlosen Webspace.

    Hallo

    ich kenne Browserweichen in HTML (head-Bereich)

    <link rel="stylesheet" href="style1.css" type="text/css" />

    <!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" lang="de">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <title>Homepage-Name</title>
    <meta http-equiv="content-style-type" content="text/css" />
    <link rel="stylesheet" href="mystyle.css" type="text/css" />
    
    <!--[if lt IE 7]>
    <style type="text/css">
    body{behavior:url(csshover3-source.htc); font-size:100%;}
    </style>
    <![endif]-->
    
    </head>


    kann ich solche Browser-Weichen auch direkt in die mystyle.css Datei schreiben ?
    wenn ja, wie ... genauso? ... oder muss die (IF Bedingung) m HTML stehen ???

    PS: für funktionieren der CSS3 hover Klassen ... ist Bedingung: kleiner als IE 7 genug,
    also kann der IE 8 das mit li:hover schon ?

    Oder: .... die csshover3-source.htc ist ja JavaScript
    kann ich die einfach immer 'laden' und dann darin erst die Browser-Weiche machen,
    also aussenrum um den ganzen JS-Code noch eine Bedingung,
    für welche Browser das JS ausfegührt werden soll ???
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Nein, conditional comments (also IF...) gibts nur im HTML. Du könntest CSS Hacks einsetzen, das macht man aber kaum noch.

    "Industrie-Standard" sind mittlerweile aber CC die einen passenden html tag schrieben, so wie das zB HTML5Boileerplate nutzt:

    <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
    <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
    <!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
    <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->


    Dann kannst du CSS Klassen als "Weiche" einsetzten.
  4. Autor dieses Themas

    bzplan

    bzplan hat kostenlosen Webspace.

    ja das ist schon interessant,

    aber mir geht es hauptsächlich darum, dass
    li:hover
    in allen Browsern funktioniert
    für Drop-Down-Menü mit CSS

    und dieses
    li:hover
    funktioniert ja in mehreren (alten) Browsern nicht, daher will ich die
    csshover3-source.htc jeweils dann "laden", wenn es sich um so einen (alten) Browser handelt
    es ist ja nicht nur IE < 8 ... sondern bestimmt auch andere (alte FF, etc)

    daher die Idee, es direkt in der csshover3-source.htc zu machen
    also mit JS prüfen, ob der Browser die .htc "braucht" oder nicht

    aber woher bekomme ich eine "Liste" für Browser, die
    li:hover
    nicht können,
    um dann dafür die Funktion in der .htc auzurufen (oder eben nicht)
    ... also die Browserweiche mit JS machen

    OK, Problem könnten dann noch Browser sein, die es nicht können und JS deaktiviert haben
    aber dafür bräuchte ich dann eben eine ganz andere Version für mein Drop-Down-Menü
    ... habe mal was mit Tabellen-Kontruktionen gesehen, die angeblich immer funktionieren
    aber das finde ich nicht mehr, bzw. weiss ich nicht ob das "gut" ist, mein HTML sollte auch Valide bleiben

  5. Keine Ahnung was csshover3-source.htc sein soll. ME kannst du dann auch gleich per JS hingehen und auf die normalen li:hover ganz verzichten. Non JS muss man dann natürlich konzenptionell abfangen, ergo Unterseiten anlegen.

    Unterstützung kannst du evtl. hier überprüfen: http://caniuse.com

    Ja, es gibt Flyout Menus die mithilfe von CC dem IE beibringen das hover zu verstehen. Das bleibt auch valide.
  6. h******g

    Wieso nicht einfach eine Zeile php-Code?
    Also mit $_SERVER['HTTP_USER_AGENT'] die Browserversion bestimmen und dann den entsprechenden HTML-Code ausgeben.
  7. Man könnte die wie mein Vorredner schon sagte, das ganze mit einer PHP-Browser Weiche lösen. Und sogar die komplette CSS Datei als PHP datei erstellen und mittels der header Anweisung als CSS ausgeben lassen.

    Ich habe so etwas bereits schon mal realisiert, zwar nicht mit Browserweiche, sondern für individuelle Benutzermenüs.

  8. In diesem Fall bietet sich die "@import"-Regel von CSS an. Damit bindet man in CSS ein weiteres CSS-Dokument ein. Der Trick der Sache besteht darin, dass ältere Browser diese Regel nicht verstehen und schlichtweg ignorieren. In dem ersten CSS-Dokument schreibst du die Regeln für die älteren Browser. Am ende dieses CSS-Dokuments bindest du dann via @import das zweite CSS-Dokument ein, in dem die Regeln für die neueren Browser drinstehen. Da diese Regeln nach den Regeln für die alten Browsern geladen werden überschreiben sie diese (nur für Browser die etwas mit der @import-Regel anzufangen wissen, versteht sich). Der Vorteil ist, dass man mit dieser Version anders als mit CC oder PHP-CSS-Seiten 100% Valide bleibt.
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!