如何获取元素在父级div里的位置_css 如何实现水平居中、垂直居中(超全面)...

博客介绍了元素分为块级元素和行内元素,块级元素可设宽高,行内元素若要设置宽高可将 display 属性设为 inline - block。还讲解了行内元素水平对齐方法,即给当前元素的父级元素设置 text - align:center。

前言:元素一般分为 块级元素 和 行内元素   

块级元素可以设置高度,宽度,行内元素则不能,如果非要给行内元素设置宽高,只需要将 display 属性设置为  inline-block 即可

一.水平对齐:

1.行内元素 

· 给当前元素的父级元素设置 text-align:center

代码:

.box{text-align: center;/* 此处父元素没有宽度和高度               宽度默认为浏览器的可视宽度               高度默认为0, 此处是 p标签内容 撑出来的高度 */}.text{}
class="box"><p class="text">我是一段文字p></div>

展示:

c4d7c405badfa265f588d514a70f7ab8.png

2.块级元素

· 该块级元素有固定的宽度 ,给该元素设置  margin : 0  auto

代码

.box{width: 200px;margin: 0 auto;/* 此处的 0 可以为任意的尺寸 */background-color: red;/* 为了方便大家看该元素的位置,此处加了背景颜色 */}
class="box">我是块级元素

展示:

1368c027480b6c2ac0e4f4269de87f3f.png

拓展:如果需要多个 块级元素 居中对齐呢?

方法一:

代码:

.box{margin: 0 auto;width: 325px;}.box_one{background-color: red;}.box_two{background-color: blue;}.box_three{background-color: greenyellow;}.box_one,.box_two,.box_three{display: inline-block;}<body><div class="box"><div class="box_one">我是块级元素1div><div class="box_two">我是块级元素2div><div class="box_three">我是块级元素3div>div>body>

展示:

afcab88e850b6db70a5ac000c4fbfb55.png

方法二(flex 布局):

还不了解flex布局的朋友可以看看这篇 :flex布局看这一篇就够了

代码:

.box{display: flex;flex-direction: row;justify-content: center;}.box_one{background-color: red;}.box_two{background-color: blue;}.box_three{background-color: greenyellow;}.box_one,.box_two,.box_three{}<body><div class="box"><div class="box_one">我是块级元素1div><div class="box_two">我是块级元素2div><div class="box_three">我是块级元素3div>div>body>

展示:

85a7ed64239dbbf2e7e348dcb60b3b9f.png

二.垂直居中:

为了方便演示,此处的垂直居中,均在 div 盒模型中演示 

1-1.行内元素(单行)

·line-height 属性 设置的高度和父元素的高度相同即可

代码:

*{padding: 0;margin: 0;}.box{background-color: red;width: 10vw;height: 100px;}p{color: white;line-height: 100px;}
"box">

我是一行文字

展示:

dc4689f26d84f9887f2caacbc1f1ef82.png

1-2.行内元素(多行)

此处推荐使用flex布局

代码:

*{padding: 0;margin: 0;}.box{background-color: black;width: 10vw;height: 100px;display: flex;flex-direction:column;justify-content: center;}p{color: white;}<body><div class="box"><p>我是一行文字p><p>我是一行文字p><p>我是一行文字p>div>body>

展示:

7f74f1e0b1974d753db7b89f255e2389.png

2-1.块级元素(单个)

要不要尝试一下使用定位属性实现呢

代码:

.box{background-color: black;width: 300px;height: 300px;position: relative;}.box_son{width: 50px;height: 50px;background-color: white;position: absolute;top: 50%;transform: translateY(-50%);}
"box">
"box_son">

展示:

bd566bd7e2833ea54d65ee67000543a9.png

2-2.块级元素(多个)

如果有多个块级元素呢?那我还是推荐 flex布局哈,大家都可以试试,我这个就不浪费大家时间了,下面来总结一下,在现实生活中,其实水平居中和垂直居中是相辅相成的,下面给大家使用flex布局给大家展示一下

3.综合展示

3-1.块级

.box{background-color: black;width: 300px;height: 300px;display: flex;align-items: center;justify-content: center;}.box_son{width: 50px;height: 50px;background-color: white;}
"box">
"box_son">

95a2b59d650826df1afc286fbf3d3f64.png

3-2.行内元素

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值