css flex知识点

实现垂直居中


image.png

html:

<div class="tpl-camera">
    <div class="container">
        <ul>
            <li>
                <i class="icon icon1"></i>
                <span class="tips">SONY IMX363</span>
            </li>
            <li>
                <i class="icon icon2"></i>
                <span class="tips">Optical zoom</span>
            </li>
            <li>
                <i class="icon icon3"></i>
                <span class="tips">4-axis optical stabilization</span>
            </li>
            <li>
                <i class="icon icon4"></i>
                <span class="tips">1.4μm large pixels</span>
            </li>
            <li>
                <i class="icon icon5"></i>
                <span class="tips">Dual camera designed for portraits</span>
            </li>
            <li>
                <i class="icon icon6"></i>
                <span class="tips">Dual pixel autofocus</span>
            </li>
            <li>
                <i class="icon icon7"></i>
                <span class="tips">12MP + 12MP dual camera</span>
            </li>
            <li>
                <i class="icon icon8"></i>
                <span class="tips">Hardware multi-frame noise reduction</span>
            </li>
        </ul>
    </div>
</div>

css

.tpl-camera {
    padding-top: $spacer-11;
    padding-bottom: $spacer-11;
    ul {
        @include clearfix;
        display: flex;
        flex-flow: wrap row;
        justify-content: space-around;
        li {
            position: relative;
            background-color: #E3F5E8;
            float: left;
            width: calc(25% - 21px);
            margin-right: $spacer-6;
            margin-bottom: $spacer-5;
            padding: $spacer-3 $spacer-5;
            display: flex;
            flex-flow: wrap row;
            justify-content: flex-start;
            .tips {
                display: block;
                color: $mi-slate-gray;
                max-width: calc(100% - 3em);
                align-self: center;
            }
            i {
                display: block;
                width: 2em;
                height: 2em;
                margin-right: 1em;
                max-width: calc(100% - 3em);
                align-self: center;
            }
            i.icon1 {
                background: url(https://i01.appmifile.com/webfile/globalimg/products/pc/mi8/camera-1.png) 50% 50% no-repeat;
                background-size: contain;
                font-size: 16px;
            }
            i.icon2 {
                background: url(https://i01.appmifile.com/webfile/globalimg/products/pc/mi8/camera-2.png) 50% 50% no-repeat;
                background-size: contain;
                font-size: 16px;
            }
            i.icon3 {
                background: url(https://i01.appmifile.com/webfile/globalimg/products/pc/mi8/camera-3.png) 50% 50% no-repeat;
                background-size: contain;
                font-size: 16px;
            }
            i.icon4 {
                background: url(https://i01.appmifile.com/webfile/globalimg/products/pc/mi8/camera-4.png) 50% 50% no-repeat;
                background-size: contain;
                font-size: 16px;
            }
            i.icon5 {
                background: url(https://i01.appmifile.com/webfile/globalimg/products/pc/mi8/camera-5.png) 50% 50% no-repeat;
                background-size: contain;
                font-size: 16px;
            }
            i.icon6 {
                background: url(https://i01.appmifile.com/webfile/globalimg/products/pc/mi8/camera-6.png) 50% 50% no-repeat;
                background-size: contain;
                font-size: 16px;
            }
            i.icon7 {
                background: url(https://i01.appmifile.com/webfile/globalimg/products/pc/mi8/camera-7.png) 50% 50% no-repeat;
                background-size: contain;
                font-size: 16px;
            }
            i.icon8 {
                background: url(https://i01.appmifile.com/webfile/globalimg/products/pc/mi8/camera-8.png) 50% 50% no-repeat;
                background-size: contain;
            }
            &:nth-child(4n+4) {
                margin-right: $spacer-0;
            }
        }
    }
}

六个居中代码

ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    align-content: flex-start;
    flex-wrap: wrap;
    li {
        display: inline-block;
        flex: 0 0 calc(99.99% / 6);
        max-width: calc(99.99% / 6);
        text-align: center;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,868评论 1 92
  • 本文主要是起笔记的作用,内容来自慕课网. 认识CSS样式 CSS全称为“层叠样式表 (Cascading Styl...
    0o冻僵的企鹅o0阅读 2,685评论 0 30
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,955评论 1 45
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 3,587评论 0 6
  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 4,706评论 0 26