时间:2021-05-18
表格可以实现td中的元素垂直居中显示,但是前提条件必须定义td的高才可行。
但是很多时候会用到元素跟随浏览器的大小垂直居中,如在制作展示官网、活动展示网等等的时候。
问题:
实现div垂直居中并在缩放浏览器尺寸的时候仍然居中。
解决方案:
1、浏览器可视区域的高度-元素的高度/2 = 元素距离浏览器可视区域顶部的距离。
(bodyHeight – divHeight)/2
2、浏览器可视区域如果小于元素的高度,即元素距离浏览器可视区域顶部的距离为零。
3、onresize()当浏览器的尺寸改变的时候触发事件。使用onresize()每次改变的时候,重新计算一下元素到顶部的距离。
实现代码:
function divMiddle(){ var dairyBox = document.getElementById('dairyBox'); var divHeight = dairyBox.offsetHeight; var bodyHeight = document.body.offsetHeight; if(bodyHeight > divHeight){ var endHeight = parseInt(bodyHeight - divHeight)/2; dairyBox.style.marginTop = endHeight + "px"; }else{ dairyBox.style.marginTop = 0; dairyBox.style.top = 0; }} if(document.all){ window.attachEvent('onload',divMiddle);}else{ window.addEventListener('load',divMiddle,false);} var resizeTimer = null;window.onresize = function(){ resizeTimer = resizeTimer?null:setTimeout(divMiddle,0);}注意事项:
根据浏览器的不同onresize被触发的次数都不相同,因此处理的时候要格外小心。
以上就是小编为大家带来的让html元素随浏览器的大小自适应垂直居中的实现方法全部内容了,希望大家多多支持~
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
日常工作时,我们可能遇到这样一个布局:一个父元素框框(随着浏览器大小自适应宽度)里面有许多按钮,然后这些按钮(宽度固定)的整体需要在父元素内居中对齐,而按钮整体
为了让IMG自适应大小,如下我做了一个横向自适应的示例:IMG样式(横向拉伸,纵向自动匹配大小)DIV样式(元素居中显示)IMG样式(横向拉伸,纵向自动匹配大小
上中下三行布局,上下定高,中间栏自适应浏览器高度,且内容垂直居中。 firefox2.0/winie6/winie7/opera8.5cn/winsafa
第一种:将固定大小的div框相对窗口水平垂直居中,改变浏览器窗口大小时,依然保持水平垂直居中;复制代码代码如下:水平垂直居中.out{width:0px;hei
js+css实现遮罩居中弹出层(随浏览器窗口滚动条滚动)复制代码代码如下:*{}{margin:0;padding:0;}html{}{_background: