Domanda

Mi chiedo se esiste un modo per scrivere CSS appositamente per Safari utilizzando solo CSS.So che ci deve essere qualcosa là fuori, ma non l'ho ancora trovato.

È stato utile?

Soluzione

Penso che la domanda sia valida.Sono d'accordo con le altre risposte, ma ciò non significa che sia una domanda terribile.Ho dovuto utilizzare un hack CSS di Safari solo una volta come soluzione temporanea e in seguito me ne sono sbarazzato.Sono d'accordo sul fatto che non dovresti prendere di mira solo Safari, ma non c'è nulla di male nel sapere come farlo.

Per tua informazione, questo hack prende di mira solo Safari 3 e anche Opera 9.

@media screen and (-webkit-min-device-pixel-ratio:0) {
   /* Safari 3.0 and Opera 9 rules here */
}

Altri suggerimenti

Esistono alcuni hack che puoi utilizzare nel CSS per indirizzare solo Safari, come inserire un cancelletto (#) dopo il punto e virgola, in modo che Safari lo ignori.Per esempio

.blah { color: #fff; }
.blah { color: #000;# }

In Safari il colore sarà bianco, in tutto il resto sarà nero.

Tuttavia, non dovresti utilizzare hack, poiché potrebbero causare problemi con i browser in futuro e potrebbero avere effetti indesiderati nei browser più vecchi.Il modo più sicuro è utilizzare un linguaggio lato server (come PHP) che rileva il browser e quindi fornisce un file CSS diverso a seconda del browser utilizzato dall'utente, oppure è possibile utilizzare JavaScript per fare lo stesso e passare a un file CSS diverso.

Il linguaggio lato server è l'opzione migliore in questo caso, poiché non tutti hanno JavaScript abilitato nel proprio browser, il che significa che non vedrebbero lo stile corretto.Inoltre JavaScript aggiunge un sovraccarico alla quantità di informazioni che devono essere caricate prima che la pagina venga visualizzata correttamente.

Safari utilizza WebKit, che è molto efficace con il rendering dei CSS.Non mi sono mai imbattuto in nulla che non funzioni in Safari, ma funzioni in altri browser moderni (senza contare IE, che ha tutti i suoi problemi insieme).Suggerirei di assicurarti che il tuo CSS lo sia conformi agli standard, poiché il problema potrebbe risiedere nel CSS e non in Safari.

Quindi aspetta, vuoi scrivere CSS per Safari usando solo CSS?Penso che tu ti sia risposto da solo.Webkit ha un ottimo supporto CSS.Se stai cercando stili solo webkit, prova Qui.

Dovresti utilizzare JavaScript o il tuo server per eseguire lo sniffing dello user-agent per inviare CSS specificamente a Safari/WebKit.

@schermo multimediale e (-webkit-min-device-pixel-ratio:0) {}

Sembra che questo abbia come target il webkit (incluso Chrome)...o è veramente solo per Safari?

Questo dipende davvero da cosa stai cercando di fare.Stai cercando di fare qualcosa di speciale solo in Safari utilizzando alcune delle funzionalità CSS3 incluse o stai cercando di rendere un sito compatibile con tutti i browser?

Se stai cercando di rendere un sito compatibile con più browser, ti consiglio di scrivere il sito in modo che abbia un bell'aspetto in Safari/Firefox/Opera utilizzando il CSS corretto e quindi apportare modifiche per IE utilizzando gli include CSS condizionali in IE.Questo dovrebbe (si spera) darti compatibilità per il futuro dei browser, che stanno migliorando nel seguire le regole CSS e fornire compatibilità tra browser. Questo è un esempio.

Usando i fogli di stile condizionali puoi evitare tutti gli hack e prendere di mira i browser.

Se stai cercando di fare qualcosa di speciale nel safari, dai un'occhiata Questo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top