16种CSS水平垂直居中方法

article/2025/9/27 15:22:27

16种css水平垂直居中方法以及应用(文字、图片)

一、垂直居中
1、行内元素

基本思想:单行文本子元素line-height 值为父元素 height 值

.parent {height: 200px;
}.son {line-height: 200px;
}
2、块级元素
2.1行内块级元素

基本思想:元素是行内块级,使用display: inline-block, vertical-align: middle+伪元素处于容器中央

兼容性:支持IE7

.parent::after, .son{display:inline-block;vertical-align:middle;
}
.parent::after{content:'';height:100%;
}
2.2table布局

兼容性:支持IE6/IE7,IE8无效

.parent {display: table;
}
.son {display: table-cell;vertical-align: middle;
}
2.3flex弹性布局

2009版写法

兼容性:不支持IE

.parent {display: box;box-orien: vertical;box-pack: center;
}

2012版写法

兼容性:IE8/IE9不支持

.parent{display:flex;justify-content:center;
}
.son{align-self:center;
}
2.4绝对定位+transform:translate(-50%,-50%)
.parent{position:relative;
}
.son{position: absolute;top:50%;left:50%;transform:translate(-50%,-50%);
}
二、水平居中
1、行内元素

基本思想:父元素设置text-align: center即可实现行内元素水平居中

.parent {text-align: center;
}
2、块级元素
2.1一般居中

基本思想:该元素设置margin:0 auto

.son {margin: 0 auto;
}
2.2子元素含float

基本思想:子元素包含 float:left 属性, 让父元素宽度设置为fit-content,并且配合margin,fit-content是css3的新属性值

.parent{width:fit-content;margin:0 auto;
}.son {float: left;
}
2.3 flex弹性布局

2009版本写法

.parent{display:box;box-orient:horiaontal;box-pack:center;
}

2012版写法

.parent{display:flex;justify-content:center;
}
2.4绝对定位
  • transform
.son{position:absolute;left:50%;transform:translate(-50%,0);
}
  • 负值margin-left
.son{position:absolute;with:固定宽度left:50%;margin-left:-0.5*固定宽度;
}
  • left:0;right:0;margin:0 auto
.son{position:absolute;width:固定宽度;left:0;right:0;margin:0 auto;
}
三、具体应用–文字居中
3.1css如何设置文字水平居中

基本思想:css使用text-align规定水平对齐方式,影响一个元素的文本行相互的对齐方式。center值设置文本居中

注意:text-align应用与容器,针对容器里面的文字以及容器里面的display:inline/inline-block,若是display:block无影响

text-align具备向下传递的特点,设置一个div,div里面的也会居中

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style>.box {width: 500px;height: 80px;background: rgb(228, 178, 187);text-align: center;}</style>
</head><body><div class="box">css 水平居中了--文本文字</div>
</body></html>

在这里插入图片描述

3.2css如何设置文字垂直居中
  • 单行文本:基本思想是行高(line-height)和所在区域高度(height)设置一致
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style>.box {width: 500px;height: 80px;background: rgb(228, 178, 187);line-height: 80px;}</style>
</head><body><div class="box">css 垂直居中--单行文本</div>
</body></html>

在这里插入图片描述

  • 多行文本

(1)当父级元素高度不固定

当父级元素不固定,会随着内容变化,高度只能通过文本的高度来撑开,所以需要使用内填充padding来使多行文本居中。只需要设置padding-top的值与padding-bottom的值相等

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style>.box {width: 500px;margin: 50px auto;background: rgb(228, 178, 187);padding-top: 50px;padding-bottom: 50px;padding-right: 20px;padding-left: 20px;}</style>
</head><body><div class="box">css 垂直居中--多行文本--父级高度不固定</div>
</body></html>

在这里插入图片描述

(2)当父级元素高度固定

vertical-align:middle +display:table-cell

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style>.box {width: 500px;height: 100px;background: rgb(228, 178, 187);vertical-align: middle;display: table-cell;}</style>
</head><body><div class="box">css 垂直居中--多行文本--父级高度固定</div>
</body></html>

在这里插入图片描述

四、具体引用–图片居中
4.1display:table

基本思想:最外层div display: table+img父元素display: table-cell、vertical-align: middle

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style>.box {width: 300px;height: 200px;background: rgb(228, 178, 187);display: table;}#imgbox {display: table-cell;vertical-align: middle;}#imgbox img {width: 200px;}</style>
</head><body><div class="box"><div id="imgbox"><img src="1.jpg" alt="图片1"></div></div>
</body></html>

在这里插入图片描述

思考:如何在图片垂直居中基础上+水平居中

