前端小白进阶之路-技巧篇(垂直水平居中)

在前端布局中居中方式可以说是家常便饭,几乎所有地方都需要用到他,我们常见的就是水平居中和垂直居中。今天小编带大家就看看常用到的这些居中方式都有哪些实现方式。

水平居中:水平居中就是为了让子元素在父元素中排列在水平中心位置,实现方式很多,我们看几种常用的。

  1. 使用display:inline-block和text-align:center

原理就是将子容器设置为行内块元素,然后给父容器设置让文字居中的属性以达到目的。

缺点就是里面文字都会居中,可单独设置样式来解决。

  1. 使用display:table和margin:0 auto

原理就是先将子容器设置为块级表格来显示,然后设置居中来实现。缺点就是不兼容ie低版本浏览器。

在这里小编建了一个前端学习交流扣扣群:132667127,我自己整理的最新的前端资料和高级开发教程,如果有想需要的,可以加群一起学习交流

  1. 使用position:absolute和transform

原理就是先将子容器设置为相对定位,移动左侧距离为相对宽度的一半,这样会使整个容器的左侧在一半的线的位置,看起来靠右了,我们需要再通过向左移动子容器的一半来达到目的。

缺点就是transform属于css3内容,存在浏览器兼容问题。可以将transform换成margin-left设置自身宽度一半达到相同的目的。

  1. 使用flex和margin

原理就是通过css3布局属性flex将子容器转换为flex item情况,然后设置子容器居中即可。

缺点就是css3属性,有浏览器兼容问题。

  1. 使用flex和justify-content

原理就是通过css3布局属性flex将子容器转换为flex item情况,然后通过justify-content

属性来达到居中。这种方式需要给父容器设置这两种属性。

缺点就是css3属性,有浏览器兼容问题。

垂直居中:垂直居中就是为了让子元素在父元素中排列在垂直中心位置,实现方式很多,我们看几种常用的。

  1. 使用display:table-cell和vertical-align:middle

原理就是通过将父容器转换为一个表格单元格来显示,再通过将表格单元格内容垂直居中。

使用时需要将两种属性都设置到父容器身上。

  1. 使用position:absolute和transform

原理类似于水平居中,就是先将子容器设置为相对定位,移动顶部距离为相对高度的一半,这样会使整个容器的顶部在一半的线的位置,看起来靠下了,我们需要再通过向上移动子容器的一半来达到目的。

缺点就是css3属性,有浏览器兼容问题。可以将transform换成margin-top设置自身高度一半达到相同的目的。

  1. 使用flex和align-items

原理就是通过css3布局属性flex将子容器转换为flex item情况,然后通过align-items

属性来达到居中。这种方式需要给父容器设置这两种属性。

缺点就是css3属性,有浏览器兼容问题。

而关于水平垂直同时居中的话有了以上两种方式难道还怕出不来吗,只是需要稍稍结合一下即可,比如以下常见结合使用:

  1. 使用absolute和transform
  2. 使用flex和justify-content和align-items
  3. 使用inline-block和text-align和table-cell和vertical-align

原文地址:https://blog.51cto.com/14447253/2426363

时间: 2024-10-20 04:20:30

前端小白进阶之路-技巧篇(垂直水平居中)的相关文章

移动前端工作的那些事---前端制作之微信小技巧篇

移动前端工作的那些事---前端制作之微信小技巧篇_WebApp赵海洋_新浪博客 移动前端工作的那些事---前端制作之微信小技巧篇 (2013-11-15 15:20:47) 转载▼移动前端工作的那些事---前端制作之微信小技巧篇,布布扣,bubuko.com

财会小白进阶之路:如何在数字化财务时代成为行业大牛?

随着云技术.流程机器人.认知计算等创新型技术向财务领域不断的深入,其在带来组织架构.人员及管理变革的同时,也不禁引起了财会.税务.审计等人员的困惑,在以机器人技术为牵引的数字化财务时代下,财会人员该如何获得核心竞争力,成为行业大牛? 财会工作采用自动化是种必然会计工作的本质决定了其最终会采用自动化的这种方式.人们对会计的需求,实质上是对经济信息的需求.故在某种程度上,也可认为会计是信息工作的一个分支.在处理数据信息的工作上,无论从速度抑或准确度,人工的效果永远赶不上软件机器人这类自动化设备.因此

小白进阶之路-python格式化输出

