一.水平居中

1.文字水平居中

<div class="one">
测试居中
</div>
<style>
.one{
width: 200px;
height: 100px;
border:1px solid red;
text-align: center;
}
</style>

2.盒子居中

<div class="one">是盒子居中</div>
<style>
.one{
width: 200px;
height: 100px;
border:1px solid red;
margin: 0 auto;
}
</style>
3.多块级元素水平居中

<div class="container">
<div class="child">
简单不先于复杂
</div>
<div class="child">
而是在复杂之后
</div>
<div class="child">
简单不先于复杂,而是在复杂之后。
</div>
<div class="child">
简单不先
</div>
</div>
<style>
.container {
height:100px;
padding: 8px;
text-align: center;
border: 2px dashed #f69c55;
}
.child {
padding: 8px;
width: 4rem;
margin: 0 8px;
color: #fff;
background: #000;
display: inline-block;
}
</style>

4.弹性布局,多块级水平居中
<div class="flex-center">
<div>
测试1
</div>
<div>
测试2测试2测试2测试2测试2测试2测试2
</div>
<div>
测试3测试3测试3测试3
</div>
</div>
<style>
.flex-center {
width: 800px;
padding: 8px;
display: flex;
  justify-content: center;
border: 2px dashed #f69c55;
}
.flex-center >div {
padding: 8px;
width: 100px;
margin: 0 8px;
color: #fff;
background: #000;
}
</style>
display: flex;兼容性不好可以这样解决:最少支持ie10以上
.flex-center{ display: -webkit-flex; /* 新版本语法: Chrome 21+ */
       display: flex; /* 新版本语法: Opera 12.1, Firefox 22+ */
      display: -webkit-box; /* 老版本语法: Safari, iOS, Android browser, older WebKit browsers. */
      display: -moz-box; /* 老版本语法: Firefox (buggy) */ display: -ms-flexbox; /* 混合版本语法: IE 10 */
     }
.flex-center>div { -webkit-flex: 1; /* Chrome */
        -ms-flex: 1 /* IE 10 */
        flex: 1; /* NEW, Spec - Opera 12.1, Firefox 20+ */
         -webkit-box-flex: 1 /* OLD - iOS 6-, Safari 3.1-6 */
        -moz-box-flex: 1; /* OLD - Firefox 19- */
        }

5.垂直居中

1.元素是display:block和display:inline-block都可以使用height:100px ,line-height:100px;

2.利用display:table-cell

<div class="center-table">
<p class="v-cell">The more technology you learn</p>
</div>
<style>
.center-table {
width: 800px;
display: table;
height: 140px;
border: 2px dashed #f69c55;
}
.v-cell {
display: table-cell;
  vertical-align: middle;
}
</style>

3.用flex布局

<div class="center-flex">
<p>Dance like nobody </p>
</div>
<style>
.center-flex {
width: 500px;
height: 140px;
display: flex;
flex-direction: column;
  justify-content: center;
border: 2px dashed #f69c55;
}
</style>

4.块级元素固定高度(这个应该是大家最熟悉的,例子就不放了)

.parent {position: relative;
}
.child {position: absolute; top: 50%; height: 100px; margin-top: -50px; }

5.不知高度

<div class="parent">
<div class="child">世界上有 10 种人,懂二进制的和不懂二进制的。</div>
</div>
<style>
.parent {
height: 140px;
position: relative;
border: 2px dashed #f69c55;
}
.child {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
background: black;
color: #fff;
padding: 1rem;
width: 12rem;
}
</style>
transform的兼容性:
transform: translate(50px,100px);
-ms-transform: translateY(-50%)     /* IE 9 */
-webkit-transform:  translateY(-50%)    /* Safari and Chrome */
-o-transform: translateY(-50%)/* Opera */
-moz-transform:  translateY(-50%);   /* Firefox */

三,水平居中,垂直居中

1.固定宽高的水平垂直居中(大家熟悉的)

