外链论坛

 找回密码
 立即注册
搜索
查看: 82|回复: 4

CSS垂直居中

[复制链接]

2965

主题

144

回帖

9912万

积分

论坛元老

Rank: 8Rank: 8

积分
99129184
发表于 2024-6-30 06:15:48 | 显示全部楼层 |阅读模式

说到CSS居中,咱们首要思虑水平居中,由于它最为简单。

分为两种状况

1.行内元素必须水平居中,那咱们 就text-align:center;

2:块级元素必须水平居中,那咱们就margin:auto;

这儿有些伴侣会问,什么是行内元素,什么是块级元素。

重点的区别便是块级元素会自动换行,一个元素便是一个块,她会占据父元素的全部空间,会自动换行。而行内元素,它所占据的范围便是它的本身的内容。不会自动换行。

平常的块级元素有 div form table h1 h2 h3 ...,平常的行内元素有Input, a, span,img,label.

接下来咱们来讲一说垂直居中。

分为两种状况

1.父标签的高度不写死高度,那样很简单,便是padding:10px 0;道理很简单便是上下内边距同样就可

2.父标签的高度写死的状况下,那样就有了以下的几种办法

a.首要必定是tabel办法由于最早的程序员都是这么进行布局的。

<table class="father"> <tr> <td class="child"> 1231123 </td> </tr> </table>

b.auto重要字默认自动分配剩余空间,而宽度相针对window是固定的,因此咱们在一起始介绍水平居中的时候,margin:0 auto;自动分配水平空间,可是高度相针对window并非是固定的,因此咱们运用margin:auto 0的时候,必定相对的是父元素。于是就有了。

<div class="father"> <div class="son"> 1233 </div> </div> --css-- 为保持代码的方便记忆性,我就不写宽高和边框了。 .father{ position:relative; } .son{ position:absolute; margin:auto 0; top:0; bottom:0; }

c.让咱们顺着相对定位来继续讲,这般能够让思维规律更加的连贯。仍然是子元素相针对父元素进行定位。

<div class="father"> <div class="son"> 1233 </div> </div> --css-- .father{ position:relative; width:100px; height:100px; } .son{ position:absolute; top:50%; width:100px; height:100px; }

重视此时是子元素的左上角那个点在垂直居中的位置,可是我此刻得让子元素的水平分割线和父元素的水平分割线处在同一个位置,那样我就得让我的子元素往上面挪一下,挪多少,就挪自己高度的一半,于是我又得加上一句 margin-top:-50px;于是乎这个办法的缺陷暴露给了大众便是我还得晓得元素的高度的一半,必须我去计算,很是不方便。

以上这个新添的一句 等同于

transform:translate(0%,-50%)

有些人爱好她们分为两种办法,实在是增多了记忆的繁琐,本质便是一个东西。

d.接下来的办法会有点奇怪和难记

<div class="father"> <div class="son"> 1233 </div> </div> --css-- .father:after{ content:; display:inline-block; vertical-align:middle; height:100%; } .son{ display:inline-block; vertical-align:middle; }

e.说了以上那样多,还不是为了引出FLEX布局这个大boos。后期准备专门为他写一篇文案实质工作里面,只要会了FLEX,就能够任我行!

<div c




上一篇:怎么让一个 div 水平垂直居中?
下一篇:CSS实现垂直居中的几种办法
回复

使用道具 举报

3090

主题

3万

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99098764
发表于 2024-10-1 22:42:55 | 显示全部楼层
你的见解真是独到,让我受益匪浅。
回复

使用道具 举报

3090

主题

3万

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99098764
发表于 2024-10-7 00:25:45 | 显示全部楼层
期待楼主的下一次分享!”
回复

使用道具 举报

3121

主题

3万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99108633
发表于 2024-10-30 08:41:46 | 显示全部楼层
“NB”(牛×的缩写,表示叹为观止)‌
回复

使用道具 举报

3132

主题

3万

回帖

9996万

积分

论坛元老

Rank: 8Rank: 8

积分
99968646
发表于 4 天前 | 显示全部楼层
大势所趋,用于讽刺一些制作目的就是为了跟风玩梗,博取眼球的作品。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 22:09 , Processed in 0.106886 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.