• css 新单位 fr


    fr是css刚出的一个新的单位,目前经过测试在chrome和firefox是可以支持的

    举个案列,拿一个网格布局来说吧

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
            * {
                margin: 0px;
                padding: 0px;
            }
            .grid {
                height: 500px;
                 500px;
                background: #ccc;
                margin: 20px auto;
                overflow: auto;
                display: grid;
                grid-template-columns: repeat(4, 25%);
                grid-column-gap: 10px;
            }
            .column {
                background: #f66;
            }
        </style>
    </head>
    <body>
        <div class="grid">
            <div class="column">1</div>
            <div class="column">2</div>
            <div class="column">3</div>
            <div class="column">4</div>
        </div>
    </body>
    </html>

    看一下效果

    这时会发现下面出现了滚动条,如果不是4个网格而是11个网格呢,那计算起来就非常麻烦了,那个网格布局还提供了另一种写法,就是把算数交给计算机来处理,那就改成这样

    grid-template-columns: repeat(4, calc(100%/4));

    这样还是有滚动条,那就再进一步优化

    grid-template-columns: repeat(4, calc((100% - 10px * 3)/ 4));

    这样写就可以消除滚动条,这只是对于少量的网格布局适用,对于无数个网格怎么办呢,这时我们的 fr 单位就出场了

    我们来看一个复杂的列子

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
            * {
                margin: 0px;
                padding: 0px;
            }
            .grid {
                height: 500px;
                 500px;
                background: #ccc;
                margin: 20px auto;
                overflow: auto;
                display: grid;
                grid-template-columns: 100px repeat(11, 1fr);
                grid-column-gap: 10px;
            }
            .column {
                background: #f66;
            }
        </style>
    </head>
    <body>
        <div class="grid">
            <div class="column">1</div>
            <div class="column">2</div>
            <div class="column">3</div>
            <div class="column">4</div>
            <div class="column">5</div>
            <div class="column">6</div>
            <div class="column">7</div>
            <div class="column">8</div>
            <div class="column">9</div>
            <div class="column">10</div>
            <div class="column">11</div>
            <div class="column">12</div>
        </div>
    </body>
    </html>

    看一下效果

    用了fr 这个单位就不用去计算了,浏览器会自动去适配,是不是很人性化

  • 相关阅读:
    剑指offer(29):最小的K个数(pop_heap函数的使用)
    C++ partition(STL partition)算法使用
    rvm离线安装
    解决redis requires ruby version 2.3.0
    vim 中如何替换选中行或指定几行内的文本
    Vue.js框架:官方命令行工具的安装和使用(三)
    Node.js:windows下安装配置(一)
    Redis开发:windows下的redis安装记录(一)
    Vue.js框架:计算属性computed的用法(二)
    面试知识(一)
  • 原文地址:https://www.cnblogs.com/shenjp/p/7064917.html
Copyright © 2020-2023  润新知