首页 > 其他分享 >CSS设置水平垂直居中

CSS设置水平垂直居中

时间:2024-05-28 12:55:08浏览次数:27  
标签:居中 Flexbox 元素 高度 垂直 为视口 CSS

在CSS中,有多种方法可以实现元素的水平垂直居中。以下是一些常见的方法:

1. 使用Flexbox

Flexbox是CSS3引入的一个强大的布局模型,可以轻松地实现元素的水平垂直居中。

css
.container {
display: flex;
justify-content: center; /* 水平居中 */
align-items: center; /* 垂直居中 */
height: 100vh; /* 设置容器高度为视口高度,以便看到垂直居中效果 */
}
 
.centered-element {
/* 这里是你要居中的元素的样式 */
}

2. 使用Grid

CSS Grid也是CSS3引入的一个布局模型,同样可以实现元素的水平垂直居中。

css
.container {
display: grid;
place-items: center; /* 同时实现水平垂直居中 */
height: 100vh; /* 设置容器高度为视口高度,以便看到垂直居中效果 */
}
 
.centered-element {
/* 这里是你要居中的元素的样式 */
}

3. 使用定位(Positioning)和转换(Transform)

如果你不想使用Flexbox或Grid,可以使用定位和转换来实现居中。

css
.container {
position: relative; /* 或 absolute/fixed,取决于你的布局需求 */
height: 100vh; /* 设置容器高度为视口高度,以便看到垂直居中效果 */
}
 
.centered-element {
position: absolute;
top: 50%; /* 将元素的顶部移动到父元素的中心 */
left: 50%; /* 将元素的左边移动到父元素的中心 */
transform: translate(-50%, -50%); /* 使用转换将元素自身的中心移动到刚才计算出的位置 */
}

4. 使用表格布局(不推荐)

虽然现代布局方法更为推荐,但使用表格布局(table-cell)也可以实现居中。

css
.container {
display: table-cell;
vertical-align: middle; /* 垂直居中 */
text-align: center; /* 水平居中(对于内联元素或文本) */
height: 100vh; /* 设置容器高度为视口高度,以便看到垂直居中效果 */
width: 100%; /* 设置容器宽度为父元素宽度 */
}
 
.centered-element {
display: inline-block; /* 如果元素是块级元素,需要转换为内联块级元素以应用text-align */
}

请注意,每种方法都有其适用的场景和限制。在选择使用哪种方法时,请考虑你的具体需求和项目上下文。在现代网页开发中,Flexbox和Grid通常是最灵活和强大的选择。

标签:居中,Flexbox,元素,高度,垂直,为视口,CSS
From: https://www.cnblogs.com/suducn/p/18217699

相关文章

  • 自定义CSS属性(@property)解决自定义CSS变量无法实现过渡效果的问题
    且看下面的代码:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>demot</t......
  • 【scss】基于:empty伪类的空元素回显及加载状态
    mixin.scss/**空内容height:占位高度**/@mixinempty-block($height:220px){display:block;position:relative;width:100%;min-height:$height;//图片高度background-image:url('~@/assets/images/default-img/no-data.svg');background-repeat......
  • 代码雨(coderain)源码(html5+css3+javascript,原创)
     大家看过黑客帝国的代码雨吗?本人自己写了一个,效果还可以。演示效果请见https://www.lanbaoshi.site/coderain.htm下面上代码:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="htt......
  • SCSS入门指南:基本语法与高效用法
    关于SCSS(SassyCSS)基本使用的文章概述:###1.SCSS简介*SCSS是一种CSS的扩展语言,它允许开发者使用更强大、更灵活的语法来编写样式表。*SCSS提供了变量、嵌套规则、混合宏等高级功能,使得CSS代码更加模块化和可维护。*SCSS最终被编译成标准的CSS文件,以供浏览器解析。###2.安......
  • 探索SCSS:让CSS开发更高效的预处理器
    在现代前端开发中,CSS预处理器已成为不可或缺的工具。SCSS(SassyCSS)作为Sass的一种语法扩展,结合了Sass的强大功能和CSS的简洁语法,使得编写样式变得更加灵活和高效。本文将详细介绍SCSS的特点、使用方法以及最佳实践,帮助开发者更好地掌握这一强大的工具。一、SCSS简介SCSS是......
  • Css简要笔记
    Css官方文档:https://www.w3school.com.cn/css/index.asp1,css快速入门和语法<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>css快速入门</title><!--1.在head标签内,出现了<stylet......
  • HTML+CSS实现全景轮播的示例代码
    创建一个全景轮播效果可以通过HTML和CSS来实现,这里提供一个简单的示例代码。这个示例中,我们将使用HTML来构建基本的轮播结构,CSS来添加样式和实现轮播效果。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-wi......
  • Preserve Built-in and User-Defined Styles as CSS
    PreserveBuilt-inandUser-DefinedStylesasCSSGroupDocs.EditorforJava24.4addstheabilitytopreserveandstorebuilt-inanduser-definedstylesasCSSrulesetsinanexternalstylesheet.GroupDocs.EditorforJavaisadocumenteditingl......
  • (读后分享)移动Web前端高效开发实战:HTML 5 + CSS 3 + JavaScript + Webpack + React Nat
    链接:pan.baidu.com/s/1tIHXj9HmIYojAHqje09DTA?pwd=jqso提取码:jqsoHTML5新特性与应用:介绍HTML5的新特性,包括语义化标签、本地存储、设备兼容、连接特性等,并讲解如何在移动Web前端开发中充分利用这些特性提升用户体验。CSS3样式与动画设计:详细讲解CSS3的样式设计和动画效果,包......
  • CSS的定位和浮动
    css的定位CSS的定位属性有三种,分别是绝对定位,相对定位,固定定位position:absolute;<!--绝对定位-->position:relative;<!--相对定位-->position:fixed;<!--固定定位-->相对定位让元素相对于自己原来的位置,进行位置调整(可用于盒子的位置微调)举例<!doctypehtml>......