J'utilise souvent ce code pour centrer une div
en vue:
.centered {
position: fixed;
top: 50%;
left: 50%;
/* bring your own prefixes */
transform: translate(-50%, -50%);
}
Cela fonctionne très bien sur Firefox, Internet Explorer et Chrome, mais pas dans Safari.
Qu'est-ce qu'une solution de contournement pour centrer une image dans le navigateur Web Safari?
Vous avez besoin d'un autre style préfixé par le fournisseur.
.centered {
position: fixed;
top: 50%;
left: 50%;
/* bring your own prefixes */
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
Veuillez vous reporter ci-dessous pour savoir quel navigateur prend en charge les préfixes et les préfixes à ajouter . http://caniuse.com/#feat=transforms2d
Voici ce qui fonctionne pour moi sur tous les navigateurs et appareils mobiles testés (Chrome, IE, Firefox, Safari, iPad, iPhone 5 et 6, Android).
La clé pour safari (y compris les périphériques ios) est d’ajouter les autres règles de transformation css et pas seulement:
transform: translateY(-50%);
Vous devez ajouter à ce groupe de règles:
-ms-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
-o-transform: translateY(-50%);
Voici un code de travail de mon:
img.ui-li-thumb {
position: absolute;
left: 1px;
top: 50%;
-ms-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
-o-transform: translateY(-50%);
transform: translateY(-50%);
}
Dans certains cas, vous devrez utiliser:
-webkit-transform: translate3d(-50%,-50%,0);
Parfois, fonctionne mieux avec un navigateur mobile.