html部分
<div class="parent">
<div class="child">
- -居中- -
</div>
</div>
  css部分

一、text-align:center;vertical-align:middde 实现

    .parent{
width: 400px;
height:400px;
background:#666666;
text-align: center;
font-size: 0px;
}
.child{
font-size: 16px;
background: #ccc;
display: inline-block;
vertical-align: middle;
}
.parent:after{
content: '';
width:;
height: 100%;
display: inline-block;
vertical-align: middle;
}
/* .add{
width: 0;
height: 100%;
display: inline-block;
vertical-align: middle;
}*/

  也可不用伪元素after,在child的div后面写一个span  class为add的标签。

  font-size:0px;解决当child元素内的字超过一行 垂直居中失效问题。

二 、 display:table-cell 实现

    .parent{
width: 400px;
height:400px;
background:#666666;
display: table-cell;
text-align: center;
vertical-align: middle;
}
.child{
background: #cccccc;
display: inline-block;
}

   转化为table元素。

三 、定位 top left right bottom margin:auto 实现

    .parent{
width: 400px;
height:400px;
background:#666666;
position: relative;
}
.child{
width: 100px;
height: 100px;
position: absolute;
top: 0px;
left: 0px;
right: 0px;
bottom:0px;
margin: auto;
background: #ccc;
}

  子元素需设宽高,如果不设会和父元素同宽高。

四、定位 top left margin实现

    .parent{
width: 400px;
height:400px;
background:#666666;
position: relative;
}
.child{
width: 100px;
height: 100px;
background: #cccccc;
position: absolute;
top: 50%;
left: 50%;
margin-left:-50px;
margin-top: -50px;
}

  定位后 child的左上角在父元素的正中央,需要改变child的位置,让child和parent中心点在同一位置。

