在前端面试中,大都会问你div居中的方法:

文笔不好,就随便寥寥几句话概括了,

不过以后文笔肯定会变得更好一些的。

今天我们就细数一下几种方法:

1,使用position:absolute,设置left、top、margin-left、margin-top的属性

  1. .one{
  2. position:absolute;
  3. width:200px;
  4. height:200px;
  5. top:50%;
  6. left:50%;
  7. margin-top:-100px;
  8. margin-left:-100px;
  9. background:red;
  10. }

这种方法基本浏览器都能够兼容,不足之处就是需要固定宽高。

2,使用position:fixed,同样设置left、top、margin-left、margin-top的属性

  1. .two{
  2. position:fixed;
  3. width:180px;
  4. height:180px;
  5. top:50%;
  6. left:50%;
  7. margin-top:-90px;
  8. margin-left:-90px;
  9. background:orange;
  10. }

大家都知道的position:fixed,IE是不支持这个属性的

3,利用position:fixed属性,margin:auto这个必须不要忘记了。

  1. .three{
  2. position:fixed;
  3. width:160px;
  4. height:160px;
  5. top:;
  6. right:;
  7. bottom:;
  8. left:;
  9. margin:auto;
  10. background:pink;
  11. }

4,利用position:absolute属性,设置top/bottom/right/left

  1. .four{
  2. position:absolute;
  3. width:140px;
  4. height:140px;
  5. top:;
  6. right:;
  7. bottom:;
  8. left:;
  9. margin:auto;
  10. background:black;
  11. }

5,利用display:table-cell属性使内容垂直居中

  1. .five{
  2. display:table-cell;
  3. vertical-align:middle;
  4. text-align:center;
  5. width:120px;
  6. height:120px;
  7. background:purple;
  8. }

6,最简单的一种使行内元素居中的方法,使用line-height属性

  1. .six{
  2. width:100px;
  3. height:100px;
  4. line-height:100px;
  5. text-align:center;
  6. background:gray;
  7. }

这种方法也很实用,比如使文字垂直居中对齐

7,使用css3的display:-webkit-box属性,再设置-webkit-box-pack:center/-webkit-box-align:center

  1. .seven{
  2. width:90px;
  3. height:90px;
  4. display:-webkit-box;
  5. -webkit-box-pack:center;
  6. -webkit-box-align:center;
  7. background:yellow;
  8. color:black;
  9. }

8,使用css3的新属性transform:translate(x,y)属性

  1. .eight{
  2. position:absolute;
  3. width:80px;
  4. height:80px;
  5. top:50%;
  6. left:50%;
  7. transform:translate(-50%,-50%);
  8. -webkit-transform:translate(-50%,-50%);
  9. -moz-transform:translate(-50%,-50%);
  10. -ms-transform:translate(-50%,-50%);
  11. background:green;
  12. }

这个方法可以不需要设定固定的宽高,在移动端用的会比较多,在移动端css3兼容的比较好

9、最高大上的一种,使用:before元素

  1. .nine{
  2. position:fixed;
  3. display:block;
  4. top:;
  5. right:;
  6. bottom:;
  7. left:;
  8. text-align:center;
  9. background:rgba(0,0,0,.5);
  10. }
  11. .nine:before{
  12. content:'';
  13. display:inline-block;
  14. vertical-align:middle;
  15. height:100%;
  16. }
  17. .nine .content{
  18. display:inline-block;
  19. vertical-align:middle;
  20. width:60px;
  21. height:60px;
  22. line-height:60px;
  23. color:red;
  24. background:yellow;
  25. }

这种方法在我的前面一片文章有详细的介绍:http://www.cnblogs.com/White-Quality/p/4530867.html