基本思想:最外层div text-align: center(具有向下传递的特点)

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style>.box {width: 300px;height: 200px;background: rgb(228, 178, 187);display: table;text-align: center;/*增加的一行代码*/}#imgbox {display: table-cell;vertical-align: middle;}#imgbox img {width: 200px;}</style>
</head><body><div class="box"><div id="imgbox"><img src="1.jpg" alt="图片1"></div></div>
</body></html>

在这里插入图片描述

4.2flex实现

基本思想:display: flex;align-items: center

兼容性:不是最好的选择,IE8/IE9不支持

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style>.imgbox {width: 300px;height: 200px;background: rgb(228, 178, 187);display: flex;align-items: center;}.imgbox img {width: 150px;height: 100px;align-items: center;}</style>
</head><body><div class="imgbox"><img src="1.jpg" alt="图片1"></div>
</body></html>

在这里插入图片描述

4.3绝对定位

基本思想:img父元素相对定位position: relative+子元素绝对定位position: absolute,img的top设置为50%,负值margin-top(这个是想实现垂直居中元素高度的一半),不确定高度用transform:translateY(-50%)

兼容性:推荐写法,兼容性好

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style>.imgbox {width: 300px;height: 200px;background: rgb(228, 178, 187);position: relative;margin: 0 auto;}.imgbox img {width: 150px;position: absolute;top: 50%;transform: translateY(-50%);}</style>
</head><body><div class="imgbox"><img src="1.jpg" alt="图片1"></div>
</body></html>

在这里插入图片描述


http://chatgpt.dhexx.cn/article/LAxxWOa4.shtml

相关文章

【CSS】CSS实现水平垂直居中

元素水平垂直居中的场景很常见&#xff0c;常用的方法如下&#xff1a; &#xff08;以下方法在chorme测试可行&#xff09; 一、文本垂直居中 <div class"test">这是一段文字</div>.test {width: 200px;height: 200px;background: orange;text-align:…

CSS实现水平垂直居中

方法1&#xff1a;position transform 先设置一个父元素和一个子元素 <div class"father"><div class"child"></div> </div> 给父元素添加相对定位 .father {position: relative; /* 省略部分代码 */ } 给子元素添加绝对定位…

css grid布局实现水平垂直居中 文字水平垂直居中

原来一直使用flex布局来实现水平垂直居中&#xff0c;今天才知道还有grid也是很好用的&#xff0c;参考阮一峰大神的博客&#xff0c;简单记录一下学习&#xff1b; <div class"container"> <div class"item">1</div><…

html css实现文本水平垂直居中显示

这几天在工作中遇到了一个小问题&#xff1a;文本内容怎么能在div里水平垂直居中显示呢&#xff1f;同时群里的小伙伴恰巧也有提问这个问题的&#xff0c;所以我就总结了一下我知道的方法。 一、利用行高(line-height)和vertical-align配合实现 具体做法如下&#xff1a; ht…

CSS 布局 - 水平 垂直对齐

CSS 布局 - 水平 & 垂直对齐 那么怎样设置居中对齐呢? 我们可以用margin: auto来设置水平居中对其元素。auto可以防止 元素的宽高溢出&#xff0c;而且也可以平均分配两边的空白。 举例说明: .center {padding: 23px;border: 5px solid red;width: 41%;margin: auto; }那…

CSS如何实现水平垂直居中?4种工作中非常常用的方法

*CSS如何实现水平垂直居中&#xff1f; ** 1.用定位中的 “子绝父相” 来做 [核心代码是给子盒子添加的margin-top、margin-left 分别等于自身的高度、宽度的负的 一半] PS&#xff1a;缺点&#xff1a;需要提前知道元素的尺寸。如果不知道元素尺寸&#xff0c;这个时候就需要…

CSS实现元素水平垂直居中的各种方法

关于 CSS 如何将元素进行水平垂直居中的几种常用方法 前言 在设计网页页面的过程中&#xff0c;总会有将元素或者文字进行水平或者垂直居中的要求&#xff0c;各种CSS样式调整&#xff0c;搞的头都大了。这里将会介绍 CSS 中几种常用到的水平垂直居中的方法&#xff0c;希望能够…

CSS水平垂直居中常见方法总结(转)

文章目录 一、简介二、元素水平居中三、元素水平垂直居中3.1 position 元素已知宽度3.2 position transform 元素未知宽度3.3 flex布局3.4 table-cell布局 一、简介 说明&#xff1a;本篇文章只是总结一些方法&#xff0c;例子用到的各个元素属性不做解释&#xff0c;详情请看…

CSS 水平垂直居中的方式

