【技巧】怎么横向撑开父节点

  • 背景:父节点需要固定宽度,子节点长度不定,父节点overflow-x:scroll;
  • 解决方案:
    • 1、js动态计算出子节点的宽度
    • 2、方法1显得是有点冗余了,正确的打开方式
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
        .content{
            width:300px;
            overflow-x:scroll;
        }
        .con{
            white-space: nowrap;
            width: auto;
        }
        .a{
            width: 200px;
            height: 200px;
            background: #f00;
            display: inline-block;
        }
    </style>
</head>
<body>
    <div class="content">
        <div class="con">
            <div class="a"></div>
            <div class="a"></div>
            <div class="a"></div>
            <div class="a"></div>
            <div class="a"></div>
            <div class="a"></div>
            <div class="a"></div>
            <div class="a"></div>
            <div class="a"></div>
            <div class="a"></div>
        </div>
    </div>
</body>
</html>
  • 原理:
    关键在于:white-space: nowrap;
    这个样式的作用常用于让文字不要换行。
    这边这样写,就是使子元素中的元素都是inline的状态,然后使其不换行,撑开父节点,这样就能免于js的计算。
    兼容性目前没有大面积测过,用过的几个场景暂时没有问题。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前端开发者丨http请求 https:www.rokub.com 前言见解有限, 如有描述不当之处, 请帮忙指出,...
    麋鹿_720a阅读 10,980评论 11 31
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,796评论 1 92
  • 1. 前言 前端圈有个“梗”:在面试时,问个css的position属性能刷掉一半人,其中不乏工作四五年的同学。在...
    YjWorld阅读 4,528评论 5 15
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,792评论 0 2
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 4,060评论 0 0