失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > HTML对于元素水平垂直居中

HTML对于元素水平垂直居中

时间:2022-11-08 08:06:37

相关推荐

HTML对于元素水平垂直居中

web前端|html教程

HTML 元素 垂直居中

web前端-html教程

我们在设计页面的时候,经常要把p居中显示,而且是相对页面窗口水平和垂直方向居中显示,如让登录窗口居中显示。

快递管理源码asp,ubuntu强制保存文件,爬虫图片真实原图,php tojson,黔南seo公司lzw

到现在为止,探讨了很多种方法。

游戏编程精粹4源码,平板能安装vscode吗,需要ubuntu系统,tomcat去掉热部署,迁徙数据 爬虫,php获取关联搜索,金华seo推广公司有哪些,php网站会员系统源码,destoon文章模板lzw

HTML:

博客类源码,ubuntu基本软件安装,地下战争爬虫人,Php扩展mcrpt,seo惜缘lzw

效果图(下面几种方法效果图一样):

第一种: CSS绝对定位

主要利用绝对定位,再用margin调整到中间位置。

父元素:

.maxbox{ position: relative; width: 500px; height: 500px; margin: 5px; box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); }

子元素:

.minbox{ width: 200px; height: 200px; box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); }

水平垂直居中对齐:

.align-center{ position: absolute; left: 50%; top: 50%; margin-left: -100px; /*width/-2*/ margin-top: -100px; /*height/-2*/}

第二种: CSS绝对定位 + Javascript/JQuery

主要利用绝对定位,再用Javascript/JQuery调整到中间位置。相比第一种方法,此方法提高了class的灵活性。

父元素:

.maxbox{ position: relative; width: 500px; height: 500px; margin: 5px; box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); }

子元素:

.minbox{ width: 200px; height: 200px; box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); }

水平垂直居中对齐:

.align-center{ position: absolute; left: 50%; top: 50%; }

JQuery:

$(function(){ $(".align-center").css( {"margin-left": ($(".align-center").width()/-2),"margin-top": ($(".align-center").height()/-2) } ); });

第三种: CSS3绝对定位 + 位移

使用绝对定位与CSS3的 transform: translate同样也可以达到效果。

父元素:

.maxbox{ position: relative; width: 500px; height: 500px; margin: 5px; box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); }

子元素:

.minbox{ width: 200px; height: 200px; box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); }

水平垂直居中对齐:

.align-center{ position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%);-moz-transform: translate(-50%, -50%);transform: translate(-50%, -50%); /*向左向上位移*/}

第四种: Flexbox: [伸缩布局盒模型]

要让元素水平垂直,对于Flexbox模型来说太容易了。

这里得改变一下HTML:

父元素:

.maxbox{ position: relative; width: 500px; height: 500px; margin: 5px; box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); }

子元素:

.minbox{ width: 200px; height: 200px; box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); }

水平垂直居中对齐:

.align-center{ display: flex; display: -webkit-flex; /*兼容问题*/ justify-content: center; align-items: center; }

几种方法的比较:

第一种CSS绝对定位margin调整,兼容性很好但是欠缺灵活性。如果有很多box里需要水平垂直居中,因其width,height不同而需要写不同的 .align-center 。

第二种使用脚本语言,兼容性很好且弥补了第一种的缺点。不因width,height的改变而影响水平垂直居中的效果。

第三种使用CSS3的一些新的属性,兼容IE10, Chrome, Firefox, 和 Opera。兼容性不太很好,不因width,height的改变而影响水平垂直居中的效果。

使用Flexbox模型,兼容Firefox、Opera 和 Chrome,IE全军覆没。也是不因width,height的改变而影响水平垂直居中的效果。

更多HTML对于元素水平垂直居中相关文章请关注PHP中文网!

如果觉得《HTML对于元素水平垂直居中》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。