米鼠商城

多块好省,买软件就上米鼠网

最新项目

人才服务

靠谱的IT人才垂直招聘平台

CSS水平垂直居中

  • darkalex
  • 5
  • 2019-10-09 23:02

水平居中有margin: 0 auto,但是开发中经常要用到垂直居中,现在来看下平时常用的方法有哪些

一、position + margin 方法

     (也是最常见的,包括相对定位或绝对定位)

二、position + transform 方法(CSS3)

 方法一有个很明显的不足,就是需要提前知道元素的尺寸。否则margin负值的调整无法精确。为此,往往要借助JS获得。

CSS3的兴起,使得有了更好的解决方法,就是使用transform代替margin. transform中translate偏移的百分比值是相对于自身大小的,于是,我们可以:

问题是CSS3的transform,兼容性不好。需要IE9(-ms-), IE10+以及其他现代浏览器才支持。

三、position + margin:auto 方法实现绝对定位元素的居中

margin:auto ,这样的我们一般认为不生效的,至于为什么可用,鑫大神有解释

四、inline-block + vertical-align 方法(不独占一行的块级元素)

直接使用inline-block,其vertical-align不生效,必须使用伪元素,或者插入一个隐藏元素

当然,不用伪元素也行,如下

至于为什么要要伪元素或隐藏的兄弟元素撑开才行呢?我想应该还是inline-block的特性有关,首先inline-block其实还是一个块级元素,只是不独占一行,而vertical-align 、 line-height只行级才有效,所以在wrapper里设置vertical-align和line-height,content没有接收,而当有两个高度不一至的inline-block在一行时,vertical-align才有效。

五、flex 方法(一种简单的垂直居中布局的方法)

据说:Flex 布局将成为未来布局的首选方案

更多Flex布局

 

更多专业前端知识,请上 【猿2048】www.mk2048.com

这里给大家推荐一个在线软件复杂项交易平台:米鼠网 https://www.misuland.com

米鼠网自成立以来一直专注于从事软件项目人才招聘软件商城等,始终秉承“专业的服务,易用的产品”的经营理念,以“提供高品质的服务、满足客户的需求、携手共创双赢”为企业目标,为中国境内企业提供国际化、专业化、个性化、的软件项目解决方案,我司拥有一流的项目经理团队,具备过硬的软件项目设计和实施能力,为全国不同行业客户提供优质的产品和服务,得到了客户的广泛赞誉。

猜你喜欢

评论留言