首页 > 其他分享 >你不知道的 CSS 居中方案

你不知道的 CSS 居中方案

时间:2023-06-12 12:37:39浏览次数:22  
标签:居中 方案 50% center align 元素 desk CSS

水平居中

内联元素

要使内联元素(如链接,span 或img)居中,使用 text-align: center 足够了。

<div class="desk">
   <span class="plate"></span>
</div>
.desk {
  text-align: center;
}

你不知道的 CSS 居中方案_垂直居中

 

对于多个内联元素,也可以使用text-align:center:

<div class="desk">
   <span class="plate"></span>
   <span class="plate"></span>
</div>
.desk {
  text-align: center;
}

你不知道的 CSS 居中方案_垂直居中_02

 

Flexbox

使用 flexbox 也可以快速居中元素:

.desk {
  display: flex;
  justify-content: center;
}

对于多个内联的项目,也可以正常工作:

你不知道的 CSS 居中方案_内联元素_03

 

CSS Grid

使用网格容器时,图中的盘子将根据其网格区域居中。请注意,除非将它们包裹在一个元素中,否则这将不适用于多个盘子。

.desk {
  display: grid;
  justify-content: center;
}

你不知道的 CSS 居中方案_垂直居中_04

 

块元素

Auto Margin

宽度和高度已知的块元素可以通过设置margin-left:auto 和 margin-right:auto 居中元素。

.plate {
  width: 120px;
  height: 120px;
  margin-left: auto;
  margin-right: auto;
}

你不知道的 CSS 居中方案_垂直居中_05

 

对于多个块元素,它们应该包装在一个元素中,然后让这个父元素居中。

.tray {
  display: flex;
  margin-left: auto;
  margin-right: auto;
}

你不知道的 CSS 居中方案_CSS_06

 

Flexbox

对于 flexbox 同样也是使用 justify-content:center 来居中元素:

.desk {
  display: flex;
  justify-content: center;
}

你不知道的 CSS 居中方案_内联元素_07

 

对于多个元素,我们不需要将它们包裹在一个元素中,flexbox 可以将它们都居中。

CSS定位

通过绝对定位,我们可以轻松地通过CSS transform将其水平居中。

.plate {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

你不知道的 CSS 居中方案_垂直居中_08

 

在已知元素宽度的情况下,可以使用负边距代替CSS transform。

.plate {
  position: absolute;
  left: 50%;
  margin-left: -60px;
}

垂直居中

内联元素

Vertical Padding

垂直居中元素最简单的方法之一是使用padding:

padding-top: 24px;
  padding-bottom: 24px;
}

你不知道的 CSS 居中方案_垂直居中_09

 

Vertical Align

vertical-align属性可用于一个或多个元素。

在此示例中,叉子和刀子应与桌子垂直居中。

.desk {
  text-align: center;
}

.plate,
.fork,
.knife {
  vertical-align: middle;
}

Flexbox

为了对齐盘子,叉子和刀,我们可以使用 flexbox:

.desk {
  display: flex;
  justify-content: center;
  align-items: center;
}

你不知道的 CSS 居中方案_内联元素_10

 

块元素

绝对定位

通过绝对定位元素,可以使用 CSS transform将元素垂直居中:

.plate {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

你不知道的 CSS 居中方案_垂直居中_11

 

如果知道元素高度,则可以使用负边距代替transform。

.plate {
  position: absolute;
  top: 50%;
  margin-top: -60px;
}

CSS Grid

使用CSS网格,我们可以使用align-items将项目垂直于其网格区域居中。

.desk {
  display: grid;
  align-items: center;
}

你不知道的 CSS 居中方案_CSS_12

 

水平垂直居中

内联元素

Padding 和Text Align

.plate {
  text-align: center;
  padding-top: 24px;
  padding-bottom: 24px;
}

其他元素类型

绝对定位

.plate {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
}

你不知道的 CSS 居中方案_内联元素_13

 

Flexbox

通过 justify-content:center 和 align-items:center 就可以将元素垂直水平居中:

.plate {
  display: flex;
  justify-content: center;
  align-items: center;
}

CSS Grid

通过place-items属性就可以通过,它结合了justify-content和align-items:

.desk {
  display: grid;
  place-items: center;
}

 



标签:居中,方案,50%,center,align,元素,desk,CSS
From: https://blog.51cto.com/u_14347868/6461358

相关文章

  • 智慧园区3D可视化解决方案
                          ......
  • 智慧街道智慧小脑解决方案
                                ......
  • 数字乡村方案建设
    数字乡村方案建设主要内容1、建设背景及需求分析乡村振兴战略国家大数据战略2、乡村振兴顶层设计数字乡村建设蓝图乡村振兴建设蓝图3、三农大数据建设方案农业大数据顶层设计农业物联网平台农产品质量追溯平台电子商务平台休闲农业平台综合门户信息发布平台三资信息平台智慧党建服......
  • 基于三维地图的智慧园区可视化解决方案
    建设目标目标:建设以园区地图数据为基础,汇聚园区各类信息的可视化应用。通过园区空间信息实施、业务信息汇聚,为园区可视化管理提供数据支撑。同时基于信息的统一管理、横向关联与分析统计,建设园区可视化应用,逐步打造智慧化的园区管理模式,更能够为园区企业和客户提供智慧化的园区服务......
  • 智慧文旅云平台建设方案
                                ......
  • 智慧农业解决方案
      【资料名称】智慧农业_促进产业结构转型,突破传统业态【资料简介】全文从三个部分描述智慧农业解决方案:1、关于“智慧农业”的思考农业信息化背景、需求分析、建设目标2、“智慧农业”总体规划“智慧农业”建设内容、技术架构、关键技术3、“智慧农业”按需实施综合运营支撑平台......
  • ABP入门教程3 - 解决方案
    点这里进入ABP入门教程目录 创建项目点这里进入ABP启动模板 如图操作,我们先生成一个基于.NETCore的MPA(多页面应用).点击"Createmyproject!"即可创建项目. 解读项目展示层(JD.CRS.Web.Mvc)提供一个用户界面,实现用户交互操作。ASP.NETCoreMVC(模型-视图-控制器)可以视为展示层......
  • 工业物联网IoT平台建设方案
                                         ......
  • 智慧全光园区解决方案
                               ......
  • 智慧园区解决方案
    智慧园区是以互联网为载体,“互联网+产业”融合产业模式为手段,面向园区提供全产业链支撑服务的解决方案。能够帮助园区在信息化方面建立统一的组织管理协调架构,业务管理平台和对内对外服务运营平台。将相关资源形成紧密联系的整体,获得高效、协同、互动的整体效益。1.1.建设背景在经......