天涯论坛

 找回密码
 立即注册
搜索
查看: 98|回复: 1

CSS实现水平垂直居中(多办法)

[复制链接]

3056

主题

155

回帖

9923万

积分

论坛元老

Rank: 8Rank: 8

积分
99238923
发表于 2024-6-30 05:28:20 | 显示全部楼层 |阅读模式

前言

今天来瞧瞧一个之前困惑我很久的问题,在CSS中,水平垂直居中,能有几种写法。

办法一:margin:auto

子绝父相,当元素绝对定位的时候,会按照近期父元素进行定位,利用这个特性,咱们有了这种办法

CSS代码:

div{ width: 600px; height: 600px; position: relative; border: 1px solid #000000; } img{ position: absolute; margin: auto; top: 0; left: 0; right: 0; bottom: 0; }

HTML代码:

<div> <img src="avatar.jpg"> </div>

效果图:

marginauto.png

办法二:flex弹性盒子法

利用flex,align-items:center是掌控垂直方向居中,justify-content:center是掌控水平方向的居中。

CSS代码:

div{ width: 600px; height: 600px; display: flex; align-items: center; justify-content: center; border: 1px solid #000000; } img{ }

HTML代码:

<div> <img src="avatar.jpg"> </div>

效果图:

marginauto.png

办法三:margin:负数法

margin能够为负数是我在牛客上报了个课之后才学到的,在那之前始终试过。

道理其实跟办法一差不多,经过百分比将照片移动到容器中心,再对齐中心点就行了。

要记住margin倘若是负数的话便是向该方向移动,例如margin-left:-100px;,便是向左移动100px。它与正常添加margin是撑开正好相反。

还不明白能够去写个小demo就懂啦。

CSS代码:

div{ width: 600px; height: 600px; position: relative; border: 1px solid #000000; } img{ width: 400px; height: 400px; position: absolute; top: 50%; left: 50%; margin-top: -200px; margin-left: -




上一篇:css水平垂直居中的几种方式
下一篇:CSS 水平+垂直居中的方式
回复

使用道具 举报

0

主题

1万

回帖

1

积分

新手上路

Rank: 1

积分
1
发表于 2024-9-8 08:28:20 | 显示全部楼层
你的留言真是温暖如春,让我感受到了无尽的支持与鼓励。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|天涯论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-22 19:10 , Processed in 0.122308 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.