html中图片怎么居中对齐?
图片的居中方式有许多种吧,算是html根基,下面给大家介绍几种办法。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style type="text/css"> div{ width: 200px; height: 200px; border: 3px solid skyblue; } </style> </head> <body> <div> <img src="1.jpg" width="150px" /> </div> </body> </html>
以上代码的结果图:
办法1:
img{ position: relative; left: 50%; top: 50%; margin: -60px 0 0 -75px; }
给img标签设定position定位,position:relative,left:50%;top:50%离别指将改元素向右移动一半父容器宽度的间隔乃至向下移动一半父容器高度的间隔,由于移动的间隔是以父容器为标准的一半高度宽度间隔,结果如下:
由于这张图片较大,所以超出了div的范畴。。。
之后要将 img往回移动,才能使img元素居中显示,margin: -60px 0 0 -75px;指的是将img元素向左移动75px,向上移动60px(由于用的图片素材的宽高为150*120),这样便能使得图片居中了。
办法2:
img{ position: relative; left: 50%; top: 50%; transform: translate(-50%,-50%); }
其实这里跟上面的办法是相似的,但是个人觉得这种比力有用,由于办法一有个费事的地方,就是margin值必需跟着img元素的大小转变,假如说img元素都是一样的大小倒无所谓,但是这种要求难免有些高。
这种做法是用的2d转换,transform:translate(x轴移动的数值,y轴移动的值),这个办法的好处便在于不消去测量img元素的宽高,直接设定百分比,在transform:translate()中,使用的百分比其实是相关于元素本身宽高的。
办法3:
设定为两级父容器,第1级设定display:table,将第1级父容器转换成表格类型,
之后在第二级,也就是img的上1级父容器设定display:table-cell,
在第1级父容器中设定text-align:center,
第二级设定vertical-align: middle,便可以到达将图片居中的目的
办法4:
设定主侧轴对齐方式
<div class="a"> <img src="img/MEIZU.png" > </div>
div.a{ width: 600px; height: 200px; border: 1px solid saddlebrown; display: flex; justify-content: space-around; align-items: center; } div.a img{ border: 1px solid red; }
给父容器设定display:flex,将父容器转换成伸缩盒子,由于利用主侧轴对齐方式就需要这样。。。。
之后再设定主轴对齐方式为 justify-content: space-around;
留意: Internet Explorer 10 及更早版本阅读器不支撑 justify-content 属性。
留意: Safari 6.1 及更新版本通过 -webkit-justify-content 属性支撑该属性。
接着设定父容器的侧轴对齐方式,align-items: center;
留意: Internet Explorer 10 及更早版本阅读器不支撑 align-items 属性。
留意: Safari 7.0 及更新版本通过 -webkit-align-items 属性支撑该属性。
看啥呢,图片这样就已经居中了啊。
假如不是由于Internet Explorer 10 及更早版本阅读器不支撑,其实这个办法算是最适宜的吧。
引荐教程:html教程
以上就是html中图片如何居中对齐?的具体内容,更多请关注百分百源码网其它相关文章!