1.不使用格式化前:传值时比较麻烦而且不精确. 2.格式化输出后,%代表先占个位,s代表字符串,%s代表这里之后会传一个字符串类型的值,%s其实可以接受任意类型的值:%d传入的值要求必须是数字. %s格式化输出 %d传入的值要求必须是数字. 传入的必须是数字,当传入的不是数字而是字符串的时候时报错: 传入的是数字的时候: 练习:用户输入姓名.年龄.性别.工作,然后打印成以下的格式 name:sisi age:4 sex:female job:ziyou 原文地址:https://www.cnbl

前端工程师的进阶之路

这篇文章收藏在笔记里面有几年了,原文作者无从考究了,侵删! 最近再翻出来看,依然觉得受益匪浅.这次整理分享出来,希望对大家有所启示. 背景 如果你是刚进入WEB前端研发领域,想试试这潭水有多深,看这篇文章吧: 如果你是做了两三年WEB产品前端研发,迷茫找不着提高之路,看这篇文章吧: 如果你是四五年的前端开发高手,没有难题能难得住你的寂寞高手,来看这篇文章吧. 前言 所谓的天才,只不过是比平常人更快的掌握技能.完成工作罢了:只要你找到了正确的方向,并辅以足够的时间,你一样能够踏上成功彼岸. 本文将

零基础Python学习路线,小白的进阶之路!

近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多.一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学习路线图.对于一个零基础的想学习python的朋友来说,学习方法很重要, 学习方法不对努力白费 一定要有一个正确的学习线路与方法零基础Python学习路线,小白的进阶之路!零基础Python学习路线,小白的进阶之路!必学知识:[Linux基础][Python基础语法][Python字符串][文件操作

【SSH进阶之路】Hibernate系列——总结篇(九)

这篇博文是Hibernate系列的最后一篇,既然是最后一篇,我们就应该进行一下从头到尾,整体上的总结,将这个系列的内容融会贯通. 概念 Hibernate是一个对象关系映射框架,当然从分层的角度看,我们也说它是数据持久层的框架. 我们从上一句话可以看出Hibernate的核心:面向对象.关系映射以及数据持久化.前面两个概念很容易理解,而对于"数据持久化",就是将数据或者某物体,永久的保存起来.现实生活中的例子有很多,例如:鲜肉冷藏,水果做成罐头,而对于编程而言就是将数据保存在文件或磁盘

Sass进阶之路,之一(基础篇)

Sass 学习Sass之前,应该要知道css预处理器这个东西,css预处理器是什么呢? Css预处理器定义了一种新的语言将Css作为目标生成文件,然后开发者就只要使用这种语言进行编码工作了.预处理器通常可以实现浏览器兼容,变量,结构体等功能,代码更加简洁易于维护. 那么css预处理器与Sass有什么关系呢,Sass就是属于css预处理器中的一种,还有两款他们分别是Less和 Stylus,这里就不做过多的介绍了. 什么是Sass sass是一种css的开发工具,提供了很多便利的写法,不但使css

【SSH进阶之路】一步步重构MVC实现Struts框架——封装业务逻辑和跳转路径(四)

目录: [SSH进阶之路]Struts基本原理 + 实现简单登录(二) [SSH进阶之路]一步步重构MVC实现Struts框架--从一个简单MVC开始(三) [SSH进阶之路]一步步重构MVC实现Struts框架--封装业务逻辑和跳转路径(四) [SSH进阶之路]一步步重构MVC实现Struts框架--彻底去掉逻辑判断(五) [SSH进阶之路]一步步重构MVC实现Struts框架--完善转向页面,大功告成(六) Struts的第二篇博客[SSH进阶之路]Struts基本原理 + 实现简单登录(二

【SSH进阶之路】Hibernate映射——一对一单向关联映射(五)

[SSH进阶之路]Hibernate基本原理(一) ,小编介绍了Hibernate的基本原理以及它的核心,采用对象化的思维操作关系型数据库. [SSH进阶之路]Hibernate搭建开发环境+简单实例(二),小编搭建了基本Hibernate的开发环境,并做了一个简单实例,对它的基本原理有了一个理性的认识. [SSH进阶之路]Hibernate基本映射(三),我们介绍了Hibernate的基本映射(即对一个实体进行映射)的相关概念,并给大家实现相关实例,比较简单. [SSH进阶之路]Hiberna