简单总结一下常用的水平垂直居中方案

直接在父级元素设置 text-alignline-height ,针对未浮动的行内元素

 <div class="box">
<span class="item">我是span标签</span>
</div>
 .box {
width: 600px;
height: 400px;
margin: 50px auto;
border: 1px solid red; line-height: 400px;
text-align: center;
}

在父级设置 line-height ,在本身设置 margin 值和 transform 属性,针对已浮动的行内元素

 .item {
float: left;
margin-left: 50%;
transform: translateX(-50%);
}

  

通过定位,这种方案是比较常用的手段,不区分是否浮动,前提是父级有宽高。

  块级元素在父级设置 position: relative;

 .box {
width: 600px;
height: 400px;
margin: 50px auto;
border: 1px solid red;
position: relative;
}

  在本身设置 position: absolute;

 .item {
display: block;
width: 100px;
height: 100px;
color: white;
background: #000; /* 方案一 */
position: absolute;
left: 50%;
top: 50%;
margin-left: -50px; /* 值为本身宽度的一半 */
margin-top: -50px; /* 值为本身高度的一半 */
/* transform: translate(-50%, -50%); 可以代替margin,IE9以下不支持 */ /* 方案二 */
top:;
left:;
bottom:;
right:;
margin: auto;
}

  

  行内元素,父级设置和上面一样,本身设置如下:

 .item {
position: absolute;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}

推荐方案:flex布局

 .box {
width: 600px;
height: 400px;
margin: 50px auto;
border: 1px solid red; display: flex;
justify-content: center;
align-items: center;
}

[CSS]水平垂直居中方案的更多相关文章

  1. css 水平垂直居中总结

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

  2. 水平垂直居中方案与flexbox布局

    [前端攻略]最全面的水平垂直居中方案与flexbox布局   最近又遇到许多垂直居中的问题,这是Css布局当中十分常见的一个问题,诸如定长定宽或不定长宽的各类容器的垂直居中,其实都有很多种解决方案.而 ...

  3. CSS水平垂直居中常见方法总结

    1.元素水平居中 当然最好使的是: margin: 0 auto; 居中不好使的原因: 1.元素没有设置宽度,没有宽度怎么居中嘛! 2.设置了宽度依然不好使,你设置的是行内元素吧,行内元素和块元素的区 ...

  4. CSS水平垂直居中总结

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

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

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

  6. css水平垂直居中对齐方式

    1.文字或者内联元素的垂直水平居中对齐 css属性 -- 水平居中:text-aligin:center; 垂直居中: line-height:height; 例子:. html: <div c ...

  7. 【前端攻略】最全面的水平垂直居中方案与flexbox布局

    最近又遇到许多垂直居中的问题,这是Css布局当中十分常见的一个问题,诸如定长定宽或不定长宽的各类容器的垂直居中,其实都有很多种解决方案.而且在Css3的flexbox出现之后,解决各类居中问题变得更加 ...

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

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

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

    直接进入主题! 一.脱离文档流元素的居中 方法一:margin:auto法 CSS代码: div{ width: 400px; height: 400px; position: relative; b ...

随机推荐

  1. 多进程之multiprocessing模块、守护进程、互斥锁

    目录 1. multiprocessing 模块介绍 2. Process类的介绍 3. Process类的使用 4. 守护进程 5. 进程同步(锁) 1. multiprocessing 模块介绍 ...

  2. 使用c#调用API入门

    使用C#调用windows API入门 一:入门,直接从 C# 调用 DLL 导出   其实我们的议题应该叫做C#如何直接调用非托管代码,通常有2种方法: 1.  直接调用从 DLL 导出的函数. 2 ...

  3. pwn之偏移量offset

    0x7fffffffdd00: 0x4141414141414141 0x4141414141414141 0x7fffffffdd10: 0x4141414141414141 0x414141414 ...

  4. java并发初探ConcurrentHashMap

    java并发初探ConcurrentHashMap Doug Lea在java并发上创造了不可磨灭的功劳,ConcurrentHashMap体现这位大师的非凡能力. 1.8中ConcurrentHas ...

  5. stm32CubeMx工程使用GCC编译

    软件: STM32CubeMx 5.0 GCC编译器 STM32 ST Link Utility 下载器:ST Link V2 1  安装gcc编译器 能编译ARM Cortex M核的GCC编译器下 ...

  6. MySQL更新时间

    Mysql时间加减函数为date_add().date_sub()定义和用法DATE_ADD() 函数向日期添加指定的时间间隔.DATE_SUB() 函数向日期减少指定的时间间隔.语法DATE_ADD ...

  7. 仿照Android标准API写的各种形式的弹出框

    strings.xml: <?xml version="1.0" encoding="utf-8"?> <resources> < ...

  8. @Controller 和 @RestController 的区别

    @Controller和@RestController的区别? 官方文档:@RestController is a stereotype annotation that combines @Respo ...

  9. SciPy 安装

    章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...

  10. Linux:Shell-Bash基本功能

    1.历史命令 history [选项] [历史命令保存文件] 选项:-c  清空历史命令 -w 把缓存中的历史命令写入历史命令保存文件 ~/.bash_history 历史命令默认保存1000条,可以 ...