css让div居中显示_css页面居中

css让div居中显示_css页面居中css中设置div元素居中显示的四种方法一、先确定div的基本样式二、具体实现方法第一种:利用子绝父相和margin:auto实现第二种:利用子绝父相和过渡动画tranform实现第三种:同样是利用子绝父相和margin负值实现第四种:利用flex弹性盒布局实现一、先确定div的基本样式先给div随便设置些基本的样式,这样所得到的结果容易看出效果。css结构: <styletype=”text/css”> *{ margin:0; height:0; }..

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定


一、先确定div的基本样式

先给div随便设置些基本的样式,这样所得到的结果容易看出效果。

css结构:
	<style type="text/css"> *{ 
      margin: 0; height: 0; } .warp{ 
      width: 500px; height: 500px; background-color: pink;//给个背景,结果更清晰 margin: 50px auto; } .warp .box{ 
      width: 200px; height: 200px; background-color: green; } </style>
HTML结构:
	<div class="warp">
		<div class="box"></div>
	</div>

Jetbrains全家桶1年46,售后保障稳定

二、具体实现方法

第一种:利用子绝父相和margin: auto实现

给父级div设置相对定位,子元素div设置绝对定位,left、right、top、bottom都设置为0,然后将margin设置为auto即可实现。

注意:子绝父相就是 父级元素相对定位,子级元素绝对定位

		.warp{ 
   
			width: 500px;
			height: 500px;
			background-color: pink;
			margin: 50px auto;
    		
    		position:relative;//设置为相对定位
		}
		.warp .box{ 
   
			width: 200px;
			height: 200px;
			background-color: green;
            
            position:absolute;//设置为绝对定位
            left: 0;
      		right: 0;
      		top: 0;
      		bottom: 0;
     		margin: auto;
		}

第二种:利用子绝父相和过渡动画tranform实现

给父级div设置相对定位,子元素div设置绝对定位,将left、top设置为50%;然后设置transform: translate(-50%,-50%);即可实现。

原理:设置了left: 50%;top:50%; 之后,子元素位于如图所在位置,在这里插入图片描述
此时,我们需要向左移动子级div宽度的一半,子级div所在位置如图所示在这里插入图片描述
向上移动子级div高度的一半,结果如图所示在这里插入图片描述
transform: translate(-50%,-50%);

		.warp{ 
   
			width: 500px;
			height: 500px;
			background-color: pink;
			margin: 50px auto;
    		
    		position:relative;//设置为相对定位
		}
		.warp .box{ 
   
			width: 200px;
			height: 200px;
			background-color: green;
            
            position:absolute;//设置为绝对定位
            left: 50%;
            top: 50%;
            transform: translate(-50%,-50%);
		}

第三种:同样是利用子绝父相和margin负值实现

子级div设置绝对定位,同样设置left: 50%; top: 50%,然后利用margin值为负时,产生的相反位移(同上过渡动画tranform产生位移类似)。即margin-left:calc(-div自身宽度/2),margin-top:calc(-div自身高度/2),也可以自己计算margin-left 和 margin-top的值。

注意:calc()函数,CSS3 的 calc() 函数允许我们在属性值中执行数学计算操作。

		.warp{ 
   
			width: 500px;
			height: 500px;
			background-color: pink;
			margin: 50px auto;
    		
    		position:relative;//设置为相对定位
		}
		.warp .box{ 
   
			width: 200px;
			height: 200px;
			background-color: green;
            
            position:absolute;//设置为绝对定位
            left: 50%;
            top: 50%;
			margin-left:calc(-200px/2);
			margin-top:calc(-200px/2);	
		}

第四种:利用flex弹性盒布局实现

给父级div设置display: flex;将父级div元素转为弹性盒,然后设置主轴对齐方式为居中 justify-content: center;,侧轴对齐方式为居中 align-items: center;即可实现。

		.warp{ 
   
			width: 500px;
			height: 500px;
			background-color: pink;
			margin: 50px auto;
			
			display: flex;
			justify-content: center;
			align-items: center;
		}
		.warp .box{ 
   
			width: 200px;
			height: 200px;
			background-color: green;
		}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2025年7月16日 下午10:22
下一篇 2025年7月16日 下午11:01


相关推荐

  • 汉罗塔c++递归_栈与递归的区别

    汉罗塔c++递归_栈与递归的区别汉罗塔问题是一个非常经典的算法,我们首先来研究一下修改的汉罗塔(简化步骤),在后面我们将来讲述经典的汉罗塔问题。题目:修改后的汉罗塔的规则:现在限制不能从最左侧的塔直接移动到最右侧,必需要经过中间;同时从最右侧移动到最左测试,同样必需经过中间;要求移动N层塔时,打印最优移动1、用递归函数实现(从最左移动到最右)分析:-当只有一层塔时,我们先需要将其从左移到中间,再从中间移动到右边,共分为

    2022年10月11日
    2
  • 小波变换对图像的分解与重构(含matlab代码)

    小波变换对图像的分解与重构(含matlab代码)01小波变换原理所谓的小波的小是针对傅里叶波而言,傅里叶波指的是在时域空间无穷震荡的正弦(或余弦波)。相对而言,小波指的是一种能量在时域非常集中的波,它的能量有限,都集中在某一点附近,而且积分的值为零,这说明它与傅里叶波一样是正交波。举…

    2022年7月23日
    11
  • 淘宝 PC 桌面版更新:支持 OpenClaw 搜索比价加购

    淘宝 PC 桌面版更新:支持 OpenClaw 搜索比价加购

    2026年3月16日
    3
  • 《前端运维》一、Linux基础–05Shell运算符「建议收藏」

    今天我们来学习下Shell运算符,Shell跟其他的编程语言一样,也支持多种运算符,包括:算数运算符关系运算符布尔运算符字符串运算符文件测试运算符那下面,我们就一一来学习一下这些运算符。

    2022年3月25日
    35
  • python 字符串反转

    python 字符串反转编写一个函数 其作用是将输入的字符串反转过来 输入字符串以字符数组 s 的形式给出 不要给另外的数组分配额外的空间 你必须原地修改输入数组 使用 O 1 的额外空间解决这一问题 示例 1 输入 s h e l l o 输出 o l l e h 示例 2 输入 s H a n n a h 输出 h a n n a H classSolutio defreve

    2026年3月19日
    2
  • mysql 1062_mysql error:1062问题解决方法

    mysql 1062_mysql error:1062问题解决方法我将 id 的 int 类型改成了 bigint 就可以了 其实再改回来可能也会好了 可能是数据库备份的时候出现了错误 开发的网站后台系统在测试过程中出现了这个问题 InvalidQuery Duplicateent 127 forkey1SQLis INSERTINTO kq news Title Author Type Content IsDel A

    2026年3月26日
    2

发表回复

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

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