美文网首页
关于文字图片水平垂直居中

关于文字图片水平垂直居中

作者: JackLee_ | 来源:发表于2018-08-29 14:04 被阅读0次

前端在项目开发过程会遇到很多的水平和垂直居中,没办法,美观。以前我的做法基本都是按套路来,文字水平居中用text-align:center 垂直居中就用line-height: 【容器高度】,如果多行文字的话就用内联元素包起来,然后再用line-height, 图片的话一般会搭配display: table;verticle-align:middle来使用。最近遇到一个强大的属性来应对一切垂直水平居中来分大家分享一下,下面直接上:

1 文字
1,设置父元素: display: flex
2,垂直居中: align-items: center
<style>
.container{
    width: 200px; 
    height: 200px;
    display: flex;
    background: #f5f5f5;
    align-items: center;
}
</style>
<body>
    <div class="container">
        今天天气很好,心情也很好!
    </div>
</body>
image.png
3,水平居中: justify-content: center,为方便看效果我把宽度加到400px, 下面看下代码及效果
<style>
.container{
    width: 400px; 
    height: 200px;
    display: flex;
    background: #f5f5f5;
    justify-content: center;
}
</style>
<body>
    <div class="container">
        今天天气很好,心情也很好!
    </div>
</body>
image.png
2 下面试试图片

为了快速看效果,这次直接加上两个属性

<style>
.container{
    width: 400px; 
    height: 400px;
    display: flex;
    background: #f5f5f5;
    justify-content: center;
    align-items: center;
}
img{
    width: 200px;
    height: 200px;
}
</style>
<body>
    <div class="container">
        <img src="./test.jpg" />
    </div>
</body>
image.png
3 试试其他块级元素呢?
<style>
.container{
    width: 400px; 
    height: 400px;
    display: flex;
    background: #f5f5f5;
    justify-content: center;
    align-items: center;
}
.content{
    width: 100px;
    height: 100px;
}
.content1{
    background: red;
}
.content2{
    background: green;
}
</style>
<body>
    <div class="container">
        <div class='content1'>今天天气好</div>
        <div class='content2'>心情也好</div>
    </div>
</body>
image.png

可以看到,块级元素被居中之后变成了内联元素,没办法设置宽高

3 有没有办法让多元素垂直排列居中呢?

答案当然是有的,用到了flex-direction: column

<style>
.container{
    width: 400px; 
    height: 400px;
    display: flex;
    background: #f5f5f5;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.content{
    width: 100px;
    height: 100px;
}
.content1{
    background: red;
}
.content2{
    background: green;
}
</style>
<body>
    <div class="container">
        <div class='content1'>今天天气好</div>
        <div class='content2'>心情也好</div>
    </div>
</body>
image.png

通过上面的例子相信大家已经非常清楚了,文字,图片或者多块级元素居中现在非常简单, 只需要display: flex;align-items: center; justify-content: center;三个属性就可以了。如果还想让多元素垂直排列的话,还可以加flex-direction: column属性就OK了。

最后,今天就到这里了, 如果还有特别的兴趣 可以去看看这几个属性的其他值,能让你在布局的时候有更多的思路。

需要注意的是: 如果使用了flex-direction: column,那么align-items和justify-content的效果就相反!

相关文章

  • CSS居中大全(带截图)

    文字水平居中 图片水平垂直居中 图片与文字水平垂直居中 代码同上 DIV相对于页面垂直居中并且响应式 视口绝对垂直...

  • CSS图片居中(水平居中和垂直居中)

    css图片水平居中 css图片垂直居中 css图片水平垂直居中

  • CSS中几种常用的居中

    居中 行内元素水平居中 文字相对图片、输入框垂直居中 块元素水平居中 单行文字垂直居中 更灵活的布局方式当然是建议...

  • 关于文字图片水平垂直居中

    前端在项目开发过程会遇到很多的水平和垂直居中,没办法,美观。以前我的做法基本都是按套路来,文字水平居中用text-...

  • CSS水平垂直居中总结

    CSS水平居中、垂直居中、水平垂直居中方法总结 文字的水平居中: 单行文字的垂直居中: 让有宽度的div水平居中:...

  • HTML 水平居中和垂直居中

    水平居中 文字居中 图片居中 绝对定位元素 居中 相对定位 负边距居中 垂直居中 文字设置line-height ...

  • 居中布局

    水平居中 垂直居中 垂直水平居中 已知元素的宽高的居中布局 定位居中布局 盒模型居中布局 图片的垂直水平居中(利用...

  • 图片垂直水平居中

    图片垂直水平居中

  • 关于水平垂直居中的问题

    文字水平居中 文字水平垂直居中 设置padding高度自动撑开 flex 子元素在父元素中水平垂直居中 方法一 ...

  • CSS布局小技巧

    1.让元素水平垂直居中 文字水平垂直居中 2.让元素垂直居中 2.1 flex方式 2.2 position方式 ...

网友评论

      本文标题:关于文字图片水平垂直居中

      本文链接:https://www.haomeiwen.com/subject/juyhwftx.html