parent {

    position: relative;
}
.child {width: 300px; height: 100px; padding: 20px; position: absolute; top: 50%; left: 50%; margin: -70px 0 0 -170px; }2.不知宽高-水平垂直居中
.parent {position: relative;
}
.child {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
3.flex布局(上面水居中和垂直居中有例子就不写了)
.parent {display: flex;justify-content: center; align-items: center; }
4.利用grid实现水平垂直居中,兼容性较差,不推荐。
.parent {height: 140px;display: grid; } .child { margin: auto; }5.弹窗的水平居中(截图不好放,就不放了,大家粘贴就可以运行)
<div class="element">
<div>水平垂直居中了,好开心哦</div>
</div>
<style>
.element{
width: 300px;
height: 300px;
background-color: deeppink;
position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
</style>

大家有好的方法就留言哈
 

转载于:https://www.cnblogs.com/qianduanting/p/8663663.html

水平,垂直居中的15种方法相关推荐

  1. html flex上下居中,css3 flex实现div内容水平垂直居中的几种方法

    一.flex-direction: (元素排列方向) ※ flex-direction:row (横向从左到右排列==左对齐) ※ flex-direction:row-reverse (与row 相 ...

  2. CSS图片水平垂直居中的三种方法

    CSS图片水平垂直居中的三种方法 设置行高 使用定位和translate 使用弹性盒子 设置行高 我们知道img元素为行内快元素,所以首先设置图片元素的父元素里文字水平居中,行高与整体高度一致. 其次 ...

  3. div水平垂直居中的七种方法

    学习笔记(一) div水平垂直居中的七种方法 文章目录 学习笔记(一) 前言 一.绝对定位法 1.方法一 2.方法二 3.方法三 4.方法四 二.flex布局法 1.方法五 三.将小div转成行内块 ...

  4. 前端:水平垂直居中的10种方法

    第一种: 通过绝对定位的方式 absolute + 负margin ​ 首先知道子元素的宽高,给子元素设置top:50%:left:50%, 但绝对定位是基于子元素的左上角,我们所希望的效果是子元素的 ...

  5. CSS实现水平垂直居中的五种方法

    前言 今天来看看一个之前困扰我很久的问题,在CSS中,水平垂直居中,能有几种写法. 方法一:margin:auto 子绝父相,当元素绝对定位的时候,会根据最近父元素进行定位,利用这个特性,我们有了这种 ...

  6. php垂直居中代码_图文详解图片水平垂直居中的五种方法(附代码)

    在页面布局时经常需要对图片的位置进行处理,这篇文章围绕图片居中展开,主要讲了如何用CSS实现图片的水平居中,图片垂直居中,还有图片的水平垂直居中,课程比较实用,感兴趣的小伙伴,可以参考一下,希望对你有 ...

  7. 图片水平垂直居中的几种方法总结

    1.固定图片大小水平垂直居中,图片300*200 如下: html代码 <div class="con"><img src="images/fengch ...

  8. html语言div图片垂直居中,图文详解图片水平垂直居中的五种方法

    1.text-align:center实现图片水平居中 text-align一般用于文本的水平居中,也可以用于图片,代码如下: CSS部分: div{ text-align:center; width ...

  9. CSS水平垂直居中的几种方法

    我们都知道,固定宽高的 div 在网页中水平垂直居中很简单,相信大家也很容易的写出来,但是不固定宽高的 div 如何水平垂直居中呢?我们在网页布局,特别是手机等 web 端网页经常是不固定宽高的 di ...

最新文章

  1. python使用imbalanced-learn的RandomUnderSampler方法进行下采样处理数据不平衡问题
  2. swift LOG 输出
  3. 榜单出炉!2018中国AI英雄风云榜揭晓十位AI领军人
  4. yield python3 知乎_运维学python之爬虫高级篇(七)scrapy爬取知乎关注用户存入mongodb...
  5. python【力扣LeetCode算法题库】8-字符串转换整数 (atoi)
  6. 省常中模拟 Test3 Day2
  7. 洛谷 - P1217 - 回文质数 - 枚举
  8. (原)U盘可见容量不能被识别的处理方法
  9. HTTP长连接和短连接(转)
  10. Java设计模式——建造者模式
  11. doc转docx文件会乱吗_我电脑里所有Word的doc格式都变成了docx格式.传Word文件给别人都打不开.请问为什么?...
  12. linux多线程编程 实验,linux操作系统-实验五-linux 多线程编程.docx
  13. 测试方案包含哪些内容?
  14. 1024 程序员节,拿个勋章
  15. 做一个微信消息的日期展示
  16. “冰块比马桶水脏”让人透心凉
  17. 关于“硬件工程师工资不高”的几个真相
  18. HDU2188 选拔志愿者题解
  19. OkGo - OkHttpUtils-2.0.0 升级后改名 OkGo,全新完美支持RxJava
  20. 升级uedit32版本后运行软件报错

热门文章

  1. DP_knapsack
  2. 算法设计与分析第5章 回溯法(二)【回溯法应用】
  3. 最全面的homogeneous单应性坐标的定义,以及不同投影,仿射,相似,刚体变换矩阵的关系和自由度分析
  4. php 加载一个文件路径_PHP文件加载过程
  5. python最新版本 效率_Python:迭代列表与dict项目效率
  6. oracle中的聚簇,Oracle数据库的聚簇技术
  7. 使用回调函数实现图像阈值分析。程序运行后在屏幕中输入阈值,通过改变滑动条实现不同类型的二值化图。
  8. 3. 5种常见卷积论文、解读、使用方法、实现代码整理(conv)
  9. Linux 内核启动流程
  10. chrome 禁用https限制http_HTTP协议走过29年漏洞百出:Firefox可直接禁用