,在前端开发工程师的日常生活中,使用 CSS 使元素居中是很常见的,这也是面试中经常被问到的问题。,也许你已经使用 flex 或 absolute + transform 来实现它,但你知道至少有 10 种方法可以做到元素居中吗?因此,在今天的文章中,我为大家整理了10个关于实现元素居中的CSS技巧,希望可以帮助你提升CSS技术。,如果元素的宽度和高度已知,我们可以使用至少 3 种方法来使元素居中。例如,在下图中,小猫的宽度和高度分别为“500px”和“366px”。我们应该如何居中?,
,用 ‘absolute + (-margin) ` 很容易完成!代码如下:,HTML,CSS,这种方法简单易懂,兼容性好,缺点是我们需要知道子元素的宽高。,演示地址:https://codepen.io/qianlong/pen/yLKXLxM,我们还可以通过将所有方向的距离设置为 0 ,并将边距设置为自动来使小猫居中。,CSS代码如下:,和第一种方法一样,它的兼容性也很好,缺点是需要知道子元素的宽高。,演示地址:https://codepen.io/qianlong/pen/RwMgweO,CSS3 带来了 calc 计算属性,它允许我们通过它来居中一个元素,代码如下:,这种方法的兼容性取决于calc的兼容性,缺点是需要知道子元素的宽高。,演示地址:https://codepen.io/qianlong/pen/zYWzYyR,以上三种方法必须提前知道元素的宽高,但元素的宽高不确定怎么办?于是就有了flex ,它非常适合这个。,
,HTML代码:,CSS代码:,这真的很酷,我们可以用很少的代码来居中一个元素,这是我最喜欢的使用方式。,演示地址:https://codepen.io/qianlong/pen/abYyzvG,像 flex 一样,grid 也可以非常方便地用于使元素居中。,CSS代码:,演示地址:https://codepen.io/qianlong/pen/dymzPMa,使用变换,我们还可以在事先不知道元素的宽度和高度的情况下使元素居中。,CSS代码:,演示地址:https://codepen.io/qianlong/pen/KKovwgW,以上6种方式比较容易理解,在我们的工作中也经常用到,接下来的 4 种方法似乎使用频率较低,但也值得学习。,首先,我们可以将 span 的“display”属性设置为“inline-block”。然后通过设置容器的text-align属性为center,span元素可以水平居中。结合 line-height 和其他属性使其垂直居中。,CSS代码:,演示地址:https://codepen.io/qianlong/pen/dymzPWL,CSS新的table属性让我们可以将普通元素变成表格元素的真实效果,通过这个特性,一个元素也可以居中。,CSS,演示地址:https://codepen.io/qianlong/pen/dymzPJE,过去,我习惯使用 write-mode 将内容的布局方向更改为垂直。,但令人惊奇的是它还可以使元素居中,不过这种方法有点难理解,代码量会比较多。,HTML代码:,CSS代码:,演示地址:https://codepen.io/qianlong/pen/vYRJErY,最后,当然,最后一种方式是最不推荐的方式,但我提到它只是作为学习的一个例子。我不建议你在工作中使用它,因为它(在我看来有点)很糟糕。,HTML代码:,CSS代码:,演示地址:https://codepen.io/qianlong/pen/yLKoyqv,以上就是我今天与你分享的10个关于CSS实现元素居中的小技巧,希望你能从中学到你想要的知识,如果你觉得它有用的话,请记得点赞我,关注我,并将它分享给你身边做开发的朋友,也许能够帮助到他。,最后感谢你的阅读,祝编程愉快,我们明天见。
© 版权声明
文章版权归作者所有,未经允许请勿转载。