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

在浏览器调整到取决于文本长度和字体大小的大小后更改div的高度是个好主意吗?

  •  0
  • UbuntuCore  · 技术社区  · 6 年前

    所以,我有了一个想法,“如果有一个公式,基于屏幕的宽度/高度,可以设置适当的高度到该div?”

    并导致了一些类似于硬代码的东西:

    https://jsfiddle.net/qmde87kt/

    $(window).resize(function() {
      var div = document.getElementById("test");
      var width = div.offsetWidth;
      var height = (div.innerHTML.length * 70) / width;
      div.setAttribute("style", "height:" + height + "px");
    
    });
    #test {
      font-size: 10px;
      border: 2px solid red;
      padding: 5px;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <div id="test">
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis commodo massa iaculis, elementum dolor bibendum, maximus orci. Aliquam imperdiet metus mi. Vestibulum cursus elementum ex in tempus. Nulla accumsan, ex eget rhoncus mollis, lectus lacus sodales
      neque, ut dictum nibh elit eget tellus. Vestibulum tincidunt quis mi quis egestas. Aenean ultricies purus nunc, id facilisis ante eleifend sed. Proin rutrum luctus turpis, sed pellentesque lorem consequat a. Quisque tortor leo, tempus in ante ac, mattis
      faucibus risus. Praesent tristique, odio ac finibus tristique, neque sapien aliquet dolor, in finibus mauris urna sit amet mauris. In hac habitasse platea dictumst. Praesent nunc est, fringilla in condimentum et, gravida a ligula. Vivamus hendrerit
      mauris a venenatis dictum. Sed vitae mi eget diam dapibus ultricies. Suspendisse varius turpis ante, nec cursus felis luctus et. Etiam ac ligula et tellus viverra tristique sed sodales ex. Nullam accumsan volutpat libero, vel laoreet sem lacinia sit
      amet. Nam id mollis justo.
    </div>

    那么,有没有更好(更普遍)的方法来解决这样的问题呢?或者也许有更简单的方法?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Sujeith Gopi Nath    6 年前

    根据Rory的建议,我建议使用下面建议的断点进行媒体查询

    最小宽度:320px(手机视角更小) 最小宽度:480px(小型设备和大多数手机) 最小宽度:768px(多数片剂) 最小宽度:992px(较小的桌面视点) 最小宽度:1200像素(大型设备和宽屏)

    设置JS无论如何是一个昂贵的工作!!!