欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

如何在CSS里面设置DIV里面的图片垂直居中_html/css_WEB-ITnose

程序员文章站 2022-05-06 08:10:58
...
现在用DIV来定位的方式使用得越来越广泛。
我最近在使用DIV定位图片的时候,发现DIV不能直接设置图片的垂直对齐方式
狠伤了一阵脑筋,然后到网上找了很多解决办法。
但是似乎都不太行,后来发现了 孟子E章(我超级惊讶孟子E章的知识广泛程度)
给别人回答问题的一个帖子里面
有一个解决方法看起来很正宗。如下

style ="position:absolute;
width:500px;
height:305px;
z-index:1;
background-color: #999999;
border: 1px none #000000;
padding-top:expression(this.style.top+(this.offsetHeight-mxh.offsetHeight)/2)"
align =center >

div >


拿来用了以后发现还是不能成功。
接下来又查了一下资料,发现他这个方法里面有两个问题。

this.style.top 取出来的不是数字而是一个字符串,例如 50px,所以expression里面没有办法运算。正确的方法应该是 this.style.pixelTop属性,这样取出来的才是数字。 图片放到DIV里面以后,其top属性值的计算不再是从窗口的左上角开始计算,而是从DIV容器的左上角开始计算,因此DIV的上填充距离不需要再加上DIV的top值

依据以上两点,我对孟子E章的方法进行了些许的修改,得到下面的这个方法。我测试过是成功的。
整个过程费了不少时间,这里贴出来分享给大家,省得大家再走弯路,尤其是还没有使用过expression的朋友们。

style ="
position:absolute;
left:261px;
top:50px;
width:251px;
height:105px;
z-index:1;
overflow:hidden;
border: 1px solid #0066CC;
padding-top:expression((this.offsetHeight-myImage.offsetHeight)/2);
"
align ="center" >

div >

有一个关键点提醒大家注意一下,图片要给出ID,才能进行计算。切记~

感谢孟子E章,感谢他的博学,呵呵呵
再一次惊叹于孟子E章知识面的广阔。