CSS的水平居中、垂直居中和水平垂直居中

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

.center{text-align:center;
}

1.2 块级元素水平居中

1.2.1 定宽块级元素水平居中

只需给需要居中的块级元素加margin:0 auto即可,但这里需要注意的是,这里块状元素的宽度width值一定要有

  .center{width:200px;margin:0 auto;border:1px solid red;}

1.2.2 不定宽块级元素水平居中

不定宽,即块级元素宽度不固定
方法1:设置table

通过给要居中显示的元素,设置display:table,然后设置margin:0 auto来实现

  .center{display:table;margin:0 auto;border:1px solid red;}

方法2:设置inline-block(多个块状元素)
子元素设置inline-block,同时父元素设置text-align:center

  .center{text-align:center;}.inlineblock-div{display:inline-block;}<div class="center"><div class="inlineblock-div">1</div><div class="inlineblock-div">2</div></div>

方法3:设置flex布局
只需把要处理的块状元素的父元素设置display:flex,justify-content:center;

  .center{display:flex;justify-content:center;}<div class="center"><div class="flex-div">1</div><div class="flex-div">2</div></div>

方法4:position + 负margin;
方法5:position + margin:auto;
方法6:position + transform;

注:这里方法4、5、6同下面垂直居中一样的道理,只不过需要把top/bottom改为left/right,在垂直居中部分会详细讲述。

2、垂直居中

2.1 单行文本垂直居中
设置paddingtop=paddingbottom;或
设置line-height=height;

2.2 多行文本垂直居中
通过设置父元素table,子元素table-cell和vertical-align
vertical-align:middle的意思是把元素放在父元素的中部

2.3 块级元素垂直居中
方法1:flex布局
在需要垂直居中的父元素上,设置display:flex和align-items:center
要求:父元素必须显示设置height值

方法2:利用position和top和负margin(需知宽高)
1、设置元素为absolute/relative/fixed
2、margin=负一半

方法3:利用position和top/bottom和margin:auto(注意不是margin:0 auto)
1、position:absolute/relative/fixed
2、top/bottom:0
3、margin:auto

方法4:利用position和top和transform
transform中translate偏移的百分比就是相对于元素自身的尺寸而言的。

注: 上述的块级垂直居中方法,稍加改动,即可成为块级水平居中方法,如top/bottom换成left/right transform方法,可用于未知元素大小的居中

3、水平垂直居中
方法1:绝对定位+margin:auto

div{width: 200px;height: 200px;background: green;position:absolute;left:0;top: 0;bottom: 0;right: 0;margin: auto;
}

方法2:绝对定位+负margin

div{width:200px;height: 200px;background:green;position: absolute;left:50%;top:50%;margin-left:-100px;margin-top:-100px;
}

方法3:绝对定位+transform

div{width: 200px;height: 200px;background: green;position:absolute;left:50%;    /* 定位父级的50% */top:50%;transform: translate(-50%,-50%); /*自己的50% */
}

方法4:flex布局

   .box{height:600px;  display:flex;justify-content:center;  //子元素水平居中align-items:center;      //子元素垂直居中/* aa只要三句话就可以实现不定宽高水平垂直居中。 */}.box>div{background: green;width: 200px;height: 200px;}

方法5:table-cell实现居中

设置

display:table-cell;
text-align:center;
vertical-align: middle;

CSS的水平居中、垂直居中和水平垂直居中相关推荐

  1. CSS布局对齐方式--水平居中、垂直居中、水平垂直居中

      前言:在网页布局中,经常遇到需要使元素居中对齐的时候,居中对齐的方式有:水平居中.垂直居中和水平垂直居中.这次,借此回顾总结一下,并在此记录下相关内容. 一.水平居中: (1)行内元素的水平居中 ...

  2. 【html5/css3】水平居中,垂直居中以及水平垂直居中方法

    水平居中 默认html: <div class="parent"><div class="child">child</div> ...

  3. php水平垂直居中,html水平垂直居中的问题

    最近遇到很多居中的问题,就花点时间总结了一下放在这里,以后找也方便 1.居中文本 我在中间-- .. height+line-height+text-center(只能居中单行) .wrap{ wid ...

  4. h5文字垂直居中_CSS中垂直居中和水平垂直居中的方法

    flex垂直居中: 第一种:使用flex布局,让居中元素的父元素为flex属性,让它在交叉轴上center就可以达到居中效果了: html代码: <div class="father& ...

  5. CSS水平居中,垂直居中,水平垂直居中

    本文主要介绍水平居中,垂直居中,还有水平垂直居中各种办法,思维导图如下: 水平居中 1.行内元素水平居中 利用 text-align: center 可以实现在块级元素内部的行内元素水平居中.此方法对 ...

  6. HTML/CSS常见的几种水平居中、垂直居中、水平垂直居中方法

    HTML/CSS常见的几种水平居中.垂直居中.水平居中方式 一.水平居中 1.第一种方式 在css中使用text-align和display属性 <!DOCTYPE html> <h ...

  7. 【CSS】元素居中总结-水平居中、垂直居中、水平垂直居中

    [CSS]元素居中 一. 水平居中 1.行内元素水平居中 (1)text-align 2.块级元素水平居中 2.1 margin (1)margin 2.2布局 (1)flex+ justify-co ...

  8. CSS行内元素和块级元素的水平居中,垂直居中,水平垂直居中实现

    常用内联元素:a,img,input,lable,select,span,textarea,font 常用的块级元素:div,p,table,form,h1,h2,h3,h4,h5,h6,dl,ol, ...

  9. CSS 水平居中、垂直居中、水平垂直居中

    参考 水平垂直居中 1.grid布局实现 <style>html,body{margin: 0;padding: 0;width: 100%;height: 100%;display: g ...

最新文章

  1. android跳转应用市场搜索,Android 应用中跳转到应用市场评分
  2. 【第41题】【062题库】2019年OCP认证062考试新题
  3. 全麦吐司和普通吐司的区别_全麦面包和普通面包的区别
  4. Kubuntu中thunderbird最小化到任务栏
  5. 第八天学习Java的笔记(方法有参无参,有返回值和无返回值)
  6. VTK:可视化算法之ContourQuadric
  7. 效率极低人群的七大习惯你占了几项?
  8. 牛客题霸 [合并二叉树] C++题解/答案
  9. debug error怎么解决_我要以血和泪的经历告诉你,这个 bug 太难解决了
  10. 安全云盘项目(二):2.1 基于libevent的C++线程池
  11. 在线邮箱地址提取工具
  12. (PHP 4, PHP 5) isset — 检测变量是否设置
  13. uniapp 按钮固定在底部
  14. LTE系统中的OFDM技术
  15. vue3.0引入element插件报错解决
  16. css3图片上下浮动动画
  17. 服务器u单核性能排行,CPU单核性能排行[2018年10月更新]
  18. Kubernetes Pod 健康检查机制 LivenessProbe 与 ReadinessProbe
  19. 如何在Mysql中运行SQL文件
  20. [jzoj100047]【NOIP2017提高A组模拟7.14】基因变异

热门文章

  1. Intelligent Robot
  2. 洛谷p2655 2038年问题 普及/提高- 模拟
  3. 大数据Hive(一):​​​​​​​Hive基本概念
  4. Maven 的下载安装和配置
  5. 有道文档翻译导出文档_翻译文档的5个技巧
  6. linux hostname的配置方法
  7. sql --Acess
  8. vue3+ts+vite 路由详解
  9. 中国煤炭行业运行战略分析及十四五发展方向建议报告2022-2028年版
  10. 说说python程序的执行过程_《师说》的“说”