2010-01-12 1 views
5

Mi chiedo se c'è qualcosa che funziona come ad esempio commenti condizionali per webkit.Esiste un commento condizionale IE per chrome e safari?

Voglio cambiare larghezza.

Ad esempio,

<!--[if IE]> 
<link href="css/ie.css" rel="stylesheet" type="text/css" /> 
<![endif]--> 

Grazie in anticipo.

+2

I commenti condizionali di IE sono commenti HTML e non commenti CSS. – Gumbo

+0

Hai perfettamente ragione. Aggiornato. – shin

risposta

8

No, non ce ne sono.

Puoi hackerarlo eseguendo il rilevamento del browser in JS e allegando script/stili dinamicamente.

Oppure, se si è interessati solo ad avere css diversi per browser diversi, è possibile utilizzare css hack. Probabilmente ci sono hack css che funzionano con i browser che ti servono.

Oppure, se l'unica cosa che devi cambiare è (di una definizione css?) Probabilmente si può farlo in jQuery o JavaScript

rilevamento 'width' del browser jQuery. vedi: http://docs.jquery.com/Utilities/jQuery.browser

+0

È possibile che jquery rilevi i browser? – shin

+1

sì. prova $ .browser.msie == true. $ .browser.mozilla == true ecc. ispeziona l'oggetto $ .brower o leggi i documenti – mkoryak

+0

Dopo aver letto la tua risposta, ho trovato questo e funziona bene. Grazie. http://www.tvidesign.co.uk/blog/CSS-Browser-detection-using-jQuery-instead-of-hacks.aspx – shin

2

Io uso questo su ogni progetto: http://rafael.adm.br/css_browser_selector/

Anche se, se si trovano a dover fare un sacco di targeting in Firefox o Webkit - si potrebbe voler riconsiderare come si sta scrivendo il codice HTML/CSS.

+0

Anche questo sta funzionando bene – evanmcd

1
<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="UTF-8"> 
<title>Browsser Detection</title> 

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

<?php 

$msie  = strpos($_SERVER["HTTP_USER_AGENT"], 'MSIE') ? true : false; 
$firefox = strpos($_SERVER["HTTP_USER_AGENT"], 'Firefox') ? true : false; 
$safari  = strpos($_SERVER["HTTP_USER_AGENT"], 'Safari') ? true : false; 
$chrome  = strpos($_SERVER["HTTP_USER_AGENT"], 'Chrome') ? true : false; 

if ($msie) { 
echo ' 
<!--[if IE 7]> 
<link rel="stylesheet" href="ie7.css" type="text/css"> 
<![endif]--> 
<!--[if IE 8]> 
<link rel="stylesheet" href="ie8.css" type="text/css"> 
<![endif]--> 
'; 
} 
if ($safari) { 
echo '<link rel="stylesheet" href="safari.css" type="text/css">'; 
} 

?> 

</head> 
<body> 

    <br> 
    <?php 
    if ($firefox) { //Firefox? 
    echo 'you are using Firefox!'; 
    } 

    if ($safari || $chrome) { // Safari? 
    echo 'you are using a webkit powered browser'; 
    } 

    if (!$msie) { // Not IE? 
    echo '<br>you are not using Internet Explorer<br>'; 
    } 
    if ($msie) { // IE? 
    echo '<br>you are using Internet Explorer<br>'; 
    } 
    ?> 

    <br> 

</body> 
</html> 

Da Chrome conditional comments

0

Una soluzione basata CSS fu la risposta here. E il suo supporto sui browser Webkit è piuttosto ampio.