2009-10-02 12 views

risposta

28

Google Chrome (e Safari) lavorare con il seguenti CSS 3 prefissi

-webkit-border-radius: 10px; 

per tutti gli angoli a 10px

-webkit-border-top-left-radius: 8px; 
-webkit-border-bottom-left-radius: 8px; 

per in alto a sinistra e in basso a sinistra alla 8px

Per Firefox è possibile utilizzare:

-moz-border-radius: 10px; 

per tutti gli angoli e

-moz-border-radius-topleft: 8px; 
-moz-border-radius-bottomleft: 8px; 

per l'angolo in alto a sinistra e in basso a sinistra

+1

@Spasm Penso che tu abbia, ma tanto per essere chiari border-radius è la classe CSS 3. il prefisso webkit è specifico per Chrome e altri browser Webkit. – dove

+0

@dove - poiché Spasm non ha menzionato 'border-radius' senza prefissi, vuoi solo farti notare che un giorno ci sarà un browser diverso da Opera che supporta questa regola di stile senza il prefisso? – Anthony

+1

@Anthony: speriamo che i browser Webkit e Mozilla lascino un giorno il prefisso e si convertano al valore predefinito, come previsto. E se hai già il 'border-radius', allora non dovrai entrare e cambiare il tuo codice ... – peirix

21

a coprire sia Chrome, FF e qualsiasi browser che supporti CSS 3:

{-webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px;} 
+1

+1 per il futuro a prova di 'border-radius' – peirix

4

È futuro-utile per codificare il tuo c ss come questo:

border-radius: 5px; 
-moz-border-radius: 5px; 
-webkit-border-radius: 5px; 

questo modo, quando IE9/IE10 esce il vostro codice sarà anche funzionare anche lì: D

1

Si, pero 'l'unico problema di questo è che in realtà si sta gettando errori css perché di IE che è in jack e Microshaft non vuole fare nulla al riguardo, la correzione che uso è basata su js ma immagino che la maggior parte della gente ne sappia tutto. Ma, la ragione per cui lo uso è perché funziona sempre per me e su tutti i principali browser. Ecco qui.

var obj= document.getElementById('divName'); 
var browserName=navigator.appName; 
var browserVer=parseInt(navigator.appVersion); 
//alert(browserName); 
if ((browserName=="Microsoft Internet Explorer")) { 
obj.style.borderRadius = "15px"; 
}else { 
    obj.style.MozBorderRadius = "15px"; 
    obj.style.WebkitBorderRadius= "15px"; 

} 
3

Dato che tutti i browser ora supportano il raggio di confine senza prefissi; vedi: http://caniuse.com/#search=border-radius la sintassi corretta da utilizzare oggi è semplicemente:

border-radius: 5px;