css中常用的几种居中方法的更多相关文章

  1. python中常用的九种预处理方法

    本文总结的是我们大家在python中常见的数据预处理方法,以下通过sklearn的preprocessing模块来介绍; 1. 标准化(Standardization or Mean Removal ...

  2. css中常用的七种三栏布局技巧总结

    三栏布局,顾名思义就是两边固定,中间自适应.三栏布局在开发十分常见,那么什么是三栏布局?例如当当网首页边商品导航和右边导航固定宽度,中间的主要内容随浏览器宽度自适应.效果如下图所示: 下面围绕的这样的 ...

  3. python中常用的九种数据预处理方法分享

    Spyder   Ctrl + 4/5: 块注释/块反注释 本文总结的是我们大家在python中常见的数据预处理方法,以下通过sklearn的preprocessing模块来介绍; 1. 标准化(St ...

  4. .NET中常用的几种解析JSON方法

    一.基本概念 json是什么? JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是一种轻量级的数据交换格式,是存储和交换文本信息的语法. ...

  5. C#中常用的几种读取XML文件的方法

    1.C#中常用的几种读取XML文件的方法:http://blog.csdn.net/tiemufeng1122/article/details/6723764/

  6. iOS中常用的四种数据持久化方法简介

    iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 ...

  7. 【原】实时渲染中常用的几种Rendering Path

    [原]实时渲染中常用的几种Rendering Path 本文转载请注明出处 —— polobymulberry-博客园 本文为我的图形学大作业的论文部分,介绍了一些Rendering Path,比较简 ...

  8. 【转载】Python编程中常用的12种基础知识总结

    Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进 ...

  9. Python编程中常用的12种基础知识总结

    原地址:http://blog.jobbole.com/48541/ Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时 ...

随机推荐

  1. springboot 学习笔记(一)

    引子 最近在搞一个项目,走在科技前沿的师兄, 摒弃了公司老套的框架模式, 采用了springboot搭建新应用.看到如此简洁的代码 , 深受诱惑.趁周末闲余之时, 背晒阳光, 学起了springboo ...

  2. C#完成超酷的图像效果 (附demo)

    如果您觉得C#制作的艺术字比较好玩, 但是还觉得没看够,不过瘾,那么我今天就让您一饱眼福, 看看C#如何制作的效果超酷的图像. (注: 我之前曾写过类似的文章, 但没有原理说明, 代码注释不够详细, ...

  3. APK扩展文件及使用

    转自:http://blog.csdn.net/myarrow/article/details/7760579 一.APK扩展文件基本知识 Android Market (Google Play St ...

  4. PL/pgSQL RETURNS TABLE 例子

    实验如下: RETURNS TABLE 中的变量名和SQL文中的变量名同名时,执行时会出错: pgsql=# create table sales(itemno integer,quantity in ...

  5. hdu 1839 Delay Constrained Maximum Capacity Path 二分/最短路

    Delay Constrained Maximum Capacity Path Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu. ...

  6. java生成汉字验证码

    java实现的汉字输入验证码,主要包含两个类,一个是生成验证码,一个是判断验证码输入是否正确,实现原理非常简单,将汉字和干扰线生成图片并将汉字保存到session,前台获取每次生成验证码图片并用文本框 ...

  7. Java中static、final用法小结

    一.final 1.final变量: 当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引 ...

  8. linux shell “(())” 双括号运算符使用

    导读 在刚开始学习inux shell脚本编程时候,对于它的 四则运算以及逻辑运算.估计很多朋友都感觉比较难以接受.特变逻辑运算符"[]"使用时候,必须保证运算符与算数 之间有空格 ...

  9. 项目源码--Android聚合视频类播放器

    下载源码 技术要点:  1.高效支持主流的视音频格式 2.本地视频的播放与管理 3.聚合电视在线直播 4.聚合优酷.搜狐.乐视.爱奇艺等多种在线视频 5.优质播放,包含播放.暂停,声音.亮度调整等功能 ...

  10. Booting ARM Linux

    来源:linux-2.6.30.4/Documentation/arm/Booting ARM Linux Booting ARM Linux            ================= ...