教你如何用纯CSS代码实现垂直居中

13 篇文章 1 订阅
订阅专栏

目录

方法1:设定行高 ( line-height )

方法2:绝对定位

方法3:利用 transform

方法4:使用表格或假装表格

方法5:使用 Flexbox

十种水平垂直居中方案 :


    在编辑一个页面时,通常用到 水平居中垂直居中 

而水平居中很好处理,不外乎就是 设定

margin: 0 auto; 或是 text-align: center; 

就能轻松解决掉 水平居中 的 问题,但一直以来最麻烦的对齐问题,

都是 “ 垂直居中 ” 这个讨人厌的设定,

以下将介绍五种单纯利用 CSS 来实现 垂直居中 的 方法。

方法1:设定行高 ( line-height )

设定行高 是 垂直居中 最简单 的 方式,

适用于 “单行” 的 “行内元素” ( inline、inline-block ),

例如 单行 的 标题,或是已经设为 inline-block 属性 的 div,

若将 line-height 设成和 高度 一样 的数值,则内容的 行内元素 就会被 垂直居中

不过由此就可以看出,为什么必须要单行的行内元素,

因为如果多行,第二行与第一行的间距会变超大,

就不是我们所期望的效果了。

示例代码 :

实例效果 :

方法2:绝对定位

