广告位联系
返回顶部
分享到

CSS3几种实现子容器水平垂直居中的方法介绍

css 来源:互联网 作者:佚名 发布时间:2023-11-28 22:16:14 人浏览
摘要

子容器 Flexbox 布局 1 2 3 div style=display: flex;justify-content: center;align-items: center;border:1px solid gray;height:100px;width:100px; div1/div /div 在上述代码中我们实现了垂直水平居中布局,用到的是FlexBox,

子容器

Flexbox 布局

1

2

3

<div style="display: flex;justify-content: center;align-items: center;border:1px solid gray;height:100px;width:100px;">

    <div>1</div>

</div>

在上述代码中我们实现了垂直水平居中布局,用到的是FlexBox,先用display:flex把这个div变成一个Flex容器,用justify-content:center用于在主轴(默认水平)上居中对齐,用align-items:center在侧轴(默认垂直)上居中对齐。实现了一个子容器的水平居中对齐。

position绝对定位+transform

1

2

3

<div style="position: relative;width:100px;height:100px;border:1px solid gray;">

    <div style="position: absolute;top:50%;left:50%;transform: translate(-50%, -50%)">1</div>

</div>

在上述代码中我们用position+transform实现了垂直水平居中,那么好,我们开始讲解。

首先在父容器中,设置relative相对定位,以便子容器实现绝对定位,否则它将定位到整个页面为父元素、然后在子容器中设置绝对定位,使其脱离正常文档流,定位到relative最近的那个div并且设置它的top和left,将容器的顶部和左侧定位到父容器中心,最后使用transform函数,将内部div沿着自身宽高的一般向左上移动这样则可以保证元素完全居中。

注:top和left的50%只是让子元素处在父容器的中心位置,而不会保证完全剧中,只有添加transform函数才会让元素根据自身尺寸想左上移动,前者是父容器的中心点,后者是元素本身中心点。

表格布局

1

2

3

<div style="display: table; width:100px;height:100px;border:1px solid gray;">

    <div style="display: table-cell;vertical-align: middle;text-align: center ">1</div>

</div>

table表格布局是一种传统布局,通过在父容器中设置display:table,使其成为一个包含单元格的表格容器,在子容器中设置为表格单元格,并且用vertival-alige和text-align分别垂直和水平居中。

缺点

Flex布局缺点:旧版浏览器对flexbox支持不完全,可能需要兼容性处理。

绝对定位+transform变换缺点:不适合响应式布局:绝对定为在固定尺寸容器实现,因此不能适应不同屏幕尺寸和设备的布局要求。
对文档流的影响:使用绝对定位可以使元素脱离正常文档流,这可能导致其他元素的布局受到影响。

CSS表格布局缺点:缺乏灵活性:使用表格布局时,难以轻松地对元素进行自适应调整,并且在处理复杂布局需求时可能存在一些限制。
响应式布局的挑战:由于表格布局通常是基于固定的行和列,它可能不太适合实现响应式布局,即在不同设备和屏幕尺寸上调整布局。


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 使用纯CSS实现动态渐变文本特效

    使用纯CSS实现动态渐变文本特效
    如图所示,这是一个炫酷的文本渐变效果,如同冰岛的极光一般。本次的文章让我们逐步分解代码,了解其实现原理。 基于以上动图效果可
  • 使用CSS实现Logo阴影特效的代码

    使用CSS实现Logo阴影特效的代码
    在线演示 实现 HTML 元素: 1 2 3 4 figure section class=img-bg/section img height=320 width=320 src=https://vitejs.dev/logo-with-shadow.png alt=Vite Logo / /figure CSS样式代
  • CSS3几种实现子容器水平垂直居中的方法介绍

    CSS3几种实现子容器水平垂直居中的方法介绍
    子容器 Flexbox 布局 1 2 3 div style=display: flex;justify-content: center;align-items: center;border:1px solid gray;height:100px;width:100px; div1/div /div 在上述代码中我们
  • css中flexbox和grid的区别小结

    css中flexbox和grid的区别小结
    我们是不是被那些不会按预期排列的元素所影响?这篇文章我们将深入探讨css中flexbox和grid的布局。通过了解他们的主要差异,我们会发现这
  • 使用CSS实现多行文本展开收起效果
    在文章阅读、持续段落、多行文本等场景中经常会遇到有展开收起的需求操作,今天使用CSS实现一下具体的实现流程。 二、实现思路 实现多
  • 纯CSS实现炫酷文本时钟特效的代码

    纯CSS实现炫酷文本时钟特效的代码
    如图所示这是一个纯本文时钟效果,和传统的时钟不一样,没有表盘,也没有完整到每一分钟的数字表示当前时刻。 在这个时钟中,当前时
  • 新CSS Math方法中rem()和mod()的使用
    rem() 函数的基础知识 余数的数学概念来自除法,表示一个数不能平均除以另一个数时的余数。例如,在9 4中,9不是4的倍数,因此4不能平均
  • CSS实现空心尖角的代码介绍

    CSS实现空心尖角的代码介绍
    我记得之前刷面试题的时候,CSS面试题里面赫然有一题是如何用CSS实现三角形,我觉得这个问题确实很经典,我上的前端培训班当初就讲过
  • CSS取消移动端长按元素背景色的方法介绍

    CSS取消移动端长按元素背景色的方法介绍
    在开发微信小程序的时候,发现有的元素长按之后,出现了讨厌人的背景色,这就很奇怪,就想把它去掉,所以这里教一下方法: 在所在元
  • CSS文字溢出:ellipsis在IE上不起效果的解决
    单行文本的溢出显示省略号 1 2 3 4 5 p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } 多行文本的溢出显示省略号 方法一: 1 2 3 4 5 6 7
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计