1.文字或者内联元素的垂直水平居中对齐

css属性 -- 水平居中:text-aligin:center; 垂直居中: line-height:height; 例子:、

html:

<div class="mb10 line-align">
我是垂直水平居中对齐的文字哦!
</div>
<div class="mb10 line-align">
<span>我是垂直水平居中对齐的内联元素span!</span>
</div>

css:

.mb10 {
  margin-bottom: 10px;
} /*文字或者内联元素的垂直水平居中对齐*/
.line-align {
  height: 40px;
  line-height: 40px;
  text-align: center;
  background: tan;
}

2.块元素的垂直水平居中对齐

1) 定位法

优点:方便理解。一目了然。

缺点:子元素必须固定宽高才可以使用。

html:

<div class="relativeDiv">
<div class="absoluteDiv"></div>
</div>

css:

/*定位法*/
.relativeDiv {
  height: 100px;
  background: tomato;
  position: relative;
}
.absoluteDiv {
  height: 20px;
  width: 100px;
  background: #000;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -50px;
  margin-top: -10px;
}

2) css3 transform结合position方法

优点:相比完全的定位法,这个方法中,子元素不比固定宽高。

缺点:兼容性不是很好,ie9+的浏览器才支持。

html:

<div class="transform">
<div class="transformChild"></div>
</div>

css:

/*css3 transform*/
.transform{
height: 100px;
background: green;
position: relative;
}
.transformChild{
width: 100px;
height: 20px;
background: #000;
position: absolute;
left: 50%;
top: 50%;
-webkit-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
-o-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
}

3. 变身table属性法

1) td中放span或者文字

html:

<div class="mb10 displayTable">
  <div class="displayTableCell">
  <span>我相当于是td中的span</span>
  </div>
</div>

2) td中放div

html:

<div class="mb10 displayTable">
<div class="displayTableCell">
<div class="tableDiv">我相当于是td中的div</div>
</div>
</div>

css:

.displayTable{
display: table;
width: 100%;
}
.displayTableCell{
width: 100%;
height: 100px;
display:table-cell;
background: palegoldenrod;
vertical-align: middle;
text-align: center;
}
.tableDiv{
width: 200px;
height: 30px;
background: #000;
color: #fff;
margin: 0 auto;
}

示例代码下载

4.图片水平垂直居中!!!很好用的方式

图片的水平处置居中都可以使用上面的方式,不过还有个超级好用的方式,padding+伪类方法。

缺点:只支持ie9+

例子:

html:

<div class="imgGroup">
<div class="imgAlone">
<div class="imgWidth">
<img src="data:image/1.png">
</div>
</div>
<div class="imgAlone">
<div class="imgWidth">
<img src="data:image/2.png">
</div>
</div>
<div class="imgAlone">
<div class="imgWidth">
<img src="data:image/1.png">
</div>
</div>
<div class="imgAlone">
<div class="imgWidth">
<img src="data:image/2.png">
</div>
</div>
<div class="imgAlone">
<div class="imgWidth">
<img src="data:image/1.png">
</div>
</div>
<div class="imgAlone">
<div class="imgWidth">
<img src="data:image/2.png">
</div>
</div>
</div>

css:

<style type="text/css">
.imgGroup{
width: 100%;
}
.imgAlone{
float: left;
width: 20%;
position: relative;
margin:2.5%;
border: 1px solid #ccc;
box-sizing: border-box;
}
.imgAlone:after{
content: "";
display: block;
padding-top:100%;
}
.imgWidth{
position: absolute;
left:;
top:;
width: 100%;
height: 100%;
}
.imgWidth img{
max-height: 100%;
max-width: 100%;
position: absolute;
top:;
left:;
right:;
bottom:;
margin: auto;
}
</style>

图片示例代码下载

示例效果查看

