2016-12-22 1 views
1

J'utilise la règle suivanteCSS Calc fonctionne dans Chrome, mais pas dans l'application Phonegap sur Android 4.4.2

.topbtns 
{ 
position:absolute; 
bottom:95vh; 
right:0; 
left:0; 
top:calc(95vh - 21vw - 1.2em); 
text-align:center; 
} 

qui est utilisé pour positionner une paire de boutons en bas au centre de l'écran

<div class='topbtns'> 
<div class='tear t-tosponsor'><div>View Storefront</div></div> 
<div class='tear t-continue' id='btnContinue'><div>Continue</div></div> 
</div> 

Cela fonctionne parfaitement dans mon navigateur Chrome sur Windows - même avec l'émulation de périphérique activée. $('.topbtns')[0].getBoundingClientRect() retours

{top: 538.2374877929688, right: 375.20001220703125, bottom: 
538.2374877929688, left: 0, width: 375.20001220703125…} 

Cependant, quand j'utilise le même code HTML CSS & et construire dans mon application Android Phonegap .topbtns est nulle part en vue. Le même renvoie le code getBoundingClientRect

{height:111,width:360,left:0,right:360,bottom:-497.875,top:-60} 

Je pensais que cela pourrait être dû au fait

  • L'Android Webview ne comprend pas vh unités. Cependant, j'ai modifié la règle pour utiliser `bottom: 95vh, top: 75vh} qui fonctionnait parfaitement. J'ai également remplacé calc avec -webkit-calc mais en vain.

Il est comme si calc et sa cousine -webkit-calc ne comprend pas vh tandis que le WebView ne se.

Je serais obligé à tous ceux qui pourraient être en mesure d'exprimer ce qui se passe ici. En écrivant ceci, je suis tombé sur ce - http://slides.com/html5test/the-android-browser#/. Cependant, il n'est pas clair pour moi que le WebView utilisé par Phonegap est celui qui est discuté ici.

Répondre

1

Je crois que this pourrait vous aider, la calc fonctionnalité n'est pas dans certaines versions d'Android (< = 4.4.4), de sorte que le problème n'est pas Phonegap/Cordova, est l'appareil où vous testez qui ne probablement pas pris en charge

+0

Bon site pour les signets! J'avais l'habitude de vérifier sur w3school – Sagar

+0

Je ne pense pas que ce soit tout à fait le problème ici - je ne fais pas diviser/multiplier les opérations avec calc. À la fin j'ai laissé tomber le CSS et ai commencé à placer les boutons fautifs correctement avec une tache de jQuery. – DroidOS

+0

@Sagar - Caniuse est une très bonne ressource. Si vous avez utilisé w3schools, envisagez de passer à [Mozilla] (https://developer.mozilla.org/en-US/docs/Web) comme premier port d'escale lorsque vous avez besoin d'une référence pour toutes sortes de technologies Web. – DroidOS