html部分
  1. <div class="parent">
  2. <div class="child">
  3. - -居中- -
  4. </div>
  5. </div>
  css部分

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

  1. .parent{
  2. width: 400px;
  3. height:400px;
  4. background:#666666;
  5. text-align: center;
  6. font-size: 0px;
  7. }
  8. .child{
  9. font-size: 16px;
  10. background: #ccc;
  11. display: inline-block;
  12. vertical-align: middle;
  13. }
  14. .parent:after{
  15. content: '';
  16. width:;
  17. height: 100%;
  18. display: inline-block;
  19. vertical-align: middle;
  20. }
  21. /* .add{
  22. width: 0;
  23. height: 100%;
  24. display: inline-block;
  25. vertical-align: middle;
  26. }*/

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

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

二 、 display:table-cell 实现

  1. .parent{
  2. width: 400px;
  3. height:400px;
  4. background:#666666;
  5. display: table-cell;
  6. text-align: center;
  7. vertical-align: middle;
  8. }
  9. .child{
  10. background: #cccccc;
  11. display: inline-block;
  12. }

   转化为table元素。

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

  1. .parent{
  2. width: 400px;
  3. height:400px;
  4. background:#666666;
  5. position: relative;
  6. }
  7. .child{
  8. width: 100px;
  9. height: 100px;
  10. position: absolute;
  11. top: 0px;
  12. left: 0px;
  13. right: 0px;
  14. bottom:0px;
  15. margin: auto;
  16. background: #ccc;
  17. }

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

四、定位 top left margin实现

  1. .parent{
  2. width: 400px;
  3. height:400px;
  4. background:#666666;
  5. position: relative;
  6. }
  7. .child{
  8. width: 100px;
  9. height: 100px;
  10. background: #cccccc;
  11. position: absolute;
  12. top: 50%;
  13. left: 50%;
  14. margin-left:-50px;
  15. margin-top: -50px;
  16. }

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

五、定位和css3 transfrom 实现

  1. .parent{
  2. width: 400px;
  3. height:400px;
  4. background:#666666;
  5. position: relative;
  6.  
  7. }
  8. .child{
  9. background: #cccccc;
  10. position: absolute;
  11. top: 50%;
  12. left: 50%;
  13. transform: translate(-50%,-50%);
  14. }

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

六、display:flex 弹性盒 实现

  1. .parent{
  2. width: 400px;
  3. height:400px;
  4. background:#666666;
  5. display: flex;
  6. justify-content: center;
  7. align-items: center;
  8. }
  9. .child{
  10. background: #cccccc;
  11. }

  默认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. MySQL Workbench 6.3CE 菜单汉化 xml

    找了很多 CSDN都要积分 直接自己搞了个 MySQL8.0亲测可以 https://pan.baidu.com/s/1Mwbye2tUj2u3RMdR_oW7rQ

  2. 用JavaScript获取URL参数的方法之一

    若地址栏URL为:abc.html?m=tomms&c=allsearchlist&pageNo=1&pageNum=20&text=1 <script> ...

  3. SDL2 undefined reference to `SDL_Init' 问题

    我在使用SDL2的时候,遇到undefined reference to `SDL_Init'的问题,只要使用SDL2相关的函数,就会报函数未定义.后来百度到一篇文章https://blog.csdn ...

  4. Python中读取文件输出时在头部输出\ufeff

    问题出现: 在我测试python中的文本文件的读取与写入时,用到了字典对象来存储读出的数据. std_data = dict() with open(sys.argv[1], encoding='UT ...

  5. iOS通过切片仿断点机制上传文件

    项目开发中,有时候我们需要将本地的文件上传到服务器,简单的几张图片还好,但是针对iPhone里面的视频文件进行上传,为了用户体验,我们有必要实现断点上传.其实也不是真的断点,这里我们只是模仿断点机制. ...

  6. git pull 发生冲突解决办法

    冲突原因:远程仓库的同一个文件的代码,和本地的文件代码不一样 解决办法 : 1.git stash (把本地冲突的代码隐藏) 2.git pull 3.git stash pop (将隐藏的和pull ...

  7. 领扣-两数之和-Python实现

    领扣每日一题 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个 ...

  8. day11迭代器 and 闭包

    函数名的使⽤以及第一类对象 函数名是一个变量, 但它是一个特殊的变量, 与括号配合可以执行函数的变量. 函数名就是变量名, 函数名存储的是函数的内存地址 函数名可以赋值给其他变量 函数名可以当做容器类 ...

  9. BurpSuite—-Target模块(目标模块)

    Target功能 目标工具包含了SiteMap,用你的目标应用程序的详细信息.它可以让你定义哪些对象在范围上为你目前的工作,也可以让你手动测试漏洞的过程,Target分为site map和scope两 ...

  10. 20155220java实验二 面向对象程序设计 实验报告

    一.实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步骤 (一)单元测试 (1) 三种代码 伪代码 产 ...