水平居中

水平居中的页面布局中最为常见的一种布局形式,多出现于标题,以及内容区域的组织形式,下面介绍四种实现水平居中的方法(注:下面各个实例中实现的是child元素的对齐操作,child元素的父容器是parent元素)

使用inline-block和text-align实现

.parnen{text-align:center;
}
.child{display:inline-block;
}优点:兼容性好;
不足:需要同时设置子元素和父元素;

使用margin:0 auto来实现

.child{width:200px;margin:0 auto;优点:兼容性好;
缺点:需要指定宽度;
}

使用table实现

.child{display:table;margin:0 auto;优点:只需要对自身进行设置;
缺点:IE6,7需要调整结构;
}

使用绝对定位实现

.parent{position:relative;
/*或者使用margin-left的负值为盒子宽度的一半也可以实现,不过这样就必须知道盒子的宽度,但兼容性好*/
}
.child{position:absolute;left:50%;transfrom:translate(-50%);
}不足:兼容性差,IE9以上可用

利用flex布局实现

/*第一种方法*/
.parent{display:flex;justify-content:center;
}
/*第二种方法*/
.parent{display:flex;
}
.child{margin:0 auto;
}不足:兼容性差,如果进行大面积的布局可能会影响效率

垂直居中

vertical-align

我们都知道,每个人都有不同的嗜好,有的人喜欢吃甜食,有的人喜欢吃辣的东西,有的人不喜欢吃芹菜,有的人不喜欢吃羊肉等等。css中的有些元素也是这样,他们有的只对牛奶感兴趣,有的只喜欢吃坚果和果冻,而讨厌牛奶。而vertical-align呢,是个比较挑食的家伙,它只喜欢吃果冻,从小吃果冻长大,没有了果冻,它就会闹脾气,对你不理不睬。我称之为“果冻依赖性元素”,又称之为“inline-block依赖性元素",也就是说,只有一个元素属于inline或是inline-block(table-cell也可以理解为inline-block)水平,其身上的vertical-align属性才会起作用,我对css-vertical-align的一些理解与认识

在使用vertical-align的时候,由于对齐的基线是用行高的基线作为标记,故需要设置line-height或设置display:table-cell;

/*第一种方法*/
.parent{display:table-cell;vertical-align:middle;height:20px;
}
/*第二种方法*/
.parent{display:inline-block;vertical-align:middle;line-height:20px;
}

使用绝对定位

.parent{position:relative;
}
.child{position:absolute;top:50%;transform:translate(0,-50%);
}

使用flex实现

.parent{display:flex;align-items:center;
}

水平垂直全部居中

利用vertical-align。text-align。inline-block实现

.parent{display:table-cell;verticla-align:middle;text-align:center;
}
.child{display:inline-block;
}

利用绝对定位实现

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

利用flex实现

.parent{display:flex;justify-content:center;align-items:center;
}

元素垂直水平居中布局相关推荐

  1. 关于css设置元素垂直水平居中的问题

    第一种: 利用定位属性实现,但需要知道元素的宽高 <div class="box"></div><style>.box{weight:200px ...

  2. android 垂直水平居中对齐,Android开发借助LinearLayout实现垂直水平居中布局

    释放双眼,带上耳机,听听看~! 在Android应用程序的开发中,有时需要限制水平和垂直屏幕的切换,今天这篇文章是技术狗小编为大家整理的Android应用借助LinearLayout实现垂直水平居中布 ...

  3. android设置水平布局,Android开发借助LinearLayout实现垂直水平居中布局

    释放双眼,带上耳机,听听看~! 在Android应用程序的开发中,有时需要限制水平和垂直屏幕的切换,今天这篇文章是技术狗小编为大家整理的Android应用借助LinearLayout实现垂直水平居中布 ...

  4. css面试题实现元素垂直水平居中-包括未知宽高的元素五种回答

    css实现元素垂直水平居中-包括未知宽高的元素 这个一道很经典的面试题,做项目中也常会出现这样的需求. 现在我就用几种比较常用的方法.兼容性也列出来. 第一种已知宽高(定位加负边距解决)兼容到IE6 ...

  5. html body不定宽居中,纯CSS实现元素垂直水平居中-非固定宽度

    这里不讨论行内元素的居中!! 盒子垂直居中+水平居中的需求时经常遇到的,看到的较多实现逻辑是固定content-box的宽度,通过让margin-left和margin-top等于宽或高的负一半来实现 ...

  6. 设置不定宽高的元素垂直水平居中

    1:思路:使用css3 flex布局 优点:简单 快捷 缺点:兼容不好吧,详情见:http://caniuse.com/#search=flex 先看效果 html代码 <div class=' ...

  7. html元素垂直水平居中显示,关于css:html-元素垂直水平居中

    一. 不定宽高元素程度垂直居中 1.transform: translate() 程度垂直居中 .wrapper{ background-color: #eee; height:200px; } .c ...

  8. 前端元素垂直水平居中的多个方法

    创建一个BFC,高度坍塌.居中.margin重合问题均可解决 1. 浮动元素float不为none 2. 绝对定位或固定定位:position:absolute/fixed 3. 行内元素:displ ...

  9. python docx 表格元素垂直水平居中

    doc.tables[0].cell(a, b).vertical_alignment = WD_ALIGN_VERTICAL.CENTER # 垂直居中 doc.tables[0].cell(a, ...

最新文章

  1. 视学AI,这群大学生做了个牛逼的项目!
  2. C语言各类型变量所占的字节数
  3. 关于linux命令的书,关于LINUX命令行(一)
  4. linux 脚本中的push,linux shell之pushd、popd和dirs的使用讲解
  5. [Bugku][Crypto][CTF][2020]Crypto 1-20 write up
  6. suse leap_Ruby程序检查leap年
  7. 小米宣布新一轮组织架构调整,崔宝秋挂帅技术委员会
  8. 雷军振臂一呼:1亿小爱同学激活是不是中国第一?百度硬刚:我才是
  9. 信息系统项目管理--论文分析笔记
  10. 防卒指南:996+健身≈猝死
  11. 笔记本绝密内幕 你不知道的代工秘密
  12. html设置label的字体大小,swift - label 的font 设置 文字字体和大小
  13. 五种典型开发周期模型(瀑布、V、原型化、螺旋、迭代)
  14. qq 表情gif免费下载
  15. 后台管理系统Login 页面(部分)
  16. 使用标准C++ 生成一个循环输出数字格式化前面补零的简单demo
  17. 微信小程序详细图文教程-10分钟完成微信小程序开发部署发布(3元获取腾讯云服务器带小程序支持系统)...
  18. 什么是挂载,Linux挂载如何实现详解
  19. 力扣 2090. 半径为 k 的子数组平均值
  20. Named Entity Recognition without Labelled Data:A Weak Supervision Approach论文详读

热门文章

  1. bash之逻辑控制---for语句
  2. 搭建好看的静态博客(使用Hexo进行搭建)
  3. jitwatch查看JIT后的汇编码
  4. Storm Trident API
  5. Java虚拟机详解02----JVM内存结构
  6. XML在JAVA项目中的作用
  7. Linux 修改 IP地址 和 网关
  8. visual studio 2005,visual studio 2008调出即时窗口
  9. WinCE系统声音定制
  10. WINCE开发更安全可靠设备驱动的最佳实践