目录 在不知道子元素宽高的情况下&#xff0c;水平垂直居中的六种方式&#xff1a; 1、弹性盒子布局方式来实现&#xff08;flex&#xff09;。 2、绝对定位 transform 3、table标签 4、display&#xff1a;table-cell 5、display: grid 6、writing-mode 属性 在不知道子…

CSS实现DIV的水平与垂直居中

使用CSS样式实现DIV的水平与垂直居中。 1、使用<div>标签的 align 属性实现水平居中 HTML中的 <div> 标签的 align 属性用于规定 div 元素中的内容的水平对齐方式。所有浏览器都支持 align 属性。 语法&#xff1a; <div align"value"> 属性值…

Java了解消息摘要算法

Java了解消息摘要算法 什么是消息摘要算法现行的消息摘要算法MD系列发展历史MD2算法MD4算法MD5算法 后续 SHA系列发展历史SHA-0 与 SHA-1SHA-2 后续 国密算法SM3发布后续 HMAC系列发展历史背景发展 后续 本文小结疑问 后续 什么是消息摘要算法 消息摘要算法的主要特征是加密过…

散列算法(也叫:摘要算法)

散列算法(也叫&#xff1a;摘要算法)&#xff1a; 特点&#xff1a;① 无论输入的消息有多长&#xff0c;计算出来的消息摘要的长度总是固定的。② 消息摘要看起来是“随机的”。这些比特看上去是胡乱的杂凑在一起的。③ 一般地&#xff0c;只要输入的消息不同&#xff0c;对其…

信息摘要算法之一:MD5算法分析及实现

MD5即Message-DigestAlgorithm 5&#xff08;信息-摘要算法5&#xff09;&#xff0c;用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一&#xff08;又译摘要算法、哈希算法&#xff09;&#xff0c;主流编程语言普遍已有MD5实现。 1、MD5算法简介 MD5在90年代初由…

文档摘要自动提取算法——抽取式

文档摘要自动提取算法——抽取式 自动提取文档摘要的算法&#xff0c;主流方法分为两类&#xff1a;Extractive 抽取式、Abstractive 概要式。这篇我们主要将抽取式。 抽取式&#xff1a; 从原始文档集中抽取一些具有代表性的文本片段构成摘要&#xff0c;这些片段可以是整个文…

信息摘要算法之三:SHA256算法分析与实现

前面一篇中我们分析了SHA的原理&#xff0c;并且以SHA1为例实现了相关的算法&#xff0c;在这一片中我们将进一步分析SHA2并实现之。 1、SHA简述 前面的篇章中我们已经说明过&#xff0c;SHA实际包括有一系列算法&#xff0c;分别是SHA-1、SHA-224、SHA-256、SHA-384以及SHA-…

信息摘要算法之二:SHA1算法分析及实现

SHA算法&#xff0c;即安全散列算法&#xff08;Secure Hash Algorithm&#xff09;是一种与MD5同源的数据加密算法&#xff0c;该算法经过加密专家多年来的发展和改进已日益完善&#xff0c;现在已成为公认的最安全的散列算法之一&#xff0c;并被广泛使用。 1、概述 SHA算法…

常见的信息摘要和加密算法(原理+使用)

目录 散列(Hash)算法MD5MD5和Base64 SHA系列HMAC系列 对称加密算法DES3DESAES 非对称加密算法RSAECDHE 加密盐 散列(Hash)算法 MD5 MD5信息摘要算法&#xff08;MD5 Message-Digest Algorithm&#xff09;&#xff0c;一种被广泛使用的密码散列函数&#xff0c;可以将任意数据产…

【加密算法】5 种常见的摘要、加密算法

大家平时的工作中&#xff0c;可能也在很多地方用到了加密、解密&#xff0c;比如&#xff1a; 用户的密码不能明文存储&#xff0c;要存储加密后的密文用户的银行卡号、身份证号之类的敏感数据&#xff0c;需要加密传输还有一些重要接口&#xff0c;比如支付&#xff0c;客户…

6、摘要提取算法

目前主要方法有&#xff1a; 基于统计&#xff1a;统计词频&#xff0c;位置等信息&#xff0c;计算句子权值&#xff0c;再简选取权值高的句子作为文摘&#xff0c;特点&#xff1a;简单易用&#xff0c;但对词句的使用大多仅停留在表面信息。基于图模型&#xff1a;构建拓扑…

视频摘要算法概述

DSNet: A Flexible Detect-to-Summarize Network for Video Summarization 论文 代码 不同于以往将视频摘要视为回归问题&#xff08;没有考虑时间相关性和完整性约束&#xff09;&#xff0c;2021年&#xff0c;最早的考虑这两者。 视频摘要通常分为三步&#xff1a; 1、镜头…