前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何让高度、宽度不定的容器保持水平、垂直居中

如何让高度、宽度不定的容器保持水平、垂直居中

作者头像
大江小浪
发布2018-07-24 17:45:17
2.5K0
发布2018-07-24 17:45:17
举报
文章被收录于专栏:小狼的世界小狼的世界

这个题目似乎解决的办法很多,JS是最能够确保各种浏览器中一致性的,但是仍然可以使用CSS的方式来解决。这个问题分解为两个方面,第一解决左右居中的问题,第二解决上下居中的问题。

1、左右居中。

左右居中最为简单,使用 text-align:center; 就可以让绝大多数的对象居中对齐,并且这个属性也获得了几乎全部浏览器的支持。实际上,这个属性定义的是块级对象内部文字的对齐方式,内部的文字或者图像一般是内联对象。

也许有人会提到,为什么不用 margin:0 auto;这个办法呢?这是一个好问题,在做居中布局的页面时,这是我们最常用的让DIV容器居中的办法。margin作用于块级元素,而是否作用于其他内敛元素,不同的浏览器有着不同的解释,因此对于左右居中,没有使用这个方法。

2、上下居中。

上下居中,有两种方法,一种是负margin的办法,这种对于固定宽度的容器,非常的好用。另外一种就是适应于高度不固定的情形,即使用 vertical-align 属性。Vertical-align 属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。允许指定负长度值和百分比值。这会使元素降低而不是升高。在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。

3、最后代码

综上,可以得出对于高度、宽度都不固定的容器,如何让其做到水平、垂直居中:

代码语言:javascript
复制
 1 <!DOCTYPE html>   
 2 <html>   
 3 <head>   
 4 <meta http-equiv=“Content-Type” content=“text/html; charset=utf-8″ />   
 5 <title>水平、垂直居中</title>   
 6 <style type=“text/css”>   
 7 #container_outer { display:table; width:1200px; height:1000px; overflow:hidden; margin-left:50px; _position:relative; }   
 8 #container_inner { vertical-align:middle; display:table-cell; text-align:center; _position:absolute; _top:50%; _left:50%; }   
 9 #content { color:#fff; border:1px solid #000; display:inline-block; _position:relative; _top:-50%; _left:-50%; }   
10 </style>   
11 <body>   
12 <div id=“container_outer”>
13      <div id=“container_inner”>
14           <div id=“content”>   
15 动态内容...
16 </div>
17 </div>
18 </div>   
19 
20 </body>   
21 </html> 

参考资料:

1、http://blog.mihoweb.com/archives/790.html

2、CSS text-align

3、http://www.cnblogs.com/zhwl/p/3529473.html

4、CSS vertical-align

5、http://www.jb51.net/css/10337.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-06-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档