Maison  >  Article  >  interface Web  >  Javascript utilise rem pour le partage d'exemples de développement réactif

Javascript utilise rem pour le partage d'exemples de développement réactif

小云云
小云云original
2018-01-15 09:05:151846parcourir

Cet article présente principalement l'utilisation de rem en javascript pour le développement réactif. L'éditeur pense que c'est plutôt bien, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un œil. J'espère que cela pourra aider tout le monde.

La version informatique du centre commercial a été terminée hier soir, et aujourd'hui je me précipite pour réaliser la version mobile. Lorsqu'il s'agit du site Web mobile, la première chose qui me vient à l'esprit est de s'adapter. la largeur des différents écrans de téléphones mobiles pour garantir qu'il peut être utilisé sur différents téléphones mobiles. Lorsque j'ai créé ce type de site Web auparavant, j'ai introduit le bootstrap sans réfléchir. Mais après avoir terminé le projet précédent, j'ai découvert que même si le bootstrap est bon, j'utilise rarement les différents styles qu'il contient. Lorsque le site Web est enfin téléchargé, vous constaterez que même après la compression, il prendra du temps. beaucoup d'espace. Une grande partie, donc cette fois je souhaite utiliser l'écriture native et le développement réactif (je m'y connais encore un peu maintenant, je sais :

1. Méthode de pourcentage :

Comme son nom l'indique, la marge, le remplissage, la largeur, la hauteur, etc. des éléments de la page sont calculés en utilisant %. À quoi fait référence la centaine dans le pourcentage en CSS. à? Il fait référence à l'élément parent. Tous les pourcentages sont comme ça. Si la largeur de l'élément enfant est de 50 %, alors la largeur de l'élément parent est de 100, le remplissage gauche de l'élément enfant est de 50 %, la largeur de l'élément parent est de 100 et la marge supérieure de l'élément enfant est de 50 %. L'élément parent est de 20 %, alors la hauteur de l'élément parent est de 100. Par conséquent, la largeur par défaut du corps est la largeur de l'écran (en référence à la largeur du navigateur sur PC). Les éléments descendants peuvent être positionnés en fonction de pourcentages (ou de tailles spécifiées). Cela ne convient que pour les pages avec des mises en page simples. pour implémenter des pages complexes.

2. Requête média :

Ceci est donné en css3 Le problème que nous voulons résoudre est de s'adapter à l'écran du téléphone mobile. est exactement pour Born de résoudre ce problème, la fonction de media query est de définir différents styles CSS pour différents médias. Le "média" inclut ici la taille de la page, la taille de l'écran de l'appareil, etc. Le formulaire le plus couramment utilisé est

téléphone : écran @media et (largeur maximale : 767 px) {/style mobile/}

pad : écran @media et (largeur maximale : 991 px) et (largeur min : 768) {/tablette style/}

pc:@media screen et (min-width : 992px){/PC style/}

... (Vous pouvez également définir plus de nœuds)

Utilisation Pour les requêtes multimédias, vous devez vous assurer que chaque pixel a un effet d'adaptation correspondant. Vous devez évidemment définir une plage de largeur plus petite

3.
rem consiste à utiliser la valeur font-size du nœud racine html comme taille de référence de la page entière. Par exemple, 24f6ee081ffe8b8b47a5b9b95efd48bf 1rem=10px ; comment le rendre approprié ? Ensuite, vous devez utiliser js pour obtenir la largeur de la fenêtre (largeur de la fenêtre du navigateur) $(window).width() lorsque la page est chargée lors du développement de pages mobiles, nous définissons généralement la largeur maximale à 640 px, car 640 px ; peut garantir Lorsqu'elle est affichée sur le téléphone mobile le plus large à ce jour, les deux extrémités de la page Web s'adaptent à l'écran. Laissez-moi vous donner un petit exemple.

Les trois p du zoom d'écran et du zoom sont également dans la même lignée.

html


css
<p class="container">
  <p class="box">1</p>
  <p class="box">2</p>
  <p class="box">3</p>
</p>


js
<style>
  html{font-size: 20px;}
  .container{
    max-width: 640px;
    border:1px solid red;
    margin:0 auto;
    overflow: hidden;
    box-sizing: border-box;
  }
  .box{
    float: left;
    width:10.6rem;
    //我这里设置html的font-size:20px;最大
宽为640px,即相当于640/20=32rem;一行有3个p,所以每个p宽10.6rem

你也可以像论坛里面讲的那样设置html的font-size:62.5%;因为浏览器默认像素16px;乘以62.5%之后为整数10px;方便计算

    height:10.6rem;
    border:1px solid #000;
    box-sizing: border-box;
  }
</style>


Notez qu'il y a un petit trou ici , lorsque vous apportez cette petite démo à Google Chrome pour vérification, vous constaterez que les trois p rétréciront à mesure que la fenêtre de votre navigateur se rétrécira au début et cesseront de bouger après avoir atteint une certaine valeur. La raison en est que Google Chrome est par défaut. Le navigateur prend en charge une valeur minimale de taille de police HTML de 10 px ; si elle est inférieure à cette valeur, elle ne sera pas plus petite. C'est le problème que j'ai rencontré à l'époque. J'ai passé près de deux heures à chercher sur Internet et je l'ai démontré. et encore, mais je n'arrivais toujours pas à comprendre. Finalement, j'ai trouvé une telle raison non humaine
<script>
 window.onresize = window.onload = function () {
   var w = $(window).width();
   if(w<640){
     var size = 20*w/640;//640的时候
对应html的font-size为20,那么宽度为w是对应
的font-size可这么求
     $(&#39;html&#39;).css(&#39;fontSize&#39;,size+&#39;px&#39;);
   }
 }
</script>

Recommandations associées :


Partager comment utiliser. outils réactifs bootstrap

Plusieurs frameworks réactifs adaptés aux programmeurs web

Comment créer une mise en page réactive avec CSS3

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn