Css if statements για τον safari?

Ας μάθουμε πως να κάνουμε τις σελίδες μας με στιλ. Τα Cascading Style Sheets είναι ο τρόπος για να το επιτύχουμε.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1952
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Css if statements για τον safari?

Δημοσίευση από vassilism » 18 Μάιος 2011 03:04

Καλησπέρα σας.
Προσπαθώ εδώ και κάμποσες ώρες να δώσω ένα άλλο αρχείο css στον safari 5.0.5.

Για παράδειγμα το παρακάτω δουλεύει στον ΙΕ7 και του δίνει το αρχείο ie7.css.

Κώδικας: Επιλογή όλων

<!--&#91;if IE 7&#93;>
    <link href="css/ie7.css" rel="stylesheet" type="text/css" />
<!&#91;endif&#93;-->
Ενώ με το παρακάτω που δοκιμάζω για τον safari δεν δουλεύει.

Κώδικας: Επιλογή όλων

<!--&#91;if safari&#93;>
    <link href="css/safari.css" rel="stylesheet" type="text/css" />
<!&#91;endif&#93;-->
Από όσο έψαξα δεν βρήκα πουθενά να δίνουν if statements για τον safari.
Το μόνο που βρήκα είναι το conditional-css το οποίο συνδυάζεται με php αλλά και πάλι δεν μου δούλεψε.

Τι μπορεί να φταίει?
1. Να μην μπορεί να αναγνωρίζει τον συγκεκριμένο browser?
2. Να μην μπορεί να αναγνωρίζει την συγκεκριμένη έκδοση του browser?
3. Όλα τα παραπάνω?

Έχετέ βρει κάποια λύση για αλλάζετε τα .css για τον συγκεκριμένο browser και αν ναι πως?

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6235
Εγγραφή: 30 Νοέμ 2004 03:09

Css if statements για τον safari?

Δημοσίευση από fafos » 18 Μάιος 2011 03:36

yparxei ena thema metaxy chrome kai safari afou vasika dinoun ta idia stoixeia.. eixa vrei palia mia periplokh lysh me php:

Κώδικας: Επιλογή όλων

<?php
function getBrowser&#40;&#41;
&#123;
    $u_agent = $_SERVER&#91;'HTTP_USER_AGENT'&#93;;
    $bname = 'Unknown';
    $platform = 'Unknown';
    $version= "";


    if &#40;preg_match&#40;'/linux/i', $u_agent&#41;&#41; &#123;
        $platform = 'linux';
    &#125;
    elseif &#40;preg_match&#40;'/macintosh|mac os x/i', $u_agent&#41;&#41; &#123;
        $platform = 'mac';
    &#125;
    elseif &#40;preg_match&#40;'/windows|win32/i', $u_agent&#41;&#41; &#123;
        $platform = 'windows';
    &#125;
   

    if&#40;preg_match&#40;'/MSIE/i',$u_agent&#41; && !preg_match&#40;'/Opera/i',$u_agent&#41;&#41;
    &#123;
        $bname = 'Internet Explorer';
        $ub = "MSIE";
    &#125;
    elseif&#40;preg_match&#40;'/Firefox/i',$u_agent&#41;&#41;
    &#123;
        $bname = 'Mozilla Firefox';
        $ub = "Firefox";
    &#125;
    elseif&#40;preg_match&#40;'/Chrome/i',$u_agent&#41;&#41;
    &#123;
        $bname = 'Google Chrome';
        $ub = "Chrome";
    &#125;
    elseif&#40;preg_match&#40;'/Safari/i',$u_agent&#41;&#41;
    &#123;
        $bname = 'Apple Safari';
        $ub = "Safari";
    &#125;
    elseif&#40;preg_match&#40;'/Opera/i',$u_agent&#41;&#41;
    &#123;
        $bname = 'Opera';
        $ub = "Opera";
    &#125;
    elseif&#40;preg_match&#40;'/Netscape/i',$u_agent&#41;&#41;
    &#123;
        $bname = 'Netscape';
        $ub = "Netscape";
    &#125;
   

    $known = array&#40;'Version', $ub, 'other'&#41;;
    $pattern = '#&#40;?<browser>' . join&#40;'|', $known&#41; .
    '&#41;&#91;/ &#93;+&#40;?<version>&#91;0-9.|a-zA-Z.&#93;*&#41;#';
    if &#40;!preg_match_all&#40;$pattern, $u_agent, $matches&#41;&#41; &#123;

    &#125;
   

    $i = count&#40;$matches&#91;'browser'&#93;&#41;;
    if &#40;$i != 1&#41; &#123;

        if &#40;strripos&#40;$u_agent,"Version"&#41; < strripos&#40;$u_agent,$ub&#41;&#41;&#123;
            $version= $matches&#91;'version'&#93;&#91;0&#93;;
        &#125;
        else &#123;
            $version= $matches&#91;'version'&#93;&#91;1&#93;;
        &#125;
    &#125;
    else &#123;
        $version= $matches&#91;'version'&#93;&#91;0&#93;;
    &#125;
   

    if &#40;$version==null || $version==""&#41; &#123;$version="?";&#125;
   
    return array&#40;
        'userAgent' => $u_agent,
        'name'      => $bname,
        'version'   => $version,
        'platform'  => $platform,
        'pattern'    => $pattern
    &#41;;