口诀 : 父 相 ( relative ) 子 绝 ( absolute

绝对定位 就是 CSS 里的 position: absolute

绝对定位 使元素的位置与文档流无关,因此不占据空间。

这一点与 相对定位 不同,相对定位 实际上被看作普通流定位模型的一部分,

因为元素的位置相对于它在 普通流 中的位置。

不过要特别注意的是,设定 绝对定位子元素

父元素position 必须要指定为 relative 喔 !

而且 绝对定位 的元素是会互相覆盖的,所以如果内容元素较多,可能就会有些问题。

示例代码 :

实例效果 :

方法3:利用 transform

transform 是 CSS3 的 新属性 ,

主要掌管元素的 变形 、 旋转 和 位移 ,

利用 transform 里的 translateY 改变 垂直位移

搭配元素本身的 top 属性,就可以做出 垂直居中 的效果,

比较需要注意的地方是,子元素 必须要加上 position: relative

不然就会没有效果的哦。

示例代码 :

实例效果 :

方法4:使用表格或假装表格

我们发现在 表格 这个 HTML 里面常用的 DOM 里 ,

要实现 垂直居中 是相当容易的,

只需要写一行 vertical-align: middle 就可以 ,

为什么呢 ?

最主要的原因就在于 table 的 display 是 table ,

tddisplaytable-cell

所以我们除了直接使用表格之外,

也可以将要 垂直居中 元素的 父元素 的 display 改为 table-cell ,

就可以轻松达成,不过修改 display 有时候也会造成其他样式属性的连动影响,

需要比较小心使用。

示例代码 :

实力效果 :

方法5:使用 Flexbox

使用 align-items 或 align-content 的属性 ,

轻轻松松就可以做到 垂直居中 的效果。

示例代码 :

实例效果 :

  


十种水平垂直居中方案 :

1、

2、

3、

父相子绝 , +  负  - margin

4、

5、

6、

7、

8、

9、

10、

css实现水平垂直居中的具体代码
llxgdy的博客
07-14 337
以下内容为b站周啸天老师视频学习记录,点击看视频 一、通过定位方式实现 1. body{ position: relative; } .box{ position:absolute; top:50%; left: 50%; margin-top:-25px; margin-left: -50px; } 注:必须知道具体高宽 .box{ position: absolute; top:0; left:0; right: 0; bottom: 0; mar
CSS实现垂直居中的七个方法实例代码详解
12-14
我们在编辑一个版面,通常都会用到水平居中和垂直居中来设计,而水平居中很好处理,不外乎就是设定margin:0 auto;或是text-align:center;,就可以轻松解决掉水平居中的问题,但一直以来最麻烦对齐问题,都是“垂直居中”这个讨人厌的设定,以下将介绍七种单利用CSS垂直居中的方式。 七种垂直居中的方法 设定行高(line-height) 添加伪元素 calc动态计算 使用表格或假装表格 transform 绝对定位 使用Flexbox 设定行高(line-height) 设定行高是垂直居中最简单的方式,适用于“单行”的“行
css 实现文字垂直居中
01-19
分两种情况: fix height: 即垂直居中的元素高度已知,这个比较简单,也不需要额外的辅助元素。 <!DOCTYPE HTML> <html> <head> <meta http-equiv=”content-type” content=”text/html; charset=utf-8″ /> <meta http-equiv=”cache-control” content=”no-cache” /> <style> <!– html, body { height: 100%; margin: 0; padding: 0; } body { position: relative;
11种锤爆面试官的 CSS 垂直居中
最新发布
qq_34738754的博客
03-11 768
在学习了上面的 11 种垂直居中布局方法后,我们简单概括一下如果你的项目在 PC 端有兼容性要求并且宽高固定,推荐使用absolute + 负 margin方法实现;如果你的项目在 PC 端有兼容性要求并且宽高不固定,推荐使用css-table方式实现;如果你的项目在 PC 端无兼容性要求,推荐使用flex实现居中,当然不考虑 IE 的话,grid也是个不错的选择;如果你的项目在移动端使用,那么推荐你使用flexgrid也可作为备选。
CSS 解决未知高度垂直居中实现代码
09-25
尽管有CSS的vertical-align特性,但是并不能有效解决未知高度的垂直居中问题(在一个DIV标签里有未知高度的文本或图片的情况下)。
css图片垂直居中 css中如何实现图片垂直居中
12-13
在曾经的 淘宝UED 招聘 中有这样一道题目: “使用纯CSS实现+未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中。” 当然出题并不是随意,而是有其现实的原因,垂直居中是淘宝工作中最常遇到的一个问题,很有代表性。 题目的难点在于两点: 1.垂直居中; 2.图片是个置换元素,有些特殊的特性。 至于如何解决,下面是一个权衡的相对结构干净,CSS简单的解决方法: CSS简单的解决方法: 复制代码代码如下: .box { /*非IE的主流浏览器识别的垂直居中的方法*/ display: table-cell; vertical-align:middle; /*设
页面垂直居中实现方法(HTML/CSS
TdMaster的博客
10-02 1974
Flexbox是CSS3中引入的一种弹性盒子布局模型,它提供了简单而强大的方式来实现元素的居中对齐。您可以根据具体的需求和兼容性考虑选择其中的一种方法来实现您的网页布局。本文将介绍几种常用的方法,以实现HTML/CSS中的页面垂直居中效果。元素的高度设置为100%,这是为了让页面占据整个视口的高度。元素的高度设置为100%,并将它们的定位设置为相对定位。元素的高度设置为100%,并将它们的显示属性设置为表格布局。另一种方法是使用表格布局来实现页面的垂直居中。,我们将内容区域的左上角定位在父元素的中心点。
css图片垂直居中
04-03
NULL 博文链接:https://gucaihe.iteye.com/blog/1465144
CSS居中代码
cloudday的专栏
11-01 1276
在设计网页模板时,经常要用CSS来控制块级元素的水平或是垂直位置,往往需要进行居中的操作。今天我就和大家一起来研究下如何用CSS来控制元素的居中。 1、单行垂直居中 文字在层中垂直居中vertical-align 属性是做不到的.我们这里有个比较巧妙的方法就是:设置height的高度与line-height的高度相同!  2、层水平居中 设置div的宽度小于父div
猿创征文 | 【CSS】-- 实现垂直居中的五种方法(含代码
qq_48802092的博客
09-10 293
代码】猿创征文 | 【CSS】-- 实现垂直居中的五种方法(含代码
CSS图片垂直居中方法
weixin_30897233的博客
09-05 86
图片垂直居中是个经典的问题,网上关于这个的方法也非常多,良莠不齐,本人比较推荐的以下三种简单的方法,大家可以稍做参考。1.淘宝的方法 在曾经的"淘宝UED招聘"中有这样一道题目: “使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中。” 当然出题并不是随意,而是有其现实的原因,垂直居中是 淘宝 工作中最常遇到的一个问题,很有代表性。 题目的...
40 个信息丰富且有趣的 CSS 404 错误页面示例
南北极之间
07-07 921
404 是一个 HTTP 响应代码,指示服务器找不到请求的页面。404 错误页面通知用户他们点击了不存在的链接或键入了不存在的地址。发生这种情况时,用户可能会感到不安。创建交互式错误页面非常适合吸引用户,也可以将糟糕的体验变成愉快的体验。因此,这里有40个信息丰富且有趣的CSS 404错误页面示例,您可以将其用作设计用户友好错误页面的灵感。​钢笔 来自 阿西拉夫·侯赛因佩斯 帕特里克·扎别尔斯基笔 作者: 乔纳森·艾尔斯笔 作者 Adem ilter斯蒂克斯的笔Vineeth.TR 笔钢笔 克里斯·塞缪尔斯
完整代码】用HTML/CSS制作一个美观的个人简介网页
热门推荐
weixin_54919878的博客
03-17 3万+
用HTML/CSS制作一个美观的个人简介网页——完整代码终于来啦!
css3 代码案例
前端全栈大佬
01-17 1504
本文将带你进入CSS3的奇妙世界,通过代码案例展示其强大的设计能力。无需图片,只需CSS3的神奇技巧,你将见证炫丽的效果如何在屏幕上绽放。
css垂直居中的6种方式
weixin_42974827的博客
09-08 1万+
这里实现了比较常用的垂直水平居中的方案,十分有用,希望对于面试必考题来说,只要熟练掌握前面三种,基本上是没有问题了,源码我会放在本人主页的资源里面,供大家免费下载,创作不易,关注一下,后续将带来vue版本大屏可视化解决方案。敬请期待吧~~~❤️。
css图标代码 星,15个CSS实现的响应式土豪金星球类应用动画图标
weixin_34977617的博客
08-03 294
CSS语言:CSSSCSS确定div {position: absolute;box-sizing: border-box;margin: 0;padding: 0;border: 0.1vw solid #a78247;overflow: hidden;}div:before,div:after {content: '';display: block;position: absolute;}bo...
css 实现水平垂直居中
Y2ANG
04-10 1406
css 实现水平垂直居中的8种方式 效果图 本文将会用多种方式实现上图效果,接下来一一列举。 基本布局 /* 样式 */ .parent { width: 200px; height: 200px; border: 1px solid black; } .parent .son { width: 100px; height: 100px; background-color: aqua; } /* 布局 */ <div class="parent"&
CSS实现垂直居中
weitd的专栏
05-10 326
关键字:居中,CSS,方法 描述:使用CSS实现垂直居中并不容易。有些方法在一些浏览器中无效。下面我们看一下使对象垂直集中的5种不同方法,以及它们各自的优缺点。 H3方法一/H3 这个方法把一些div的显示方式设置为表格,因此我们 使用 CSS 实现垂直居中并不容易。有些方法在一些浏览器中无效。下面我们看一下使对象垂直集中的5种不同方法,以及它们各自的优缺点。 方法一 ...
CSS网页布局DIV水平居中的各种方法
05-28 192
容器中的内容居中:text-align: center 容器在上层容器中居中:margin-right: auto; margin-left: auto;.a{margin:0px auto;} (div class="a"中的内容居中。b在a中也会居中).b{margin:0px auto;}(b中的内容居中)  在Web标准中的页面布局是使用Div配合CSS实现的。这其中最常用到的就是使整...
css实现水平垂直居中
04-26
好的,关于CSS实现水平垂直居中,常见的方法有以下几种: 1.使用flex布局 如果父元素使用flex布局可以通过以下代码实现水平垂直居中: ```css .parent { display: flex; justify-content: center; align-items: center; } ``` 2.使用绝对定位+transform 通过设置子元素的绝对定位和transform属性可以实现水平垂直居中: ```css .parent { position: relative; } .child { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } ``` 3.使用table布局 使用table布局方式可以通过以下代码实现垂直水平居中: ```css .parent { display: table; height: 100%; width: 100%; text-align: center; } .child { display: table-cell; vertical-align: middle; } ``` 以上是三种CSS实现水平垂直居中的方法,你可以根据具体情况选择合适的方式。希望这能够帮到你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Switch case 使用及嵌套语法 46654
  • VSCode 之 设置 settings.json 配置文件 37385
  • Vant 2 - 移动端 Vue 组件库 _ 问题记录 23155
  • Vue 实现输入框的聚焦 14562
  • 记录基于Vue.js的移动端Tree树形组件 12868

分类专栏

  • 前端 157篇
  • ElementUI 5篇
  • IE 3篇
  • 项目重构 4篇
  • 红宝石 3篇
  • Mac 3篇
  • JavaWeb 1篇
  • jQuery 4篇
  • JSP 1篇
  • Axure 1篇
  • JavaScript 30篇
  • NodeJs 7篇
  • Vue 56篇
  • React 6篇
  • 面试题 10篇
  • VsCode 7篇
  • Webpack 3篇
  • 小程序 1篇
  • TypeScript 1篇
  • CSS 13篇
  • ES6 2篇
  • Git 4篇
  • Ajax 2篇

最新评论

  • Echarts实现男女比例图表

    alw3000: 为什么只显示女孩,不显示男孩

  • Element|Upload结合Progress实现上传展示进度条

    雨季mo浅忆: 谢谢提醒,忘记写里面了 clearInterval(interval);

  • Element|Upload结合Progress实现上传展示进度条

    前端起步: 进度条的定时器没关闭

  • 整理 Vue 项目 从 0 到 1 搭建

    宇文小明: NB,太细了表情包

  • 解决:ValidationError: Invalid options object. PostCSS Loader ......

    2301_76434387: 大佬天才

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 整理项目中经常用到的正则
  • Vue2中实现聊天界面滚动条自动滑动到最底部
  • Git之merge与rebase操作命令及问题
2024年10篇
2023年23篇
2022年66篇
2021年80篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

PHP网站源码企业网站改版价格伊春外贸网站制作坑梓网站建设报价河池网页制作公司太原企业网站建设价格泰安SEO按天扣费哪家好蚌埠优秀网站设计哪家好乐山模板推广多少钱太原SEO按天扣费推荐云浮推广网站公司汕头网站推广方案娄底百搜标王大庆网站关键词优化报价宝安网站设计模板哪家好武汉网页设计报价宿州网站制作报价青岛英文网站建设价格大同seo优化推荐绥化网站关键词优化多少钱吕梁网站设计哪家好商洛SEO按效果付费巴中优秀网站设计哪家好赤峰推广网站哪家好榆林百姓网标王报价大鹏外贸网站设计价格宿迁网站优化运城网页设计价格随州网站优化按天扣费大芬建站湘西网站优化软件公司歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化