css水平垂直居中对齐方式的更多相关文章

  1. CSS实现水平垂直居中的方式有哪些?

    CSS实现水平垂直居中的方式有哪些? 基本结构样式: .box { width: 400px; height: 400px; background-color: red; } .inner { wid ...

  2. CSS水平垂直居中总结

    行内元素水平居中 把行内元素包裹在块级父元素中,且父元素中的css设置text-align:center; <!DOCTYPE html> <html> <head> ...

  3. CSS制作水平垂直居中对齐 多种方式各有千秋

    作为前端攻城师,在制作Web页面时都有碰到CSS制作水平垂直居中,我想大家都有研究过或者写过,特别的其中的垂直居中,更是让人烦恼.这段时间,我收 集了几种不同的方式制作垂直居中方法,但每种方法各有千秋 ...

  4. CSS制作水平垂直居中对齐

    作为前端攻城师,在制作Web页面时都有碰到CSS制作水平垂直居中,我想大家都有研究过或者写过,特别的其中的垂直居中,更是让人烦恼.这段时间,我收集了几种不同的方式制作垂直居中方法,但每种方法各有千秋呀 ...

  5. 用CSS/CSS3 实现水平居中和垂直居中,水平垂直居中的方式

    一.水平居中 (1)行内元素解决方案:父为块元素+text-align: center 只需要把行内元素包裹在一个属性display为block的父层元素中,并且把父层元素添加如下属性即可: 使用te ...

  6. css水平垂直居中 三种最常用的方式

    代码在下面,可以直接用. bb两句,个人见解: text-align 是让里面的内容水平居中 line-height 是行高,行高等于元素的高度 就能让内容垂直居中 left和top 50% 是根据h ...

  7. CSS水平垂直居中的方法

    原文链接:http://caibaojian.com/370.html 水平垂直居中,特别是使用在列表的时候经常会用到的,以前有需求的时候我也做过类似的代码,是使用display:table-cell ...

  8. 把简单做好也不简单-css水平垂直居中

    44年前我们把人送上月球,但在CSS中我们仍然不能很好实现水平垂直居中. 作者:Icarus 原文链接:http://xdlrt.github.io/2016/12/15/2016-12-15 水平垂 ...

  9. css 水平垂直居中总结

    空闲总结了下水平垂直居中方案,欢迎补充: 水平居中 水平居中有两种情况: 子元素是内联元素 这种那个情况下只需要在父元素定义: text-align:center; 例子: html: //省略了bo ...

随机推荐

  1. [Linux 性能检测工具]PIDSTAT

    PIDSTAT NAME pidstat对linux任务的统计 语法 pidstat [ -C comm ] [ -d ] [ -h ] [ -I ] [ -l ] [ -p { pid [,...] ...

  2. 萌新笔记——Cardinality Estimation算法学习(一)(了解基数计算的基本概念及回顾求字符串中不重复元素的个数的问题)

    最近在菜鸟教程上自学redis.看到Redis HyperLogLog的时候,对"基数"以及其它一些没接触过(或者是忘了)的东西产生了好奇. 于是就去搜了"HyperLo ...

  3. jquery ajax在跨域访问post请求的时候,ie9以下无效(包括ie9)

    1. 设置浏览器安全属性,启用[通过域访问数据源]选项,如图:

  4. [No00008F]PLSQL自动登录,记住用户名密码&日常使用技巧

    配置启动时的登录用户名和密码 这是个有争议的功能,因为记住密码会给带来数据安全的问题. 但假如是开发用的库,密码甚至可以和用户名相同,每次输入密码实在没什么意义,可以考虑让PLSQL Develope ...

  5. [转]实现一个无法被继承的C++类

    From:http://blog.csdn.net/lazy_tiger/article/details/2224899 一个类不能被继承,也就是说它的子类不能构造父类,这样子类就没有办法实例化整个子 ...

  6. FujiXerox CP116w换无线路由器后重新连接

    因为手头没有安装光盘, 不得不用土办法修改cp116w的wifi连接参数 1. 将路由器的2.4GHz SSID和密码设置为和旧路由器一样, 这样打印机就能连接上了 2. 在路由器控制界面中找到类似于 ...

  7. [LeetCode] Word Ladder II 词语阶梯之二

    Given two words (start and end), and a dictionary, find all shortest transformation sequence(s) from ...

  8. [LeetCode] Length of Last Word 求末尾单词的长度

    Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...

  9. 开发 ASP.NET vNext 续篇:云优化的概念、Entity Framework 7.0、简单吞吐量压力测试

    继续上一篇<开发 ASP.NET vNext 初步总结(使用Visual Studio 2014 CTP1)>之后, 关于云优化和版本控制: 我本想做一下MAC和LINUX的self-ho ...

  10. android-配置文件AndroidManifest.xml

    AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实 ...