0
votes

Comment puis-je justifier chaque ligne de texte à la même largeur - et apte à diviser?

J'essaie de faire fonctionner ce violon correctement lors de la redimensionnement du navigateur. Mais il scintille avec seulement chaque deuxième rendu rendu correctement rendu. Je ne peux pas comprendre pourquoi, mais j'aimerais qu'il s'adapte à un div au lieu d'utiliser la taille de la police de la première ligne.

Voici le FIDDLE P>

.divtext {
  display: table;
  font-family: impact;
  font-size: 4vw;
}

<div id="container">
  <div class="divtext">THIS IS JUST AN</div>
  <div class="divtext">EXAMPLE</div>
  <div class="divtext">TO SHOW YOU WHAT</div>
  <div class="divtext">I WANT</div>
</div>

function changeSize(){
    var els = document.getElementsByClassName("divtext"),
    refWidth = els[0].clientWidth,
    refFontSize = parseFloat(window.getComputedStyle(els[0],null).getPropertyValue("font-size")),
    i = 1;
    while(!!els[i]){
      els[i].style.fontSize = refFontSize * refWidth / els[i].clientWidth + "px";
      i++;
    }
}

$(window).resize(function(){
        changeSize();

});


0 commentaires

3 Réponses :


0
votes

Vous pouvez améliorer la fenêtre.Resize événement en ajoutant un étranglement.

https://jsfiddle.net/s8xl7d1p / xxx

Veuillez vous référer http://bencentara.com/code/2015/02/27/Optimizing-Window-Resize.html


1 commentaires

Pas de scintillement, mais tout le point était d'accomplir un alignement gauche et droit du texte.



0
votes

Je ne sais pas si je comprends parfaitement ce que vous demandez, mais je supprime affichage: table se débarrasse du scintillement.


1 commentaires

N'aide pas. Je veux l'alignement droit et gauche des lignes. Essayez de redimensionner le navigateur dans et de sortir quelques temps et vous verrez l'erreur.



0
votes
var els = document.getElementsByClassName("divtext")
var refWidth = els[0].clientWidth
var refFontSize = parseFloat(window.getComputedStyle(els[0], null).getPropertyValue("font-size"))
function changeSize() {
  i = 0
  while (!!els[i]) {  
    els[i].style.fontSize = refFontSize * refWidth / els[i].clientWidth + "px";
    i++;
  }
}
window.resize = changeSize

1 commentaires

Cette fonction de redimensionnement n'est appelée qu'une seule fois, je ne suis donc pas capable de redimensionner le conteneur en conséquence.