首页 / CSS / css实现水平 垂直居中
css实现水平 垂直居中
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了css实现水平 垂直居中,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含7615字,纯文字阅读大概需要11分钟。
内容图文
![css实现水平 垂直居中](/upload/InfoBanner/zyjiaocheng/1317/e1ac2d62329b4aff8e61726a92847f55.jpg)
css实现水平居中
<! DOCTYPE html > < html lang ="en" > < head > < meta charset ="UTF-8" > < title >水平居中</title><style> .box1{ border: 1px solid #000; text-align: center;} .box2{ display: inline-block; background-color: green;}/*...............................*/ .box3{ border: 1px solid #000;} .box4{ display: table; margin: 0 auto; background-color: yellow;} .box5{ width: 100px; margin: 0 auto; text-align: center;}/*...............................*/ .box6{ display: flex; justify-content: center; border: 1px solid #000;} .box7{ background-color: blue;} .box8{ display: flex; border: 1px solid #000;} .box9{ margin: 0 auto; background-color: pink;}/*..............................*/ .tip1{ position: relative; height: 20px; border: 1px solid #000;} .tip2{ position: absolute; left: 50%;/*margin-left: -50%;*/ transform: translateX(-50%); background-color: gray;}</style></head><body><!-- 思路1:子元素变为行内块,给父级元素text-align:center; --><div class="box1"><div class="box2"> 水平居中 </div></div><!-- 思路2:给要居中的元素display:table; 然后给他一个margin: 0 auto;(如果这个元素有固定宽度的话,直接给margin: 0 auto;) --><div class="box3"><div class="box4"> 水平居中 </div><div class="box5"> 水平居中 </div></div><!-- 思路3:使用弹性盒子模型flex实现水平居中【IE9不支持】 --><!-- a.在伸缩容器上设置主轴对齐方式justify-content:center; --><div class="box6"><div class="box7"> 水平居中 </div></div><!-- b.在伸缩项目上设置margin:0 auto; --><div class="box8"><div class="box9"> 水平居中 </div></div><!-- 思路4:通过设置绝对定位偏移量和translateX(-50%)居中 --><div class="tip1"><div class="tip2">水平居中</div></div>--> </body></html>
在chrome中显示:
css实现垂直居中
<! DOCTYPE html > < html lang ="en" > < head > < meta charset ="UTF-8" > < title >垂直居中</title><style> .box1{ line-height: 30px; height: 30px; border: 1px solid #000;}/*..........................*/ .box2{ border: 1px solid #000; display: table-cell; height: 100px; vertical-align: middle;} .box3{ background-color: red;} .box4{ line-height: 100px; font-size: 0; border: 1px solid #000; background-color: #ccc;} img{ vertical-align: middle; width: 50px;/*给图片一个宽度,他高度也会按比例确定*/}/*.....................................*/ .box5{ position: relative; border: 1px solid #000; height: 100px;} .box6{ position: absolute; top: 50%; transform: translateY(-50%);} .box7{ position: relative; border: 1px solid #000; height: 300px;} .box8{ position: absolute; top: 0; bottom: 0; height: 100px; margin: auto 0; border: 1px solid #000;}/*...............................*/ .tip1{ display: flex; align-items: center; height: 100px; border: 1px solid #000;} .tip3{ display: flex; border: 1px solid #000; height: 100px;} .tip4{ margin: auto 0;}</style></head><body><!-- 思路1:line-height实现单行文本垂直居中 --><div class="box1"> 垂直居中 </div><!-- 思路2:设置vertical-align:middle实现垂直居中 --><!-- a.给父元素设置display:table-cell(单元格)再给父元素设置vertical-align:middle;使子元素实现垂直居中。【注意;一旦给父元素设置为table-cell,就不能给他浮动或绝对定位,因为浮动或绝对定位会使元素具有块级元素特性,从而丧失了table-cell元素具有的垂直对齐的功能。若需要浮动或绝对定位处理,则需要外面再套一层div】 --><div class="box2"><div class="box3"> 垂直居中 </div></div><!-- b.若子元素是图片,通过设置父元素的行高来代替高度,且设置父元素的font-size为0。 给子元素设置vertical-align:middle。他的解释是元素的中垂点与父元素的基线加1/2父元素中字母X的高度对齐。由于字符X在em框中并不是垂直居中的,且各个字体的字符X的高低位置不一致。 所以,当字体大小较大时,这种差异就更明显。当font-size为0时,相当于把字符X的字体大小设置为0,于是可以实现完全的垂直居中 --><div class="box4"><img src="img/qiao.jpg"/></div><!-- 思路3:通过绝对定位实现垂直居中 --><!-- 【1】配合translate()位移函数 translate函数的百分比是相对于自身高度的,所以top:50%配合translateY(-50%)可实现居中效果 [注意]IE9-浏览器不支持 [注意]若子元素的高度已知,translate()函数也可替换为margin-top: 回退自身高度的50%; --><div class="box5"><div class="box6">垂直居中</div></div><!-- 【2】若子元素定高,结合绝对定位的盒模型属性,实现居中效果 --><div class="box7"><div class="box8"> 垂直居中 </div></div><!-- 思路4:使用弹性盒模型flex实现垂直居中 [注意]IE9-浏览器不支持 --><!-- 【1】在伸缩容器上设置 display:flex;侧轴对齐方式align-items: center --><div class="tip1"><div class="tip2">垂直居中</div></div><!-- 【2】在伸缩项目上设置margin: auto 0 --><div class="tip3"><div class="tip4">垂直居中</div></div></body></html>
在chrome中显示:
css实现水平垂直居中
<! DOCTYPE html > < html lang ="en" > < head > < meta charset ="UTF-8" > < title >水平垂直都居中</title><style> .box1{ border: 1px solid #000; line-height: 20px; text-align: center; width: 1000px;}/*.......................................*/ .box2{ border: 1px solid #000; width: 200px; height: 100px; text-align: center; display: table-cell; vertical-align: middle;} .box3{ display: inline-block;} .box4{ border: 1px solid #000; line-height: 100px; font-size: 0; text-align: center; width: 300px; background-color: gray;} img{ vertical-align: middle; width: 50px;}/*.........................................*/ .box5{ border: 1px solid #000; width: 300px; height: 100px; display: table-cell; vertical-align: middle;} .box6{ display: table; margin: 0 auto;}/*...........................................*/ .box7{ border: 1px solid #000; width: 300px; height: 100px; position: relative;} .box8{ width: 100px; height: 50px; position: absolute; margin: auto; border: 1px solid #000; top: 0; bottom: 0; left: 0; right: 0;} .tip1{ position: relative; border: 1px solid #000; height: 100px;} .tip2{ position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);} .tip3{ position: relative; border: 1px solid #000; height: 100px; width: 300px;} .tip4{ position: absolute; width: 100px; height: 50px; top: 50%; left: 50%; margin-top: -25px; margin-left: -50px; border: 1px solid #000;}/*/*........................................*/ .tip5{ display: flex; border: 1px solid #000; width: 300px; height: 100px;} .tip6{ margin: auto;} .tip7{ border: 1px solid #000; width: 300px; height: 100px; display: flex; justify-content: center; align-items: center;} .tip8{ border: 1px solid #000;}</style></head><body><!-- 思路1:text-align:center和line-height实现单行文本垂直水平居中。 --><div class="box1"> 垂直水平居中 </div><!-- 思路2: text-align + vertical-align 【1】在父元素设置text-align和vertical-align,并将父元素设置为table-cell元素,子元素设置为inline-block元素 --><div class="box2"><div class="box3">垂直水平居中</div></div><!-- 【2】若子元素是图像,可不使用table-cell,而是其父元素用行高替代高度,且字体大小设为0。子元素本身设置vertical-align:middle --><div class="box4"><img src="img/qiao.jpg"/></div><!-- 思路3:margin+vertical-align 要想在父元素中设置vertical-align,须设置为table-cell元素;要想让margin:0 auto实现水平居中的块元素内容撑开宽度,须设置为table元素。而table元素是可以嵌套在tabel-cell元素里面的,就像一个单元格里可以嵌套一个表格 --><div class="box5"><div class="box6">垂直水平居中</div></div><!-- 思路4:使用absolute 【1】利用绝对定位元素的盒模型特性,在偏移属性为确定值的基础上,设置margin:auto --><div class="box7"><div class="box8">垂直水平居中</div></div><!-- 【2】利用绝对定位元素的偏移属性和translate()函数的自身偏移达到水平垂直居中的效果 [注意]IE9-浏览器不支持 --><div class="tip1"><div class="tip2">垂直水平居中</div></div><!-- 【3】在子元素宽高已知的情况下,可以配合margin负值达到水平垂直居中效果(最常用) --><div class="tip3"><div class="tip4">垂直水平居中</div></div><!-- 思路5:使用flex --><!-- 1.在伸缩项目上使用margin:auto --><div class="tip5"><div class="tip6">垂直水平居中</div></div><!-- 【2】在伸缩容器上使用主轴对齐justify-content和侧轴对齐align-items --><div class="tip7"><div class="tip8">垂直水平居中</div></div></body></html>
在chrome中显示:
原文:http://www.cnblogs.com/first-time/p/6706842.html
内容总结
以上是互联网集市为您收集整理的css实现水平 垂直居中全部内容,希望文章能够帮你解决css实现水平 垂直居中所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。