JS怎么判断元素被溢出隐藏

新手上路,请多包涵
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <style type="text/css">
            *{
                margin: 0;
                height: 0;
            }
            .box{
                width: 100%;
                height: 100px;
                background: turquoise;
                display: flex;
                justify-content:center;
                align-items:center;
            }
            ul{
                height: 100px;
                list-style: none;
                overflow:hidden;
            }
            ul li{
                height: 90px;
                display: inline-flex;
                align-items: center;
                margin-right: 30px;
            }
        </style>
        
    </head>
    <body>
        <div class="box">
            <ul>
                <li><a href="">列表一</a></li>
                <li><a href="">列表二</a></li>
                <li><a href="">列表三</a></li>
                <li><a href="">列表四</a></li>
                <li><a href="">列表五</a></li>
                <li><a href="">列表六</a></li>
                <li><a href="">列表七</a></li>
                <li><a href="">列表八</a></li>
            </ul>
        </div>
        <script type="text/javascript">
            window.onresize = function(){
                //怎么判断 列表八 是否被溢出隐藏?
                
            }
        </script>
    </body>
</html>
阅读 4.4k
2 个回答

看你的CSS都是固定高度,我能想到的就是直接计算就行了。
100px的box能容下几个90px的<li>? 按理说从第2个开始全部都是被隐藏的。

取父元素的 scrollHeight,如果 > clientHeight 则表示内容超出。此时根据 overflow 属性的不同,会有不同显示方式。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题