在线咨询
QQ咨询
服务热线

020-85201717

13725302004

业务微信

微信开发

TOP

web前端页面开发中DIV块页面上下左右居中

发布时间:2020-04-22 浏览:

web前端页面开发经常会遇到页面居中的弹窗功能,设计师在设计这些弹窗的时候一般都是设计成页面居中的。如下:


DIV块


这里就是一个图标和一行文字相对于整个背景居中。


那么用什么方式实现比较方便呢


切一张透明png图片,和底图大小一致的,直接放上去。这种更简单省力,但是对后期修改文字图标不是很友好。


将图标和文字单独出来,用一个固定大小的div包裹住,运用定位来居中,这里默认该div大小为300 x 300; 实现代码如下:


.div{


position: absolute;


Left:50%;


Top:50%;


Margin-left: -150px;


Margin-top: -150px;


Text-aline: center;


}


这里做到了div的相对居中,然后还要测量图标和文字之间的间隔,给img一个margin-bottom,来实现上下居中,这种方式就比较灵活了,图标和文字都能随时更换,但是由于限制了宽高,所以也存在一定的局限性。


直接通过设置包裹的div的定位来居中,不限宽高,如下:


Div{


position: absolute;


Left:50%;


Top:50%;


transform: translate(-50%,-50%);

}


这样就实现了相对居中,而且不会因为div里内容的多少而出现位置的偏差。算是比较完美的实现方式了。当然也要注意显示上的优化,如果文字过多,出现换行的情况,更好是在两边留点边距,看起来不那么生硬。如下:


Div{


position: absolute;


Left:50%;


Top:50%;


transform: translate(-50%,-50%);


Padding:20px;


Box-sizing:border-box;


}


这里padding:20px;是设置上下左右边距为20像素,使内容不贴边。而box-sizing:border-box;这个属性则是设置padding的值包含在div的区域内,不是在区域外增加边距,对一些要求特殊的布局能起到很好的兼容作用,不用计算抛开padding值之后的区域宽高。