CSS02_设置盒子水平+垂直居中 设置文本水平+垂直居中
写在前面:此贴为CSS高频题,针对盒子模型的水平+垂直居中,还提到了其内部文字的居中,如有补充,请留下评论
HTML代码结构:
<body><div class="box-warpper"><div class="box"></div></div>
</body>
<style>
/* CSS预设,提前将不相关的基本样式写在这里,为了使得后面代码更清晰*/
*{margin: 0;padding: 0;box-sizing: border-box;
}
html, body {height: 100%;background-color: #ccc;
}
.box-warpper {height: 100%;border: 2px solid green;
}
.box-warpper .box {width: 200px;height: 200px;background-color: red;
}
</style>
一、设置盒子水平 + 垂直居中
法1 - flex布局(最简单)
- 父元素开启flex定位,并使用
justify-content
和align-items
.box-warpper {display: flex;justify-content: center;align-items: center;
}
法2 - absloute 绝对定位(含两种定位方式)
- 子绝父相 +
top | right
+transform
- 子绝父相 +
top | right | bottom | left
+margin:auto
/*其他基本样式上面已写,这里只写定位相关代码,后续不再赘述*/
.box-warpper {position: relative;
}
.box-warpper .box {position: absolute;/* 定位方式 1 */top: 50%;left: 50%;transform: translate(-50%, -50%);/* 定位方式 2 */right: 0;left: 0;top: 0;bottom: 0;margin: auto; /*必须有auto,否则不生效*/
}
效果:
法3. 栅格布局 grid
- 父元素加入栅格, 子元素
margin: auto
.box-warpper {display: grid;
}
.box-warpper .box {/* margin: 0 auto; 水平居中*/
/* margin: auto 0; 垂直居中*/margin: auto; /*水平+垂直居中*/
}
法4. table-cell布局(不常用)
- 父元素必须设置宽高,不能用百分比。
- 父元素设置
table-cell
布局,文本水平居中,垂直居中 - 子元素设置
margin:auto
.box-warpper {width: 500px;height: 500px;display: table-cell;text-align: center;vertical-align: middle;
}
.box-warpper .box {margin: auto;
}
二、设置盒子内文本水平 + 垂直居中
HTML结构:
<body><div class="box"><span>我是单行文本</span></div>
</body>
1. 文本水平居中
让div中文字水平居中:text-align: center;
即可
2. 文本垂直居中
2.1 单行文本垂直居中
如果一个容器中只有一行文字,对它实现居中相对比较简单,我们只需要
- 设置它的实际高度height和所在行的高度line-height相等即可
.box{height: 100px;line-height: 100px;}
2.2 多行文本固定高度的居中
CSS中的确是有vertical-align
属性,但是它只对HTML元素中拥有valign特性的元素才生效,例如表格元素中的"td"、“th”、“caption"等,而像"div”、"span"这样的元素是没有valign特性的,因此使用vertical-align
对它们不起作用。
但是在CSS中还有一个display:table
,所以我们可以使用这个属性来让"div"模拟"table"就可以使用vertical-align了。注意,display:table
和display:table-cell
的使用方法,前者必须设置在父元素上,后者必须设置在子元素上。
.box{/* 子元素相关信息 */width: 100%;height: 100%;background-color: red;/* 设置定位相关 */display: table;span{text-align: center;display: table-cell;vertical-align: middle;}}
CSS02_设置盒子水平+垂直居中 设置文本水平+垂直居中相关推荐
- 关于css设置盒子模型,设置像素与实际像素不同的问题
关于css设置盒子模型,设置像素和实际像素不同的问题 写网页时,发现自己网页设置盒子像素和实际用ps量的像素不同.盒子模型的margin和padding也对,网页的缩放也时100%,但就是不同. 分析 ...
- html怎么水平居中垂直居中,css水平居中和垂直居中的几种解决方案
有时候,为了前端设计的美观,需要把div+css设计的页面里的某些div层里的文字垂直居中,包括多行文字以及单行文字:方法有不少,设计蜂巢就为大家介绍几种CSS水平和垂直居中的方法. 一.水平居中1. ...
- html设置盒子水平垂直居中,盒子水平垂直居中10种方法
盒子水平垂直居中10种方法 HTML代码 第一种:通过绝对定位的方式 absolute + 负margin 首先知道子元素的宽高,给子元素设置top:50%:left:50%, 但绝对定位是基于子元素 ...
- 文本样式设置/盒子模型学习笔记
一.记单词.复习前一天的学习内容.讲解练习作业. 二.转义字符 http://tool.oschina.net/commons?type=2 (转义字符的链接) 三.文本样式设置 1.text-ind ...
- 设置行内元素宽高和背景色后,行内元素文本不水平垂直居中解决方案
前言 行内元素:指在同一行内不自动换行,可以和其他行内元素在同一水平的元素,不可以设置宽高. 行内元素设置宽高:行内元素想要设置宽高,需要用display:inline-block设置(详解如下表). ...
- html css实现文本水平垂直居中显示
这几天在工作中遇到了一个小问题:文本内容怎么能在div里水平垂直居中显示呢?同时群里的小伙伴恰巧也有提问这个问题的,所以我就总结了一下我知道的方法. 一.利用行高(line-height)和verti ...
- Android TextView 设置文字上下距离以及文字水平间距
设置文字上下的间距的方法:lineSpacingExtra 设置文字水平的间距的方法:letterSpacing 没有设置之前的效果图 设置之后的效果图 属性下面给出,可以复制过去修改自己想要的距离 ...
- Web前端线上系统课-01-HTML+CSS/06-CSS盒子模型-CSS设置背景
CSS盒子模型-CSS设置背景 盒模型 margin <!DOCTYPE html> <html lang="en"><head><met ...
- 网页的盒子模型是什么?怎么设置盒子样式
网页的盒子模型是什么?怎么设置盒子样式 欢迎大家去博客冰山一树Sankey,浏览效果更好.直接右上角搜索该标题即可 博客园主页:博客园主页-冰山一树Sankey CSDN主页:CSDN主页-冰山一树S ...
最新文章
- SOLID面向对象模式浅析
- tableau join 与格式问题
- java文本框默认格式化,XJL:Swing中的格式化文本框
- c 类别构造函数需要包含所有成员吗_C++默认成员函数解析
- tensorflow:Multiple GPUs
- django1.5 连接mysql_django1.5.5使用mysql
- 【04】Effective Java - 类和接口
- 一份关于机器学习端到端学习指南
- C++中时间相关函数的使用
- redis配置文件的介绍
- 明年5G智能手机大爆发!出货量惊人
- 【Flink】运行Flink 1.6.2 程序偶然报错 Premature end of GET request
- C语言枚举类型(enum)的各种用法
- 告别后端!阿里云小程序 Serverless 教你如何 30 分钟开发小程序!
- SQL server 2017安装教程
- linux 系统服务里没有系统服务,windows怎样添加系统服务|windows 添加不了系统服务怎么办|windows 添加系统服务方法-系统城...
- oracle支持sha256加密算法,Sha256 加密算法
- linux入门--磁盘管理之分区、格式化与挂载
- 【HTML501】HTML基础01_简介_基础_元素_属性
- js 获取开始时间和结束时间相隔小时及分钟(时间戳操作)
热门文章
- 任正非 采访 安卓 鸿蒙,法媒专访任正非透露“鸿蒙”系统“很可能”快过安卓...
- 阿里云服务器使用SMTP发送邮件
- RTSP安防网络摄像头/海康大华硬盘录像机/NVR网页无插件低延时播放流媒体服务器EasyNVR页面显示网络请求失败问题
- 华硕B85主板刷nvme协议全过程
- 考研热催生百亿市场,行业老兵文都教育的“冷思考” ——和大学生交朋友
- 关于CSS动画播放完后消失
- Java基础篇:什么是hashCode 以及 hashCode()与equals()的联系
- 基于51单片机的交通灯控制系统课程设计(含proteus仿真图及代码)
- 1822 - Failed to add the foreign key constraint. Missing index for constraint ‘fk_tno_course‘ in the
- C语言指针结构体详解,结构体指针,C语言结构体指针详解