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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 这个题目似乎解决的办法很多,JS是最能够确保各种浏览器中一致性的,但是仍然可以使用CSS的方式来解决。这个问题分解为两个方面,第一解决左右居中的问题,第二解决上下居中的问题。   1、左右居中。   左右居中最为简单,使用 text-align:center; 就可以让绝大多数的对象居中对齐,并且这个属性也获得了几乎全部浏览器的支持。
这个题目似乎解决的办法很多,JS是最能够确保各种浏览器中一致性的,但是仍然可以使用CSS的方式来解决。这个问题分解为两个方面,第一解决左右居中的问题,第二解决上下居中的问题。
 
1、左右居中。
 
左右居中最为简单,使用 text-align:center; 就可以让绝大多数的对象居中对齐,并且这个属性也获得了几乎全部浏览器的支持。实际上,这个属性定义的是块级对象内部文字的对齐方式,内部的文字或者图像一般是内联对象。
 
也许有人会提到,为什么不用 margin:0 auto;这个办法呢?这是一个好问题,在做居中布局的页面时,这是我们最常用的让DIV容器居中的办法。margin作用于块级元素,而是否作用于其他内敛元素,不同的浏览器有着不同的解释,因此对于左右居中,没有使用这个方法。
 
2、上下居中。
 
上下居中,有两种方法,一种是负margin的办法,这种对于固定宽度的容器,非常的好用。另外一种就是适应于高度不固定的情形,即使用 vertical-align 属性。Vertical-align 属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。允许指定负长度值和百分比值。这会使元素降低而不是升高。在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。
 
3、最后代码
 
综上,可以得出对于高度、宽度都不固定的容器,如何让其做到水平、垂直居中:
 
 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> 

 

 
参考资料:
相关文章
|
4月前
|
前端开发 容器
css 动态文本对齐自适应 — 文本宽度小于容器宽度时居中对齐,文本宽度大于容器宽度时居左对齐
css 动态文本对齐自适应 — 文本宽度小于容器宽度时居中对齐,文本宽度大于容器宽度时居左对齐
39 2
|
6月前
|
前端开发 JavaScript 容器
纯css实现高度或者宽度变化字体发生变化【容器查询】
纯css实现高度或者宽度变化字体发生变化【容器查询】
108 0
|
Web App开发 前端开发 容器
使用min-content实现容器宽度自适应于内部元素
本文简要介绍了利用 `min-content`实现容器宽度自适应于内部元素的尺寸。 HTML原生就是响应式的(HTML内容在视口内流式的分布)。随着CSS的广泛应用,设计者创建了许多固定布局的“盒子”并把内容强制的放在盒子之中,这有悖于HTML原生响应的特性。
1555 0
|
容器 前端开发
div中的内容超过容器宽度的问题
问题描述:     排名    参赛选手    月收益    月收益率 在一个div中横向放置了4个inline-block,宽度为百分比,加起来总共是100%。当其中一个inline-block的文字内容超过元素本身的宽度时,发现其他3个inline-block位置会发生改变,但是如果这个inline-block的内容如果为数字或者一整个连续的英文字符串,其他3个inline-block的位置不会发生改变,不过如果这个inline-block的内容为英文段落(单词之间有空格)并且内容超过元素本身的宽度时,其他3个inline-block的位置还是会发生改变。
1335 0
|
前端开发 容器 算法
公司的一个面试题:如何用css让一个容器水平垂直居中?
DOCTYPE html> demo .div1{ width: 100px; height: 100px; border: 1px solid #000000;} .
1024 0
|
前端开发 容器 算法
公司的一个面试题:如何用css让一个容器水平垂直居中?
原文:公司的一个面试题:如何用css让一个容器水平垂直居中? DOCTYPE html> demo .
1172 0
|
容器
让字体在div容器中垂直居中
1. 只显示一行数据的话: 给容器设置height和line-height,并使两个值相等,再加上over-flow:hidden .test{   height:40px;   line-height:40px;   overflow:hidden; }优点:1.
1084 0
|
8天前
|
Kubernetes 监控 开发者
掌握容器化:Docker与Kubernetes的最佳实践
【10月更文挑战第26天】本文深入探讨了Docker和Kubernetes的最佳实践,涵盖Dockerfile优化、数据卷管理、网络配置、Pod设计、服务发现与负载均衡、声明式更新等内容。同时介绍了容器化现有应用、自动化部署、监控与日志等开发技巧,以及Docker Compose和Helm等实用工具。旨在帮助开发者提高开发效率和系统稳定性,构建现代、高效、可扩展的应用。
|
4天前
|
关系型数据库 MySQL API
|
20天前
|
存储 Docker 容器
docker中挂载数据卷到容器
【10月更文挑战第12天】
54 5