一、固定宽高:

1、margin

根据已知的宽高写死,不推荐

2、定位 + margin-top + margin-left

        .box-container{position: relative;width: 300px;height: 300px;}.box-container .box {width: 200px; height: 100px;position: absolute; left: 50%; top: 50%;margin-top: -50px;    /* 高度的一半 */margin-left: -100px;    /* 宽度的一半 */}

设置父元素的position为相对定位,子元素绝对定位,并在 top 和 left 方向上移动父元素50%的距离。

但这个时候,是子元素的上边框左边框距离父元素150px,整体向右下角偏了一些,所以还需要再用 margin 调整至中心位置,数值分别是高度和宽度的一半。

3、定位 + margin

    .box-container{position: relative;}.box {width: 100px;height: 100px;position: absolute; left: 0; top: 0; right: 0; bottom: 0;margin: auto;}

同样是使用绝对定位,但四个方向的偏移量全都为0,之后设置 margin:auto 分配剩余空间,令元素的均匀拖拽至父元素的中心位置。

二、未知宽高

1、transform 方案: 存在兼容问题:

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

子元素上设置,transform: translate(-50%, -50%);  用于平面的2D转换,后面的百分比以自身的宽高为参考,定位后将元素的左上角置于父级中央,之后再用 transform 进行偏移,相当于上面设置的 margin-top 和 margin-left。

注意:transform存在浏览器兼容问题,如下表。

2、flexbox 方案: 存在兼容问题

    .box-container {display: -webkit-flex;display: -moz-flex;display: -ms-flex;display: -o-flex;display: flex;justify-content: center;align-items: center;}

设置父元素为 flex 弹性盒模型,并在主轴和副轴上设置居中,关于弹性盒模型的详情请点击这里。

作为新增属性,flex同样存在兼容问题,如下表:

3、display: table-cell 无兼容性问题

 .box {position: relative;width: 300px;height: 300px;border: 1px solid red;display: table-cell;  text-align: center; vertical-align: middle;}

只需要设置父元素即可,text-align: center; 并在竖直方向上令内容居中(middle),早期属性,不存在兼容问题。

垂直水平居中的几种实现方式相关推荐

  1. 垂直水平居中的三种实现方式

    今天向一位朋友请教垂直水平居中问题,没想到朋友直接给出了三种实现方式,这里记录下来. 如图所示,登陆页中有一个登陆表单,我们需要将表单内容垂直水平居中. 这里,为了简单起见,以如下的html为例: & ...

  2. HTML 水平居中 垂直居中 垂直水平居中的几种实现方式

    文章目录 水平居中 垂直居中 垂直水平居中 方式1:绝对定位 方式二 定位+负margin 方式3:使用translate实现平移 方式4:通过设置bottom top left right marg ...

  3. 关于css垂直水平居中的几种方式

    关于css垂直水平居中的几种方式 css中元素的垂直水平居中是比较常见及较常使用的,在这里向大家介绍一下几种方式. 1.水平居中 margin: 0 auto; 效果图: 而文字的垂直水平居中也比较简 ...

  4. H5+CSS3 实现div垂直水平居中的几种方式

    实现div垂直水平居中的11种方法 <div class="father"><div class="son"></div> ...

  5. 使一个div垂直+水平居中的几种方法

    前几天去一家互联网公司面试,面试官问到了这个应该算是比较简单的问题,在我自认为回答正确时,才知道这道题的答案有很多种,下面就让我们一起来探讨一下这个问题: 思路1:绝对定位居中(原始版) 这个是我回答 ...

  6. 垂直水平居中的几种方式

    首先分为文本垂直水平居中和 块元素垂直水平居中 1. 文本垂直水平居中 先来说说文本垂直水平居中吧,直接看代码. css代码: #app {width: 100px;height: 100px;bac ...

  7. css 怎么设置盒子水平居中,用一段css实现盒子垂直水平居中方法(8种)-案例

    效果图 - 在线案例 css3中的属性:transform: translate(x,y) .box { width: 100px; height: 100px; background: orange ...

  8. 用css实现垂直水平居中的几种方法

    1.用inline-block和vertical-align来实现居中:这种方法适合于未知宽度高度的情况下. <!DOCTYPE html> <html lang="en& ...

  9. css 对话框 水平居中,css 水平居中的几种实现方式

    前言 设计是带有主观色彩的,同样网页设计中的 css 一样让人摸不头脑.网上列举的实现方式一大把,或许在这里你都看到过,但既然来到这里我希望这篇能让你看有所收获,毕竟这也是前端面试的基础. 实现方式 ...

最新文章

  1. vue,一路走来(10)--生产环境
  2. Hibernate缓存级别教程
  3. 数据可视化【九】单向数据流交互
  4. 2021高考成绩查询大连,2021年大连高考各高中成绩及本科升学率数据排名及分析...
  5. linux中split函数用法,Linux csplit 命令用法详解-Linux命令大全(手册)
  6. 小网站asp好还是php好,网站程序是asp好还是php好,哪个更利于优化?
  7. 剑指offer——面试题46:求1+2+...+n
  8. UITableViewDataSource Protocol Reference
  9. Fullpage:基础学习
  10. 【Sort】QuickSort
  11. 《Robot Framework自动化测试修炼宝典》道长
  12. 5分钟学会用代码发送邮件
  13. 免费天气API接口,全国天气免费接口,2018年3月测试稳定OK
  14. iOS/MAC 数据压缩与解压缩及常用算法 LZMA、ZLIB
  15. 今天的几点感悟_20160711
  16. 高性能两级缓存J2Cache
  17. sap清账使用反记账_【转】SAP反记账功能祥解
  18. Juniper Junos设置3层接口
  19. lighting接口说明
  20. 计算机信息检索的常用位置算符有,计算机信息检索基本算符?含义

热门文章

  1. 微信小程序云开发初步上手
  2. 个人商业模式,如何让自己变得值钱
  3. Python框架Flask系列教程(1)——基础-黄勇-专题视频课程
  4. pip下载第三方库失败
  5. 汉堡大学计算机科学,汉堡大学
  6. python 图片数据清洗,图片去重,去掉模糊图片,去掉结构性相似的图片
  7. Python--几种set集合去重的方法
  8. C# 源码 ,使用<switch语句>实现学生成绩评测.
  9. 数据逻辑结构 的 二元组表示法
  10. html实现点赞效果,HTML+CSS入门 点赞功能实现 $(tag).css('属性', '样式')