&#125;

// ektypose to apotelesma
$ua=getBrowser&#40;&#41;;

if&#40;$ua&#91;'name'&#93; == 'Apple Safari'&#41; &#123; echo 'this browser is safari';&#125; else &#123; echo 'no safari';&#125;
?>
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1952
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Css if statements για τον safari?

Δημοσίευση από vassilism » 18 Μάιος 2011 04:52

Είσαι πολύ μάγκας ρε πατρίδα! :clap:
Πολύ καλό!
Γιατί λες πως αυτή είναι περίπλοκη λύση?

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6235
Εγγραφή: 30 Νοέμ 2004 03:09

Css if statements για τον safari?

Δημοσίευση από fafos » 18 Μάιος 2011 13:27

vassilism έγραψε:Είσαι πολύ μάγκας ρε πατρίδα! :clap:
Πολύ καλό!
Γιατί λες πως αυτή είναι περίπλοκη λύση?
giati kanonika me ena preg_match tha hsoun etoimos... o chrome kai o safari omos dinoun sxedon idia stoixeia kai den tha tous ksexorize pote..
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1952
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Css if statements για τον safari?

Δημοσίευση από vassilism » 18 Μάιος 2011 16:36

Επομένως στην ουσία μιλάμε για λίγες γραμμές παραπάνω σε php κώδικα που στην ουσία δεν επηρεάζεται καθόλου η ταχύτητα που παίρνεις το αποτέλεσμα.
Απλά γίνετε λίγο ποίο περίπλοκος ο php κώδικας για να πάρεις το αποτέλεσμα, σωστά?

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6235
Εγγραφή: 30 Νοέμ 2004 03:09

Css if statements για τον safari?

Δημοσίευση από fafos » 18 Μάιος 2011 16:44

vassilism έγραψε:Επομένως στην ουσία μιλάμε για λίγες γραμμές παραπάνω σε php κώδικα που στην ουσία δεν επηρεάζεται καθόλου η ταχύτητα που παίρνεις το αποτέλεσμα.
Απλά γίνετε λίγο ποίο περίπλοκος ο php κώδικας για να πάρεις το αποτέλεσμα, σωστά?
einai megalh h diafora patrida.. o aplos tropos einai mish grammh kai auto pou dino to miso manual ths php :lol:

an thes na vreis firefox, ie klp xrhsimopoieis thn preg_match kai teleioses.. an psaxneis gia chrome h safari (nomizo kai opera) thes ton periploko way...
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1952
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Css if statements για τον safari?

Δημοσίευση από vassilism » 18 Μάιος 2011 17:01

Από τη στιγμή που θες να βρεις τον συγκεκριμένο browser, τουλάχιστον σε σχέση με το Conditional-CSS δεν μπορείς να το πεις περίπλοκο :lol:

Απάντηση

Επιστροφή στο “CSS - Cascading Style Sheets”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες