剑轩

css div水平居 。文字垂直居中 。flex的方式实现div的垂直与水平居中。布局模板

电脑版发表于:2019/6/17 18:05


DIV等元素水平居中


定宽度+margin:top auto可以让一个块级别元素在外层居中

例如这样:

效果:

可以看到这个div已经居中了


但是我们里边的表格还没有居中,我们也可以给表格这样来一套,让他相对它的父级居中

我们看到里边的表格也已经居中了,但是表格内容并没有居中,因为输入框的长度不等于表格的长度哇

想让内容居中很简单,直接加一个text-align:center让内容居中就好了

效果如下:


其实也可以这样在表格的宽度设置成和div一样宽,然后设置一个内容居中就好了

效果如下:因为宽度完全一样,所以表格的颜色被覆盖看不到了


div水平居中方法2:flex:
除了前面的定宽,margin:0px auto的方法,还可以使用flex布局。直接让flex布局,然后设置一个内容按照居中方式排列即可


flex的方式实现div的垂直与水平居中,还是比较简单的

效果如下,中间这块内容就是垂直与水平居中的

样式如下:

.labroom-info-item {
    height: 62px;
    background: #ECF5FF;
    border-radius: 2px 2px 2px 2px;
    opacity: 1;
    border: 1px solid #B3D8FF;
    text-align: center;
    display: flex;
    justify-content: center;

    font-size: 12px;
    font-family: MicrosoftYaHei-Regular, MicrosoftYaHei;
    font-weight: 400;
    color: #409EFF;

    .labroom-info-desc-wapper {
        align-self: center;
    }
}

html结构如下:

<div class="labroom-info-item">
    <div class="labroom-info-desc-wapper">
        <div>
            188个
        </div>
        <div>
            实验总数
        </div>
    </div>
</div>

外层div设置为flex,然后设置一个justify-content: center;里边那块div就可以水平居中了,如果要里边那块div里的文字也水平居中设置一下text-align: center就行。然后里边的div设置一个align-self: center;就可以垂直居中了。如果align-self: center不行可以试试align-items: center;


还可以通过绝对定位的方式

html:

<div class="course-study-empty" v-else>
    <div class="empty-block">
        <div class="empty-icon" />
        <div class="empty-text">
            暂未查询到课程设置
        </div>
    </div>
</div>


样式:

.course-study-empty {
    width: 100%;
    height: 380px;
    margin-top: 5px;

    background: #FFFFFF;
    box-shadow: 0px 2px 15px 1px rgba(0, 89, 181, 0.11);
    position: relative;

    .empty-block {
        position: absolute;
        top: calc(50% - 57px);
        left: calc(50% - 64px);
        display: flex;
        flex-direction: column;
        align-items: center;

        .empty-icon {
            width: 90px;
            height: 75px;
            background-image: url('/static/img/evaluation/course-study-empty.png');
            background-size: cover;
            margin-bottom: 20px;
        }

        .empty-text {
            font-family: Microsoft YaHei;
            font-weight: 400;
            font-size: 14px;
            color: #8D8D8D;
            text-align: center;
        }
    }

}






文字垂直居中

使用line-height设置成高度和外面div一样即可

.tabstyle {
    border-bottom: 1px solid #eee;
    padding: 0px 20px;
    /*固定高度好调整东西*/
    height: 38px;
    /*让文字垂直居中*/
    line-height: 38px;
}

登录后的logo文字垂直居中也是

设置一个line-height和外层div一样高自然就垂直居中了,很nice



关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