首页 > 编程 > HTML > 正文

HTML对于元素水平垂直居中的探讨

2020-03-24 19:27:44
字体:
来源:转载
供稿:网友
我们在设计页面的时候,经常要把DIV居中显示,而且是相对页面窗口水平和垂直方向居中显示,如让登录窗口居中显示。到现在为止,探讨了很多种方法。HTML:XML/HTML Code复制内容到剪贴板
margin:5px; box-shadow:1px1px1pxrgba(0,0,0,0.8),-1px-1px1pxrgba(0,0,0,0.8); }
height:200px; box-shadow:1px1px1pxrgba(0,0,0,0.8),-1px-1px1pxrgba(0,0,0,0.8); }
margin-left:-100px;/*width/-2*/ margin-top:-100px;/*height/-2*/ }
第二种: CSS绝对定位 + Javascript/JQuery 主要利用绝对定位,再用Javascript/JQuery调整到中间位置。相比第一种方法,此方法提高了html' target='_blank'>class的灵活性。父元素:CSS Code复制内容到剪贴板
margin:5px; box-shadow:1px1px1pxrgba(0,0,0,0.8),-1px-1px1pxrgba(0,0,0,0.8); }
height:200px; box-shadow:1px1px1pxrgba(0,0,0,0.8),-1px-1px1pxrgba(0,0,0,0.8); }
margin-left :($( .align-center ).width()/-2), margin-top :($( .align-center ).height()/-2) } ); });
第三种: CSS3绝对定位 + 位移 使用绝对定位与CSS3的 transform: translate同样也可以达到效果。父元素:CSS Code复制内容到剪贴板
margin:5px; box-shadow:1px1px1pxrgba(0,0,0,0.8),-1px-1px1pxrgba(0,0,0,0.8); }
height:200px; box-shadow:1px1px1pxrgba(0,0,0,0.8),-1px-1px1pxrgba(0,0,0,0.8); }
left:50%; -webkit-transform:translate(-50%,-50%); -moz-transform:translate(-50%,-50%); transform:translate(-50%,-50%);/*向左向上位移*/ }
第四种: Flexbox: [伸缩布局盒模型] 要让元素水平垂直,对于Flexbox模型来说太容易了。这里得改变一下HTML:XML/HTML Code复制内容到剪贴板
margin:5px; box-shadow:1px1px1pxrgba(0,0,0,0.8),-1px-1px1pxrgba(0,0,0,0.8); }
height:200px; box-shadow:1px1px1pxrgba(0,0,0,0.8),-1px-1px1pxrgba(0,0,0,0.8); }
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教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表