资讯专栏INFORMATION COLUMN

CSS垂直居中和水平居中

fredshare / 3464人阅读

摘要:前言总括居中一直是一个比较敏感的话题,为了以后开发的方便,楼主觉得确实需要总结一下了,总的来说,居中问题分为垂直居中和水平居中,实际上水平居中是很简单的,但垂直居中的方式和方法就千奇百怪了。

前言

总括: CSS居中一直是一个比较敏感的话题,为了以后开发的方便,楼主觉得确实需要总结一下了,总的来说,居中问题分为垂直居中和水平居中,实际上水平居中是很简单的,但垂直居中的方式和方法就千奇百怪了。

原文地址:CSS居中小谈

知乎专栏&&简书专题:前端进击者(知乎)&&前端进击者(简书)

博主博客地址:Damonare的个人博客

人生用物,各有天限;夏涝太多,必有秋旱。

正文 内联元素居中方案

水平居中设置:

行内元素 设置 text-align:center;

Flex布局 设置display:flex;justify-content:center;(灵活运用)

垂直居中设置:

父元素高度确定的单行文本(内联元素) 设置 height = line-height;

父元素高度确定的多行文本(内联元素) a:插入 table (插入方法和水平居中一样),然后设置 vertical-align:middle; b:先设置 display:table-cell 再设置 vertical-align:middle;

## 块级元素居中方案

水平居中设置:

定宽块状元素 设置 左右 margin 值为 auto;

不定宽块状元素 a:在元素外加入 table 标签(完整的,包括 table、tbody、tr、td),该元素写在 td 内,然后设置 margin 的值为 auto; b:给该元素设置 display:inine 方法; c:父元素设置 position:relative 和 left:50%,子元素设置 position:relative 和 left:50%;

垂直居中设置:

1.使用position:absolute(fixed),设置left、top、margin-left、margin-top的属性;

.box{
position:absolute;/*或fixed*/
top:50%;
left:50%;
margin-top:-100px;
margin-left:-200px;
}

2.利用position:fixed(absolute)属性,margin:auto这个必须不要忘记了;

.box{
    position: absolute;或fixed
    top:0;
    right:0;
    bottom:0;
    left:0;
    margin: auto;
}

3.利用display:table-cell属性使内容垂直居中,这个方法在多行文字居中的时候用的比较多;

HTML代码:

多行文字,此处居中设置

CSS代码:

.box{
    display:table-cell;
    vertical-align:middle;
    text-align:center;
    width:100px;
    height:120px;
    background:purple;
}
.box span{
    display: inline-block;
    vertical-align: middle;
}

4.使用css3的新属性transform:translate(x,y)属性;

.box{
    position: absolute;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
    -webkit-transform:translate(-50%,-50%);
    -moz-transform:translate(-50%,-50%);
    -ms-transform:translate(-50%,-50%);
}

5.最高大上的一种,使用before,after伪元素;

HTML代码:

垂直居中

CSS代码:

.box{
    position:fixed;
    display:block;
    background:rgba(0,0,0,.5);
}
.box:before{
    content:"";
    display:inline-block;
    vertical-align:middle;
    height:100%;
}
.box:after{
    content:"";
    display:inline-block;
    vertical-align:middle;
    height:100%;
}
.box .content{
    width:60px;
    height:60px;
    line-height:60px;
    color:red;
}

6.Flex布局;

.box{
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    水平居中
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-pack:center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
     垂直居中
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-align:center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
}
结语

博主暂时掌握了这些居中方法,读者如果还有好方法或是觉得那个地方不对,欢迎评论,不吝感谢。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/115135.html

相关文章

  • CSS居中完全指南——构建CSS居中决策树

    摘要:但是部分浏览器存在兼容性的问题。核心代码宽高不固定水平垂直居中演示使用布局垂直水平居中核心代码使用布局垂直水平居中演示使用布局垂直水平居中核心代码使用布局垂直水平居中演示 CSS居中完全指南——构建CSS居中决策树 showImg(https://segmentfault.com/img/bV8tDq); 本文总结CSS居中,包括水平居中和垂直居中.本文相当于CSS决策树,下次再遇到...

    cc17 评论0 收藏0
  • CSS居中完全指南——构建CSS居中决策树

    摘要:但是部分浏览器存在兼容性的问题。核心代码宽高不固定水平垂直居中演示使用布局垂直水平居中核心代码使用布局垂直水平居中演示使用布局垂直水平居中核心代码使用布局垂直水平居中演示 CSS居中完全指南——构建CSS居中决策树 showImg(https://segmentfault.com/img/bV8tDq); 本文总结CSS居中,包括水平居中和垂直居中.本文相当于CSS决策树,下次再遇到...

    AlienZHOU 评论0 收藏0
  • CSS-水平居中垂直居中水平垂直居中

    摘要:水平居中水平居中可分为行内元素水平居中和块级元素水平居中行内元素水平居中这里行内元素是指文本图像按钮超链接等,只需给父元素设置即可实现。 1、水平居中 水平居中可分为行内元素水平居中和块级元素水平居中 1.1 行内元素水平居中 这里行内元素是指文本text、图像img、按钮超链接等,只需给父元素设置text-align:center即可实现。 .center{ te...

    scwang90 评论0 收藏0
  • CSS-水平居中垂直居中水平垂直居中

    摘要:水平居中水平居中可分为行内元素水平居中和块级元素水平居中行内元素水平居中这里行内元素是指文本图像按钮超链接等,只需给父元素设置即可实现。 1、水平居中 水平居中可分为行内元素水平居中和块级元素水平居中 1.1 行内元素水平居中 这里行内元素是指文本text、图像img、按钮超链接等,只需给父元素设置text-align:center即可实现。 .center{ te...

    Lsnsh 评论0 收藏0
  • 【基础】这15种CSS居中的方式,你都用过哪几种?

    摘要:水平居中内联元素水平居中利用可以实现在块级元素内部的内联元素水平居中。此方法对内联元素内联块内联表元素水平居中都有效。核心代码演示程序演示代码垂直居中单行内联元素垂直居中通过设置内联元素的高度和行高相等,从而使元素垂直居中。 简言 CSS居中是前端工程师经常要面对的问题,也是基本技能之一。今天有时间把CSS居中的方案汇编整理了一下,目前包括水平居中,垂直居中及水平垂直居中方案共15种。...

    Apollo 评论0 收藏0
  • 【前端】这可能是你看过最全的css居中解决方案了~

    摘要:水平居中行内元素解决方案适用元素文字,链接,及其其它或者类型元素,,部分代码文字元素链接元素链接元素链接元素部分代码解决方案将元素包裹在一个属性为的父级元素中如设置这个父级元素属性即可现在大家可以看到和中的子元素水平居中了水平居 1.水平居中:行内元素解决方案 适用元素:文字,链接,及其其它inline或者inline-*类型元素(inline-block,inline-table,i...

    csRyan 评论0 收藏0

发表评论

0条评论

fredshare

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<