实现div里的img图片水平垂直居中

实现div里的img图片水平垂直居中body结构<body><div><imgsrc="1.jpg"alt="haha"></div></body>方法一:将display设置成table-cell,然后水平居中设置text-align为center,垂直居中设置vertical-align为middle。<styletype="text/css">*{

大家好,又见面了,我是你们的朋友全栈君。

body结构

<body>
	<div>
		<img src="1.jpg" alt="haha">
	</div>
</body>

方法一:
将display设置成table-cell,然后水平居中设置text-align为center,垂直居中设置vertical-align为middle。

<style type="text/css">
	*{margin: 0;padding: 0;}
    div{
		width:150px;
		height: 100px;
		display: table-cell;
		vertical-align: middle;
		text-align: center;
		border:1px solid #000;
	}
	img {
        width: 50px;
  		height: 50px;
	}
</style>

结果如下图所示:
这里写图片描述

方法二:
通过position定位来实现。将div设置成相对定位relative,将img设置成绝对定位absolute,left:50%,top:50%,此时图片的左上角位于div的中心,要是图片的中心位于div的中心,就需要将图片向上移动图片高度的一半,并向左移动图片宽度的一半。

<style type="text/css">
	*{margin: 0;padding:0;}
	div{
		width:150px;
		height: 100px;
		position: relative;
		border:1px solid #000;
	}
	img {
  		width: 50px;
  		height: 50px;
  		position: absolute;
  		top: 50%;
		left: 50%;
  		margin-top: -25px; /* 高度的一半 */
  		margin-left: -25px; /* 宽度的一半 */
	}
</style>

结果如下图所示:
这里写图片描述


很久以前的文章了,看到浏览量这么高,我再补充几种实现方法

方法三:可以用在不清楚图片图片或元素的真实宽高情况下
还是通过position定位来实现。将div设置成相对定位relative,将img设置成绝对定位absolute,left:50%,top:50%,此时图片的左上角位于div的中心,要是图片的中心位于div的中心,就需要将图片向上移动图片高度的一半,并向左移动图片宽度的一半,如果不知道元素的宽高,可以用transform: translate(-50%,-50%);

<style type="text/css">
    *{margin: 0;padding:0;}
    div{
        width:150px;
        height: 100px;
        position: relative;
        border:1px solid #000;
    }
    img {
        width: 50px;
        height: 50px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
    }
</style>

方法四:

<style type="text/css">
    *{margin: 0;padding:0;}
    div{
        width:150px;
        height: 100px;
        position: relative;
        border:1px solid #000;
    }
    img {
        width: 50px;
        height: 50px;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
    }
</style>

方法五:弹性布局flex

<style type="text/css">
    *{margin: 0;padding:0;}
    div{
        width:150px;
        height: 100px;
        border:1px solid #000;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    img {
        width: 50px;
        height: 50px;
    }
</style>

效果都一样,希望能帮到大家!

读后有收获并有兴趣的可以微信打赏哈哈:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137482.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Unity3d快速入门[通俗易懂]

    Unity3d快速入门[通俗易懂]https://www.zhihu.com/question/313621072Unity3d如何快速入门前言进入一个领域,最直接有效的方法就是,寻找相关综述性文章,首先你需要对你入门的领域有个概括性的了解,这些包括:1、主流的学习社区与网站。2、该领域的知名大牛与热心分享的从业者。3、如何有效的激励自己持续学习—主要是动手实践因此,总结一下Unity相关学习资源,可能有些不足,欢迎大家指正修改,一起成长!授人与鱼,不如授人与渔!一、Unity官方学习资源1、【Unity官.

    2022年8月10日
  • C#中使用SQLDMO的StoredProcedure对象(存储过程)创建数据表「建议收藏」

    C#中使用SQLDMO的StoredProcedure对象(存储过程)创建数据表「建议收藏」               …….               SQLDMO.StoredProcedurestrProc=newSQLDMO.StoredProcedure();               //Assignanametostoredprocedure               strProc.Name=”createCustomerT

    2022年7月26日
  • python 元组删除某个元素_python二维数组

    python 元组删除某个元素_python二维数组我想写一些东西从数组中删除一个特定的元素。我知道我必须for遍历数组以查找与内容匹配的元素。假设我有一系列电子邮件,并且想摆脱与某些电子邮件字符串匹配的元素。我实际上想使用for循环结构,因为我还需要对其他数组使用相同的索引。这是我的代码:forindex,iteminemails:ifemails[index]==’something@something.com’:emails….

    2022年8月10日
  • 如何清理电脑中c盘的垃圾_计算机基本组成

    如何清理电脑中c盘的垃圾_计算机基本组成系统盘,也就是我们常说的C盘!必须要保持足够的存储空间,才能够确保电脑不会运行卡顿,或者出现一些系统性的问题。其实,我们安装系统的时候,C盘最多也就被占用20G左右的空间。但是C盘作为系统盘,电脑运行时所产生的系统缓存文件、垃圾文件以及程序运行文件等等,都会不断的占用C盘的空间,使得C盘越来越小,电脑越用越卡!今天大白菜就和大家分享4招c盘清理方法,让大家的C盘可以腾出更多的空间,保证电脑运行更加…

    2022年8月31日
  • 星愿浏览器有什么优点_星愿浏览器插件

    星愿浏览器有什么优点_星愿浏览器插件目的:想基于浏览器进程抓包,但是想获得噪声相对小的数据,则找相对ChromeGoogle等主流browser更简单的浏览器;想使用Google的某个扩展程序,所以找基于Chrome内核的浏览器所以,我要找基于Chrome内核的简单浏览器最后找到了这几个符合条件的浏览器:星愿、百分cent、Vival、Brave星愿优点:星愿的主页面具有相当的自主性,可以自由拖动添加图标和更换背景、搜索框等。其主页有个搜索漫画的功能,好像在看漫画这一块做了一些页面优化。缺点:只能在它提供的星愿商店里下扩.

    2022年11月3日
  • 关于数组元素(ArrayPlug)的增减使用,逻辑索引和物理索引,MArrayDataBuilder

    关于数组元素(ArrayPlug)的增减使用,逻辑索引和物理索引,MArrayDataBuilder

    2021年8月28日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号