css实现元素垂直水平居中-包括未知宽高的元素

这个一道很经典的面试题,做项目中也常会出现这样的需求。 现在我就用几种比较常用的方法。兼容性也列出来。

第一种已知宽高(定位加负边距解决)兼容到IE6

position: absolute;
z-index: 8;
left: 50%;
top: 50%;
width: 200px;
height: 200px;
margin-left: -100px;
margin-top: -100px;
background: red;
复制代码

demo地址 JSBin

第二种未知宽高 (定位加margin解决) 兼容到IE8 移动端推荐使用

position: absolute;
z-index: 8;
left: 0;
top: 0;
bottom: 0;
right: 0;
width: 200px;
height: 200px;
margin: auto;
background: red;
复制代码

如果改变宽度和高度还是垂直水平居中的。 demo地址 JSBin

第三种未知宽高 (定位加transform解决) 兼容到IE9 移动端推荐使用

position: absolute;
z-index: 8;
left: 50%;
top: 50%;
width: 200px;
height: 200px;
transform: translate(-50%, -50%);
background: red;
复制代码

如果改变宽度和高度还是垂直水平居中的。 demo地址 JSBin

第四种未知宽高 (弹性盒子模型解决) 兼容到IE10

display: flex;
display: -webkit-flex;
align-items:center;
justify-content: center;
复制代码

如果改变宽度和高度还是垂直水平居中的。 demo地址 JSBin

第五种未知宽高 (table特性解决的) 兼容到IE6 PC端推荐使用

#box{width: 100px;height:100px;text-align:center;font-size:0;background: red
}
#box:after,#box span{display:inline-block;*display:inline;*zoom:1;width:0;height:100%;vertical-align:middle;
}
#box:after{content:'';
}
#box p{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;font-size:16px;
}
复制代码

demo地址 JSBin

我的博客和GitHub地址喜欢的话送个star谢谢。

github.com/lanpangzhi

blog.langpz.com

参考

demo.doyoe.com/css/alignme…

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

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

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

  2. css(css3)实现垂直水平居中的那些事

    都说"金三银四求职季",本人也选择了在这个时候成为这浩浩荡荡的求职大军中的一员,几次面试下来,发现面试官都爱问的一个问题就是:"说说垂直水平居中都有哪些实现方式吧?&qu ...

  3. [css] 写出在不固定宽高的元素在固定高度的情况下水平垂直居中的方法

    [css] 写出在不固定宽高的元素在固定高度的情况下水平垂直居中的方法 flex布局:还有就是可以用定位也可以实现等等: flex:父div:{display:flex: justify-conten ...

  4. 已知/未知宽高的浮动元素水平居中对齐 和 图片水平垂直居中对齐

    一.已知宽高的浮动元素水平垂直居中对齐 效果: 样式CSS: 1 <style> 2 .parent{ 3 position:relative; 4 border:2px solid #0 ...

  5. CSS未知宽高元素水平垂直居中

    方法一 :table.cell-table 思路:显示设置父元素为:table,子元素为:cell-table,这样就可以使用vertical-align: center,实现水平居中 优点:父元素( ...

  6. CSS Transform让百分比宽高布局元素水平垂直居中

    CSS Transform让百分比宽高布局元素水平垂直居中 很早以前了解过当元素是固定宽度和高度的时候,水平垂直高居中的方法可以设置margin的负值来使其居中,这个负值是元素的宽和高的一半,比如宽高 ...

  7. jl1.如何设置元素的宽高包含元素的边框和内边距

    jl1.如何设置元素的宽高包含元素的边框和内边距 方法一: 文档地址:http://www.w3school.com.cn/cssref/pr_box-sizing.asp CSS3 box-sizi ...

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

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

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

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

最新文章

  1. usaco snail trails(dfs)
  2. CAN 屏蔽器与滤波器(过滤器)
  3. 从任意网页上摘取酷炫Jquery效果为自己使用的方法
  4. Fence Repair (二叉树求解)(优先队列,先取出小的)
  5. 用户增长 - BG/NBD概率模型预测用户生命周期LTV(二)
  6. 方维团购系统二次开发,项目经验
  7. spring源码:@Configuration源码
  8. android地图搜索功能,[Android]百度地图POI检索
  9. 夸计算机老师的成语,赞美老师的成语句子
  10. Mysql各个大版本之间的区别
  11. 网络在线播放ASF格式流媒体文件的制作(转)
  12. Vivado IP核之RAM Block Memery Generator
  13. 卧槽!被蜜雪冰城洗脑了!
  14. Unity获取安卓的MAC地址问题
  15. 无服务器+域名也能搭建个人博客?真的,而且很快
  16. 来自Bitly的USA.gov数据,数据分析案例
  17. Android NFC智能卡介绍
  18. Wind River Linux
  19. 西南交大计算机学校地址,西南交通大学有几个校区及校区地址
  20. [Android]如何整合两个安卓项目

热门文章

  1. mysql 创建列的索引_mysql创建多列索引及优化
  2. 从《网安法》出发_给企业安全管理者的五条建议
  3. lepus mysql 慢查询_lepus3.8 安装以及慢查询设置 基于mysql5.7 改进版
  4. 7种方法让你的图片处理更具创意
  5. 计算机英语常用词语,计算机英语 常见计算机英语词汇解释(1)
  6. 简单使用tf.app.run()、tf.logging和tf.app.flags机制
  7. 三步搞定ISO/GHO安装系统 - imsoft.cnblogs
  8. 使用pngquant命令近乎无损压缩PNG图片大小减少70%左右
  9. 详解Linux系统Vi 和 Vim中正常模式、编辑模式、命令模式相互转化,以及vim命令使用
  10. Python爬虫笔记——HTML基础认识