五、定位和css3 transfrom 实现

    .parent{
width: 400px;
height:400px;
background:#666666;
position: relative; }
.child{
background: #cccccc;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}

  translate(x,y) 的50%相对于自身来计算。

六、display:flex 弹性盒 实现

    .parent{
width: 400px;
height:400px;
background:#666666;
display: flex;
justify-content: center;
align-items: center;
}
.child{
background: #cccccc;
}

  默认flex-direction:row;是水平排列,

    justify-content是主轴方向,此时相当于是X轴。

    align-items:center;是交叉轴方向,此时相当于是Y轴。

  若设置flex-direction:column;为竖直排列,

    justify-content为Y轴,align-items为X轴。

display:-webkit-box!important;
overflow:hidden;
text-overflow:ellipsis;
-webkit-box-orient:vertical;
-webkit-line-clamp:3;

css 元素水平垂直方向居中的更多相关文章

  1. css3-7 如何让页面元素水平垂直都居中(元素定位要用css定位属性)

    css3-7 如何让页面元素水平垂直都居中(元素定位要用css定位属性) 一.总结 一句话总结:元素定位要用css定位属性,而且一般脱离文档流更加好操作.先设置为绝对定位,上左都50%,然后margi ...

  2. CSS实现水平垂直同时居中的5种思路

    × 目录 [1]水平对齐+行高 [2]水平+垂直对齐 [3]margin+垂直对齐[4]absolute[5]flex 前面的话 水平居中和垂直居中已经单独介绍过,本文将介绍水平垂直同时居中的5种思路 ...

  3. CSS实现水平垂直同时居中的6种思路

    前面的话 水平居中和垂直居中已经单独介绍过,本文将介绍水平垂直同时居中的6种思路 水平对齐+行高 [思路一]text-align + line-height实现单行文本水平垂直居中 <style ...

  4. CSS 各类 块级元素 行级元素 水平 垂直 居中问题

    元素的居中问题是每个初学者碰到的第一个大问题,在此我总结了下各种块级 行级 水平 垂直 的居中方法,并尽量给出代码实例. 首先请先明白块级元素和行级元素的区别 行级元素 一块级元素 1 水平居中: ( ...

  5. 小div在大div里面水平垂直都居中的实现方法

    关于如何设置小盒子在大盒子里面水平垂直方向同时居中的实现方法有很多种,下面仅列举了常用的几种. 首先看一下要实现的效果图及对应的html代码: <div class="parent&q ...

  6. CSS 布局 - 水平 & 垂直对齐

    CSS 布局 - 水平 & 垂直对齐 一.元素居中对齐 要水平居中对齐一个元素(如 <div>), 可以使用 margin: auto;. 设置到元素的宽度将防止它溢出到容器的边缘 ...

  7. CSS:CSS 布局 - 水平 & 垂直对齐

    ylbtech-CSS:CSS 布局 - 水平 & 垂直对齐 1.返回顶部 1. CSS 布局 - 水平 & 垂直对齐 水平 & 垂直居中对齐 元素居中对齐 要水平居中对齐一个 ...

  8. Android RecyclerView(瀑布流)水平/垂直方向分割线

     Android RecyclerView(瀑布流)水平/垂直方向分割线 Android RecyclerView不像过去的ListView那样随意的设置水平方向的分割线,如果要实现Recycle ...

  9. CSS元素水平垂直居中方法总结(主要对大漠以及张鑫旭博客所述方法进行了归纳)

    本文主要是对主流居中方法进行了归纳,有些地方甚至就是把别人的代码直接复制过来的,没有什么自己的东西,除了大漠以及张鑫旭的方法外,还有来自司徒正美.怿飞博客的几个方法 以下方法,由于测试环境的原因,IE ...

随机推荐

  1. iOS:通信录(完成)(18-01-18更)

    1.读取通信录 1).9.0以前:AddressBook 2).9.0以后:Contacts 2.调用通信录UI(不弄) 1).9.0以前:AddressBookUI 2).9.0以后:Contact ...

  2. WebGl 一个缓冲区传递颜色和坐标(矩形)

    效果: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  3. Ajax与Xml

    Ajax就是用javascript来实现的 主要是用来实现页面的局部刷新,比如当你在百度上回答别人的问题时候,没有登录,页面会弹出一个窗口,让你输入账号和密码,这就是利用ajax来做的,如果不是aja ...

  4. 自定义loading效果

    结合Font Awesome字体图标自定义loading效果 Font Awesome字体图标地址:http://www.fontawesome.com.cn/faicons/ 使用javascrip ...

  5. Bootstrap04

    Bootstrap04概述 一.输入框组 1.左侧添加文字 <div class="input-group"> <span class="input-g ...

  6. HTML5常用标签及特殊字符表

    *http://html5doctor.com/nav*http://html5doctor.com/article*http://html5doctor.com/section*http://htm ...

  7. Oracle——系统数据字典常用命令(查看表所属空间层目录等)

    发生背景: 项目前后台交互对接时候,经常存在对底层表蒙圈情况尤其是oracle数据库,所在层级不同会导致操作对象直接的改变,从而发生意向不到的事情:很多时候需要了解我们所操作对象所处的层级等相关信息, ...

  8. Office 365部分安装及同时安装Visio的方法

    From MWeb Win版本的Office 365安装包默认安装所有组件,没有选择的页面,在安装Office 365后再安装下载的Visio 2016专业版时,会显示计算机上已经安装了即插即用Off ...

  9. android studio 调试技巧(简直太好用)

    android studio 调试技巧(简直太好用) 说到android studio的调试,很多人可能会说,这有什么可讲的不就是一个断点调试么,刚开始我也是这么认为的,直到我了解之后,才发现,调试原 ...

  10. Linux入门第四天——shell基础

    一.shell概述 1.概述 命令行解释器(壳,也就是我们的操作界面),计算机只认识0101的二进制,我们需要通过ASCII表来进行翻译 较为官方的解释是: Shell 是一个用 C 语言编写的程序, ...