首页 > 其他分享 >CSS 元素居中

CSS 元素居中

时间:2023-01-12 23:56:42浏览次数:36  
标签:居中 元素 parent 50% Grid Template grid display CSS

CSS 页面元素的居中有多种方法,常用的有以下几种:

1.使用 Flexbox 布局:

#parent {
  display: flex;
  align-items: center;
  justify-content: center;
}

2.使用 Grid 布局:

#parent {
  display: grid;
  place-items: center;
}

3.使用 Grid Layout 和 Grid Template Columns 和 Grid Template Rows:

#parent {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  grid-column: 2/3;
  grid-row: 2/3;
}

4.使用 CSS Grid 布局和 Grid Template Columns 和 Grid Template Rows:

#parent {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
}
#child {
  grid-column: 2/3;
  grid-row: 2/3;
}

5.使用 CSS Grid 布局和 Grid Template Areas:

#parent {
  display: grid;
  grid-template-areas: ". . ." ". mydiv ." ". . .";
}

6.使用 position 属性和 transform 属性:

#parent {
  position: relative;
}

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

7.使用 text-align 和 line-height 属性:

#parent {
  text-align: center;
}
#child {
  display: inline-block;
  line-height: 300px; /* 高度值 */
}

8.仅水平居中:

#mydiv {
  margin: 0 auto;
  width: 200px; /* 元素宽度 */
}

9.仅垂直居中:

#mydiv {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

10.使用 Table 布局:

#mydiv {
  display: table;
  margin: 0 auto;
}

11.使用 absolute 定位和 calc() 函数:

#mydiv {
  position: absolute;
  top: calc(50% - 150px); /* 高度的一半 */
  left: calc(50% - 150px); /* 宽度的一半 */
  width: 300px; /* 自身宽度 */
  height: 300px; /* 自身高度 */
}

这些方法中有些需要父元素支持,如 Flexbox 布局和 Grid布局需要在父元素上添加相应的布局。

标签:居中,元素,parent,50%,Grid,Template,grid,display,CSS
From: https://www.cnblogs.com/yuzhihui/p/17048284.html

相关文章

  • LeetCode.203 移除链表元素
    1.题目:给你一个链表的头节点 ​​head​​ 和一个整数 ​​val​​ ,请你删除链表中所有满足 ​​Node.val==val​​ 的节点,并返回 新的头节点 。 示例:输入:head=......
  • CSS手册
    3.CSS背景1.颜色body{background-color:#b0c4de;}十六进制-如:"#ff0000"RGB-如:"rgb(255,0,0)"颜色名称-如:"red"默认transparent透明从父元素继承inherit;......
  • Vue打包出现Module build failed: ValidationError: CSS Loader Invalid Options
    去网上搜了一圈都是说:去掉minimize这个属性我用的是4.0的脚手架,安装的css-loader是3.2版本的所以没有这个属性解决方法:看到一个人说降级到0.28.7版本试了一下,可行......
  • Normalize.css 默认样式
    /*!normalize.cssv2.1.2|MITLicense|git.io/normalize*//*/*!我就是自己看看,然后翻译下下,让大家看看*//*==============================================......
  • CSS 网格(Grid)布局
    CSSGrid布局是一种二维布局方式,可以将页面分成行和列,并在其中放置元素。使用Grid布局时,需要定义网格容器和网格项目。第一步,在网格容器元素(通常是一个div)上设置disp......
  • 【Pytorch】将矩阵中的元素按照区间重新赋值
    目录​​简介​​​​场景描述​​​​解决方法​​​​结语​​简介Hello!非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ ଘ(੭ˊᵕˋ)੭昵称:海轰标签:程序......
  • 【LeetCode链表#6】移除链表元素
    移除链表元素题目力扣题目链接(opensnewwindow)题意:删除链表中等于给定值val的所有节点。示例1:输入:head=[1,2,6,3,4,5,6],val=6输出:[1,2,3,4,5]示例2:输......
  • 定位居中
          transform:translate(-50%,-50%);移动盒子自身宽度的-50%......
  • LeetCode刷题(9)~存在重复元素
    题目描述给定一个整数数组,判断是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回true。如果数组中每个元素都不相同,则返回false。示例1:输入:[1,2,3,1]输......
  • LeetCode刷题(59)~使数组中所有元素相等的最小操作数【第202场周赛:题目二】
    题目描述存在一个长度为n的数组arr,其中arr[i]=(2*i)+1(0<=i<n)。一次操作中,你可以选出两个下标,记作x和y(0<=x,y<n)并使arr[x]减去1、arr[y]......