首页 > 其他分享 >CSS设置元素水平居中、垂直居中方式汇总

CSS设置元素水平居中、垂直居中方式汇总

时间:2023-05-25 20:04:52浏览次数:41  
标签:居中 元素 解决方案 top 50% 汇总 margin CSS


按照水平居中、垂直居中、行内元素、块级元素等条件进行组合获取效果

水平居中:行内元素解决方案

只需要把行内元素包裹在一个属性display为block的父层元素中,并且把父层元素添加如下属性即可:

.parent {
    text-align:center;
}

水平居中:块状元素解决方案

.item {
    /* 这里可以设置顶端外边距 */
    margin: 10px auto;
}

水平居中:多个块状元素解决方案

将元素的display属性设置为inline-block,并且把父元素的text-align属性设置为center即可:

.parent {
    text-align:center;
}

水平居中:多个块状元素解决方案 (使用flexbox布局实现)

使用flexbox布局,只需要把待处理的块状元素的父元素添加属性display:flex及justify-content:center即可:

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


垂直居中:单行的行内元素解决方案

.parent {
    background: #222;
    height: 200px;
}

/* 以下代码中,将a元素的height和line-height设置的和父元素一样高度即可实现垂直居中 */
a {
    height: 200px;
    line-height:200px; 
    color: #FFF;
}

垂直居中:多行的行内元素解决方案

组合使用display:table-cell和vertical-align:middle属性来定义需要居中的元素的父容器元素生成效果,如下:

.parent {
    background: #222;
    width: 300px;
    height: 300px;
    /* 以下属性垂直居中 */
    display: table-cell;
    vertical-align:middle;
}

垂直居中:已知高度的块状元素解决方案

.item{
    top: 50%;
    margin-top: -50px;  /* margin-top值为自身高度的一半 */
    position: absolute;
    padding:0;
}

垂直居中:未知高度的块状元素解决方案

.item{
    top: 50%;
    position: absolute;
    transform: translateY(-50%);  /* 使用css3的transform来实现 */
}


水平垂直居中:已知高度和宽度的元素解决方案1
这是一种不常见的居中方法,可自适应,比方案2更智能,如下:

.item{
    position: absolute;
    margin:auto;
    left:0;
    top:0;
    right:0;
    bottom:0;
}

水平垂直居中:已知高度和宽度的元素解决方案2

.item{
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -75px;  /* 设置margin-left / margin-top 为自身高度的一半 */
    margin-left: -75px;
}

水平垂直居中:未知高度和宽度元素解决方案

.item{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);  /* 使用css3的transform来实现 */
}

水平垂直居中:使用flex布局实现

.parent{
    display: flex;
    justify-content:center;
    align-items: center;
    /* 注意这里需要设置高度来查看垂直居中效果 */
    background: #AAA;
    height: 300px;
}

标签:居中,元素,解决方案,top,50%,汇总,margin,CSS
From: https://blog.51cto.com/chengzheng183/6350794

相关文章

  • PAT排名汇总
    计算机程序设计能力考试(ProgrammingAbilityTest,简称PAT)旨在通过统一组织的在线考试及自动评测方法客观地评判考生的算法设计与程序设计实现能力,科学的评价计算机程序设计人才,为企业选拔人才提供参考标准(网址http://www.patest.cn)。每次考试会在若干个不同的考点同时举行,每个考......
  • 用css给坤坤增打篮球加一些灵动效果(ikun忠实粉丝
    首先我们拿出珍藏已久的ikun背景图,没有的下载下来,也可以到网上找一个类似的新建ikun.html,把下载下来的ikun.gif和ikun.html放在同一个文件夹下在ikun.html的div里写满ikun,然后加上一些神奇的css。在线预览ikun.html全部代码<!DOCTYPEhtml><htmllang="zh_CN"><head><......
  • .vue文件中引入单独的css文件
    问题描述单页面应用中一般把样式文件写在.vue文件中,如下:<stylescoped>#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50;margin-top:60px;font-size:1......
  • #Powerbi 1分钟学会,SUMMARIZE函数,分组汇总并新建表
    今天我们来学习一个新的表函数,SUMMARIZE函数是DAX中的一个函数,它可以根据一列或多列对数据进行分组,并且可以使用指定的表达式为汇总后的表添加新列,形成一张新表。一:基础语法SUMMARIZE函数的语法是:SUMMARIZE (表, 分组列1 [, 分组列2]… [, 名称, 表达式]…)其中:表,是任何......
  • 现代 CSS 解决方案:CSS 原生支持的三角函数
    在CSS中,存在许多数学函数,这些函数能够通过简单的计算操作来生成某些属性值,例如:calc():用于计算任意长度、百分比或数值型数据,并将其作为CSS属性值。min()和max():用于比较一组数值中的最大值或最小值,也可以与任意长度、百分比或数值型数据一同使用。clamp():用于将属性值......
  • 【IntelliJ IDEA】idea常用快捷键汇总
    1、查看所有快捷键:Ctrl + J2、sout System.out.println();3、forifor(inti=0;i<;i++){}4、ititwhile(iterator.hasNext()){Objectnext=iterator.next();}5、itlifor(inti=0;i<list.size();i++){Objecto=list.get(i);}6、itarfor(......
  • KSV5-系统错误或用户设置: 在集中为表CCSS的读取错误
    系统错误或用户设置:在集中为表CCSS的读取错误消息号GA622诊断设置应用于分配配置(表T811X)。不存在设置。系统响应因为发生严重系统错误或者分配配置错误,处理被终止。步骤配置错误通常是由于版本修改或者集团复制不完全。使用程序RK811XST,可以排除这些错误。运行该......
  • CSS:页面美化和布局控制和选择器
    CSS:页面美化和布局控制和选择器概念:CascadingStyleSheets层叠样式表层叠:多个样式可以作用在同一个html的元素上,同时生效好处:功能强大将内容展示和样式控制分离降低耦合度。解耦让分工协作更容易提高开发效率CSS的使用:CSS与html结合方式内联样式在标签内使用style属......
  • css优先级
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><metahttp-equiv="X-UA-Compatib......
  • HTML与CSS综合设计报告
    【项目描述】最近来自国产的独立像素游戏《风来之国》发售,借此做一个相关的游戏介绍网页来介绍这款游戏,并收集感兴趣玩家的信息反馈,以此改进游戏,吸引玩家的加入。  图1主页预览图【涉及知识点】1、 HTML布局2、 文本属性3、 图片的插入4、 css链入式的使用......