当前位置: 首页 > 科技观察

你不知道的多种CSS居中方案!

时间:2023-03-16 19:55:08 科技观察

水平居中1.内联元素要使一个内联元素(例如link、span或img)居中,使用text-align:center就足够了。

.desk{text-align:center;}对于多个内联元素,也可以使用text-align:center:
.desk{text-align:center;}2.Flexbox也可以使用flexbox元素快速居中:.desk{display:flex;justify-content:center;}也适用于多个内联项目。当CSSGrid使用网格容器时,图中的板将根据其网格区域居中。请注意,这不适用于多个盘子,除非您将它们包装在一个元素中。.desk{display:grid;justify-content:center;}块元素1.AutoMargin已知宽高的块元素可以通过设置margin-left:auto和margin-right:auto来居中。.plate{width:120px;height:120px;margin-left:auto;margin-right:auto;}对于多个块元素,应该将它们包裹在一个元素中,然后让这个父元素居中。.tray{display:flex;margin-left:auto;margin-right:auto;}2.Flexbox也使用justify-content:center让flexbox元素居中:.desk{display:flex;justify-content:center;对于多个元素,我们不需要将它们包裹在一个元素中,flexbox可以将它们全部居中。CSS定位有了绝对定位,我们可以轻松地通过CSS变换将其水平居中。.plate{position:absolute;left:50%;transform:translateX(-50%);}当元素宽度已知时,可以使用负边距代替CSS变换。.plate{position:absolute;left:50%;margin-left:-60px;}垂直居中1.内联元素垂直填充垂直居中元素最简单的方法之一是使用padding:padding-top:24px;padding-bottom:24px;}2.VerticalAlignvertical-align属性可以应用于一个或多个元素。在这个例子中,叉子和刀子应该在桌子上垂直居中。.desk{text-align:center;}.plate,.fork,.knife{vertical-align:middle;}3.Flexbox为了对齐盘子、叉子和刀子,我们可以使用flexbox:.desk{display:flex;justify-content:center;align-items:center;}块元素1.绝对定位通过对元素进行绝对定位,可以使用CSStransform使元素垂直居中:.plate{position:absolute;top:50%;transform:translateY(-50%);}如果你知道元素的高度,你可以使用负边距代替变换。.plate{position:absolute;top:50%;margin-top:-60px;}2.CSSGrid使用CSSGrid,我们可以使用align-items将项目垂直居中到它们的网格区域。.desk{display:grid;align-items:center;}水平和垂直居中内联元素Padding和TextAlign.plate{text-align:center;padding-top:24px;padding-bottom:24px;}其他元素类型1.Absolutepositioning.plate{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);}2.Flexbox使用justify-content:center和align-items:center元素可以垂直和水平居中:.plate{display:flex;justify-content:center;align-items:center;}CSSGrid可以通过place-items属性,结合了justify-content和align-items:。desk{display:grid;place-items:center;}本文转载自微信公众号“大招天下”,可通过以下二维码关注。转载本文请联系大千世界公众号。