HTML / CSS-ajuster la taille des caractères pour remplir la hauteur et la largeur des parents

j'ai un <div> élément qui redimensionne la fenêtre du navigateur est redimensionnée.

à l'intérieur du <div> j'ai un paragraphe de texte:

<div style="width:80%; height:80%; margin:10%;">
    <p>Paragraph of text. Paragraph of text. Paragraph of text.</p>
</div>

je veux que le texte à modifier font-size comme je redimensionne le <div>, de sorte que le texte occuypy 100% de l'espace disponible.

Comment puis-je obtenir cet effet?

Serait-ce avec un pourcentage de taille de caractères?

Aurais-je à utiliser Javascript?

Merci d'avance!

15
demandé sur Web_Designer 2011-10-19 22:19:15

5 réponses

Il y a un plugin jquery pour ceci: http://fittextjs.com/

9
répondu Bas 2011-10-19 18:23:07

découvrez le vw propriétés css

http://www.w3schools.com/cssref/css_units.asp

2
répondu Nick 2016-09-13 22:55:02

ce dont vous avez besoin s'appelle vw. Exemple CSS: font-size: 80vw;. vw signifie largeur du champ de vision, et 80vw= 80% de l'écran de l'appareil largeur

2
répondu Zefir Zdravkov 2017-01-25 20:48:47

HTML

<div id="change" style="margin:10%;"> 
    <p>Paragraph of text. Paragraph of text. Paragraph of text.</p> 
</div> 

CSS

#change { 
    width: 80%; 
    height: 80%; 
    border: 1px solid black; 
    overflow: hidden; 
    font-size: 1em; 
} 

JAVASCRIPT

$(function() { 
    while( $('#change div').height() > $('#change').height() ) { 
        $('#change div').css('font-size', (parseInt($('#change div').css('font-size')) - 1) + "px" ); 
    } 
}); 
1
répondu Jawad 2011-10-19 18:40:39

fittext.js n'a pas fonctionné correctement pour moi (plugin pour jQuery, ainsi que la version dérivée sans jQuery), ni avec l'utilisation de l'attribut compresseur, donc j'ai trouvé une autre solution:

http://www.dhtmlgoodies.com/?whichScript=text_fit_in_box (quelqu'un d'un autre travail)

qui fonctionne parfaitement pour moi - plus de textes ainsi que des textes plus courts.

il suffit de ne pas réagir à redimensionner de la fenêtre( il fonctionne Juste une fois sur le chargement de la page), donc J'ai écrit ce code court pour l'exécuter automatiquement après chaque redimensionnement de fenêtre (cela fonctionne pour moi):

<script>
      function calculate_font_sizes()
      {
        fitTextInBox('login-h1');
        fitTextInBox('subtittle');
      }
      calculate_font_sizes();
      window.addEventListener('resize', calculate_font_sizes);

</script>

j'espère que cela peut aider quelqu'un.

0
répondu Martin Adámek 2016-01-16 09:19:02