js:判断元素超出隐藏overflow:hidden生效

举报
彭世瑜 发表于 2022/06/18 23:27:53 2022/06/18
【摘要】 文档: clientWidth: https://developer.mozilla.org/zh-CN/docs/Web/API/Element/clientWidthscrollWidth: htt...

文档:

通过元素的属性:clientWidth/clientHeightscrollWidth/scrollHeight 来判断元素是否有超出隐藏部分

如果有超出隐藏部分,就会出现 client < scroll

有以下情况:

  1. 如果元素没有超出隐藏
clientWidth==scrollWidth && clientHeight == scrollHeight
  1. 如果元素横向超出隐藏
clientWidth < scrollWidth && clientHeight == scrollHeight
  1. 如果元素纵向超出隐藏
clientWidth == scrollWidth && clientHeight < scrollHeight

在这里插入图片描述

<style>
      /* 文字超出一行省略 */
      .ellipsis-1 {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }

      /* 文字超出2行省略 */
      .ellipsis-2 {
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2; /*限制文本行数*/
        -webkit-box-orient: vertical;
      }

      .box {
        width: 500px;
        border: 1px solid green;
        margin-top: 20px;
      }
    </style>

    <div class="box">
      把酒问月 作者: 唐代 李白 青天有月来几时?我今停杯一问之。
      人攀明月不可得,月行却与人相随。 皎如飞镜临丹阙,绿烟灭尽清辉发。
      但见宵从海上来,宁知晓向云间没。 白兔捣药秋复春,嫦娥孤栖与谁邻?
      今人不见古时月,今月曾经照古人。 古人今人若流水,共看明月皆如此。
      唯愿当歌对酒时,月光长照金樽里。
    </div>

    <div class="box ellipsis-1">
      把酒问月 作者: 唐代 李白 青天有月来几时?我今停杯一问之。
      人攀明月不可得,月行却与人相随。 皎如飞镜临丹阙,绿烟灭尽清辉发。
      但见宵从海上来,宁知晓向云间没。 白兔捣药秋复春,嫦娥孤栖与谁邻?
      今人不见古时月,今月曾经照古人。 古人今人若流水,共看明月皆如此。
      唯愿当歌对酒时,月光长照金樽里。
    </div>

    <div class="box ellipsis-2">
      把酒问月 作者: 唐代 李白 青天有月来几时?我今停杯一问之。
      人攀明月不可得,月行却与人相随。 皎如飞镜临丹阙,绿烟灭尽清辉发。
      但见宵从海上来,宁知晓向云间没。 白兔捣药秋复春,嫦娥孤栖与谁邻?
      今人不见古时月,今月曾经照古人。 古人今人若流水,共看明月皆如此。
      唯愿当歌对酒时,月光长照金樽里。
    </div>

    <script>
      let boxs = document.querySelectorAll('.box');

      for (let box of boxs) {
        console.log(box.clientWidth, box.scrollWidth);
        let div = document.createElement('div');
        div.innerHTML = [
          'clientWidth',
          box.clientWidth,
          'scrollWidth',
          box.scrollWidth,
          'clientHeight',
          box.clientHeight,
          'scrollHeight',
          box.scrollHeight
        ].join(' ');
        div.style.color = 'red';
        box.insertAdjacentElement('afterend', div);
      }
    </script>

参考
如何判断ellispsis生效了

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/125340818

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。