本人是前端的新人,这是第一次写技术博客,各位大大,本文有错误请指正,手中的板砖尽量轻拍,我怕疼~~

对于水平居中和垂直居中我也用过很多方法,但是有的时候管用有的时候又嗝屁不好使了。涉及到的情况很多,所以想细细的研究一番。隐隐感觉到前端的水好深~~

   <div class="box-wrap">
<div class="box">
我要居中
</div>
</div>

一、水平居中 
1、text-align: center. 
这个大家一般都用过,我就稍微扯一点:只要父级的div设置了这个属性,里面的文字就会居中(包括图片),这个属性只对行内元素起作用。如果想要居中的是块级元素,它就无能为力了,要么把这个块级元素display: inline-block;要么换另一种方法。

.box-wrap {
text-align: center;
}
.box {
display:inline-block;
}

要点:要居中的必须是行内元素才有作用

2、margin: 0 auto; 
这个算是一个大招了,想让谁居中,就给谁设置上这个属性,左右居中妥了。即使父级使用了绝对定位或者相对定位,也是妥妥的好使。但是啊但是,你必须给这个要居中的家伙加上宽度width,否则白瞎。

.box {
margin: 0 auto;
width: 100px;
}

要点: 
1、必须给要居中的元素设置宽度 
2、这个家伙不能是浮动元素,否则居中失效 
3、没有声明DOCTYPE会导致居中失效

3、绝对定位法(左右+垂直居中) 
要居中的元素给绝对定位,给相对于要居中的父级相对定位。具体看下面的代码。 
重点是设置的margin负值。因为不给margin负值前居中的并不是子级这个整体,而是子级的上侧和左侧相交的那一点。所以要设置负值,往回拉一半。

.box-wrap {
width: 1000px;
position: relitive;/* 为了不让你要居中的元素被定位到外太空去,这个一定要设置。 */
}
.box {
width: 200px;
height: 200px;
position: absotion;
top: 50%;
left: 50%;
margin-top: -100px;/* 数值为高度的一半 */
margin-left: -100px;/* 数值为宽度的一半 */
}

4、另类绝对定位(左右+垂直居中)

  .box-wrap {
width: 1000px;
height: 600px;
position: relative;
background: blue;
}
.box {
width: 80%;
height: 10%;
position: absolute;
top:;
left:;
bottom:;
right:;
margin: auto;
background: orange;
}

要点:ie8及ie8以下无效

大家测试的时候给各级元素加上background或者border会比较方便。//新手之言,有错轻拍 
除了上面的这些还有其他的CSS奇淫技巧,就不一一说了,有兴趣的可以自己去收集下。

css左右居中的几种常见方法的更多相关文章

  1. Python爬虫突破封禁的6种常见方法

    转 Python爬虫突破封禁的6种常见方法 2016年08月17日 22:36:59 阅读数:37936 在互联网上进行自动数据采集(抓取)这件事和互联网存在的时间差不多一样长.今天大众好像更倾向于用 ...

  2. jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)

    在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. [WebMethod] public static string SayHe ...

  3. JS数组去重的几种常见方法

    JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ ...

  4. JS去重的几种常见方法

    JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ ...

  5. CSS当中color的四种表示方法

    这是我的第一篇博客,所以写的东西会比较简单. css当中,好多地方都会用到color属性,用来使html内容丰富多彩,例如:background-color:border-color: 第一种表示法使 ...

  6. CSS上下左右居中的几种方法

    1.absolute,margin: auto .container { position: relative; } .content { position: absolute; margin: au ...

  7. html笔记04:在html之中导入css两种常见方法

    1.导入式: <html> <head> <title></title> <style type="text/css"> ...

  8. 得到内网域管理员的5种常见方法<转>

    1.Netbios and LLMNR Name Poisoning 这个方法在WIN工作组下渗透很有用,WIN的请求查询顺序是下面三个步骤:本地hosts文件(%windir%\System32\d ...

  9. html中设置锚点定位的几种常见方法(#号定位)

    在html中设置锚点定位我知道的有几种方法,在此和大家分享一下: 1.使用id定位: <a href="#1F">锚点1</a> <div id=&q ...

随机推荐

  1. SQL系统数据库简介(mssqlsystemresource)

    mssqlsystemresource

  2. Vigenère密码

    来源  NOIP2012复赛 提高组 第一题 描述 16世纪法国外交家Blaise de Vigenère设计了一种多表密码加密算法--Vigenère密码.Vigenère密码的加密解密算法简单易用 ...

  3. [PHP] - Laravel 5 的 Hello Wold

    吐槽一段 整了半天,Laravel下载麻烦得可以去死.先要安装composer,而composer又被共墙了,之后又要安装git,安装完git还要注册git,等等.... 最终放弃这种玩法,太恶心了. ...

  4. Delphi、C C++、Visual Basic数据类型的对照 转

    Delphi.C C++.Visual  Basic数据类型的对照 变量类型 Delphi C/C++ Visual Basic 位有符号整数 ShortInt char -- 位无符号整数 Byte ...

  5. bzoj4730: Alice和Bob又在玩游戏

    Description Alice和Bob在玩游戏.有n个节点,m条边(0<=m<=n-1),构成若干棵有根树,每棵树的根节点是该连通块内编号最 小的点.Alice和Bob轮流操作,每回合 ...

  6. java.lang.ClassCastException: com.bjsxt.registration.model.User_$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy

    1.懒加载 因为此时用的load懒加载机制,到jsp页面在发送sql语句的时候session已经关闭了.所以会报以上错.可以添加过滤器,使session在请求响应完成后再关闭. 过滤器要配置在stru ...

  7. 带无缝滚动的轮播图(含JS运动框架)

    今天学习了一下轮播图的写作,想到前一阵学过的无缝滚动得思想,所以就把轮播与滚动结合了一下.不过我的代码的神逻辑我自己都不敢恭维,在没网没参照的情况下,只能硬着头皮往下写,希望跟大家共勉吧. js运动框 ...

  8. 初探jquery之强大丰富的选择器

    ---恢复内容开始--- 1.基本选择器 常用的有id选择器:#id,   类选择器:.class , 元素选择器. 2.层次选择器 $(ancestor descendant):选取ancestor ...

  9. socket listen参数中的backlog 的意义!

    服务器监听时,在每次处理一个客户端的连接时是需要一定时间的,这个时间非常的短(也许只有1ms 或者还不到),但这个时间还是存在的.而这个backlog 存在的意义就是:在这段时间里面除了第一个连接请求 ...

  10. C#中属性与字段的用法

    //People.cs public class People { //字段 private string _name; //属性 作用:保护字段,对字段的取值和赋值进行限定,限制非法字段的摄入 pu ...