代码之家  ›  专栏  ›  技术社区  ›  netcult

调整文本大小以适应浏览器中的可用空间

  •  1
  • netcult  · 技术社区  · 12 年前

    我想要两个div(左和右),每个div占用浏览器宽度的50%和浏览器高度的100%(用于在信息显示上显示全屏),并使每个div的内容大小为可用空间。这有可能吗?

    到目前为止,这是我的CSS: http://jsfiddle.net/n3ug7/

    <div class="left" id="test1">
        <h1>Dit is een eerste event</h1>
        <p>Dat schrijft De Morgen. Zelfs als er een bouwvergunning is verleend kan een buur alsnog protest aantekenen. Jaarlijks komen er zo'n 880 dossiers binnen bij de bevoegde instanties. De Raad voor Vergunningsbetwistingen werd in 2009 in het leven geroepen om 'snel' een beslissing te nemen in die dossiers, maar ook die kijkt dus volgens De Morgen al tegen een enorme achterstand aan. </p>
    </div>
    <div class="right" id="test2">
        <h1>Dit is een tweede event</h1>
        <p>Dat schrijft De Morgen. Zelfs als er een bouwvergunning is verleend kan een buur alsnog protest aantekenen. Jaarlijks komen er zo'n 880 dossiers binnen bij de bevoegde instanties. De Raad voor Vergunningsbetwistingen werd in 2009 in het leven geroepen om 'snel' een beslissing te nemen in die dossiers, maar ook die kijkt dus volgens De Morgen al tegen een enorme achterstand aan. </p>
    </div>
    

    谢谢

    1 回复  |  直到 12 年前
        1
  •  0
  •   Community Mohan Dere    8 年前

    我在这里发现了类似的问题: How to automatically resize the size of text inside a div?

    我对你的代码做了一些修改。将P替换为DIV,并添加了一个jQuery函数: JSFiddle

    $(function () {
      $('#test1 div').css('font-size', '1em');
      $('#test2 div').css('font-size', '1em');
    
      while ($('#test1 div').height() + $('#test1 h1').height() < $('#test1').height()) {
          $('#test1 div').css('font-size', (parseInt($('#test1 div').css('font-size')) + 1) + "px");
      }
      while ($('#test1 div').height() + $('#test1 h1').height() > $('#test1').height()) {
          $('#test1 div').css('font-size', (parseInt($('#test1 div').css('font-size')) - 1) + "px");
      }
    
      while ($('#test2 div').height() + $('#test2 h1').height() < $('#test2').height()) {
          $('#test2 div').css('font-size', (parseInt($('#test2 div').css('font-size')) + 1) + "px");
      }
      while ($('#test2 div').height() + $('#test2 h1').height() > $('#test2').height()) {
          $('#test2 div').css('font-size', (parseInt($('#test2 div').css('font-size')) - 1) + "px");
      }
    });
    

    您可以将此函数添加到window.onresize中,它将动态地适应您的文本。然而,您正在使用填充和H1标头,这需要使用WHILE参数进行一些操作。

    附加到窗口调整大小功能:

    window.onresize = function() {
    ... // function body
    };