css视口

89 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第18天,点击查看活动详情 >>

一.弹性容器补充

    ul{
        width: 600px;
        height: 800px;
        border: 10px red solid;
      /* 设置ul为弹性容器 */
        display: flex;

        /* flex-direction: column; */

        /* flex-wrap: 
            设置弹性元素是否在弹性容器中自动换行
            可选值:
                nowrap 默认值,元素不会自动换行
                wrap 元素沿着辅轴方向自动换行
                wrap-reverse 元素沿着辅轴反方向换行
        */

        /* flex-wrap: wrap-reverse; */

        /* flex-flow:  wrap 和 direction 的简写属性 */
        flex-flow: row wrap;


        /*  
            justify-content
                - 如何分配主轴上的空白空间(主轴上的元素如何排列)
                - 可选值:
                    flex-start 元素沿着主轴起边排列
                    flex-end 元素沿着主轴终边排列
                    center 元素居中排列
                    space-around 空白分布到元素两侧
                    space-between 空白均匀分布到元素间
                    space-evenly 空白分布到元素的单侧
        */
        /* justify-content: center; */

        /*
         align-items: 
            - 元素在辅轴上如何对齐
            - 元素间的关系
                - 可选值:
                    stretch 默认值,将元素的长度设置为相同的值
                    flex-start 元素不会拉伸,沿着辅轴起边对齐
                    flex-end 沿着辅轴的终边对齐
                    center 居中对齐
                    baseline 基线对齐
         */

         /* justify-content: center; */
         align-items: flex-start;


         /* align-content: 辅轴空白空间的分布 */
         align-content: space-between;
        
    }

    li{
        width: 200px;
        background-color: #bfa;
        font-size: 50px;
        text-align: center;
        line-height: 100px;
        flex-shrink: 0;


        
    }
    li:nth-child(1){
        /* align-self: 用来覆盖当前弹性元素上的align-items */
        align-self: stretch;
    }

    li:nth-child(2){
        background-color: pink;
    }

    li:nth-child(3){
        background-color: orange;
    }

    li:nth-child(4){
        background-color: yellow;
    }

    li:nth-child(5){
        background-color: chocolate;
        
复制代码

二.视口

        *{
        margin: 0;
        padding: 0;
    }
    .box1{
        width: 6.4vw;
        height: 4.667vw;
        background-color: #bfa;
    }
</style>
复制代码

不同的设备完美视口的大小是不一样的

        iphone6 -- 375

        iphone6plus -- 414

    由于不同设备视口和像素比不同,所以同样的375个像素在不同的设备下意义是不一样,

        比如在iphone6中 375就是全屏,而到了plus中375就会缺一块

    所以在移动端开发时,就不能再使用px来进行布局了

    vw 表示的是视口的宽度(viewport width)

        - 100vw = 一个视口的宽度

        - 1vw = 1%视口宽度

        vw这个单位永远相当于视口宽度进行计算

        设计图的宽度

            750px 1125px

        设计图 

            750px  

        使用vw作为单位

            100vw

        创建一个 48px x 35px 大小的元素

        100vw = 750px(设计图的像素) 0.1333333333333333vw = 1px

        6.4vw = 48px(设计图像素)
        4.667vw = 35px


        
        
        
    }


作者:Adopt
链接:juejin.cn/post/713392… 来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。