css知识笔记:垂直居中(别只看,请实操!!!)
css实现元素的垂直居中。
(尝试采用5W2H方法说明):
别只看,请实操!!!
What:
1.这篇文档主要描述元素水平方向居中的几种最常见和最实用的几种方式,并说明优缺点。
2.写这篇文章的目的,是为了巩固自己的知识,也分享给大家一起学习研究,欢迎大家指正和评论。
Why:
需要水平居中的原因,就是为了让元素位于视觉中心突出重点,可视化布局的简介明了,主题明确,提高用户体验度。
When:
我是星期六下午开始编写,一直到晚上12点。
对于你自己,如果你感觉自己对这些掌握还不牢靠,请立刻!马上!Now!开始动手尝试起来,不然一开始就浇灭你的小火苗,让你丧失了激情和男人该有的冲动。
Where:
学习的场所可以是anywhere;咖啡厅、家里、饭店、火车上(我就是在高铁上码的文章),不必拘泥场所,只要不冷能动手就做起来。
Who:
针对人员比如像我这种遗忘型、刚入门的初学者、以及在css懵懂过程中徘徊的你,大神请绕路或留个脚印踩踩也行。
我,一个大老爷们,没啥好说的;你们,一群智商200+,给个支点就能撬动地球的你们,动动手指你们就全学会了。
How Long:
你要问我学懂这个大概多长时间,以大家高达200+赶超爱因斯坦的智商,说半天就能搞懂我都感觉是瞧不起大家,以各位看官的智商,半个小时,顶多半个小时,你就能掌握。
How:
请忽略以上的部分废话,以下的怎么做才是重点:
行内元素居中方式:
<div style="height:50px;border:1px solid red;">
<label style="line-height:50px">单行文本label垂直居中:设置line-height为父级行高</label>
</div>
块级元素居中方式:
1.伪元素after (兼容各个浏览器)
<div class="parent">
<div class="son">垂直居中:伪元素after方式</div>
</div>
.parent {
border: 2px solid blue;
/* text-align: center; */ /*设置可水平居中*/
height: 100px;
}
.parent::after {
content: "";
display: inline-block;
vertical-align: middle;
height: 100%;
}
.son {
display: inline-block;
vertical-align: middle;
border: 1px solid blue;
}
2.flex布局:display:flex;align-items:center;
<div style="display:flex;align-items:center;height:50px;border:1px solid blue;">
<div style="heigth:30px;border:1px solid red;">Flex垂直居中</div>
</div>
3.position:absolute;top:50%;transform:translateY(-50%);
<div style="border:1px solid red;height:50px;position:relative;">
<div
style="border:1px solid red;
position:absolute;top:50%;transform:translateY(-50%); "
>绝对定位垂直居中:position:absolute;top:50%;transform:translateY(-50%);</div>
</div>
4.position:absolute;top:50%;margin-top:-0.5*元素height
<div style="border:1px solid red;height:50px;position:relative;">
<div
style="position:absolute;top:50%;height:20px;margin-top:-10px;color:red;"
>绝对定位垂直居中:position:absolute;top:50%;margin-top:-0.5*元素height</div>
</div>
5.position:absolute;top:0;bottom:0;margin:auto 0;
<div style="border:1px solid red;height:50px;position:relative;">
<div
style="border:1px solid red;position:absolute;top:0;bottom:0;
margin:auto 0;height:30px;"
>绝对定位垂直居中:position:absolute;top:0;bottom:0;margin:auto 0;</div>
</div>
6.父:display:table; 子:dispaly:table-cell;vertical-align:middle;
<div style="display:table;border:1px solid pink;height:50px;">
<div
style="display:table-cell;vertical-align:middle;height:20px;background:gray;"
>父:display:table; 子:dispaly:table-cell;vertical-align:middle;</div>TODO:table-cell的高度不起作用,有待研究
</div>
### 参考文献
[1] (https://louiszhai.github.io/2016/03/12/css-center/)
结后语:
兄dei,实操吧!
不然做起来只看感觉都看懂了,一关闭我的文章就:嗯?水平居中都哪几种方式来着?再次打开看了之后回想:嗯?水平居中这几种方式都会有什么问题或优缺点?
看的时候都会以为看懂了:这不是很简单吗?
做的时候都突然感觉自己是个麻瓜:我去!这么简单怎么布局就不对呢?哪影响了?调好之后,咦~,怎么突然就好了呢?
所以,
别只看,请实操!!!
css知识笔记:垂直居中(别只看,请实操!!!)的更多相关文章
- css知识笔记:水平垂直居中(别只看,请实操!!!)
css实现元素的水平垂直居中. (尝试采用5W2H方法说明): 别只看,请实操!!! What: 1.这篇文档主要描述元素水平方向居中的几种最常见和最实用的几种方式,并说明优缺点. 2.写这篇文章的目 ...
- css知识笔记:水平居中(别只看,请实操!!!)
css实现元素的水平居中. (尝试采用5W2H方法说明): 别只看,请实操!!! What: 1.这篇文档主要描述元素水平方向居中的几种最常见和最实用的几种方式,并说明优缺点. 2.写这篇文章的目的, ...
- HTML+CSS学习笔记 (7) - CSS样式基本知识
HTML+CSS学习笔记 (7) - CSS样式基本知识 内联式css样式,直接写在现有的HTML标签中 CSS样式可以写在哪些地方呢?从CSS 样式代码插入的形式来看基本可以分为以下3种:内联式.嵌 ...
- CSS知识回顾--读《CSS 那些事儿》笔记
由于之前有了解过CSS的相关知识,有了一定的基础,所以读起<CSS 那些事儿>不是很有难度,况且我现在读起来时,CSS3和HTML5比较流行,这里只是记录一些CSS知识记录,不做详细铺开, ...
- 妙味课堂——HTML+CSS基础笔记
妙味课堂的课程讲得非常的清楚,受益匪浅.先把HTML和CSS基础课程部分视频的学习笔记记录如下: padding #PS基础 ##前端需要的PS技能 - PS技能(前端需要):切图.修图.测量 - P ...
- CSS教程:div垂直居中的N种方法以及多行文本垂直居中的方法
在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...
- CSS教程:div垂直居中的N种方法[转]
在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...
- CSS实现完美垂直居中
之前看到很多人一直都问这个问题,不过当时我没当一回事,因为在 CSS 中要垂直居中,多数是在有高度的情况下,或者容器高度不定的情况下才用,看上去比较舒服,而且实现的方法也不少,不一定要拘泥于和 tab ...
- HTML+CSS学习笔记(5)- 与浏览者交互,表单标签
HTML+CSS学习笔记(5)- 与浏览者交互,表单标签 1.使用表单标签,与用户交互 网站怎样与用户进行交互?答案是使用HTML表单(form).表单是可以把浏览者输入的数据传送到服务器端,这样服务 ...
随机推荐
- Vue之判断对象是否为空的方法
1. JSON.stringify(xxx)=='{}' 2. Object.keys(xxx).length==0 验证结果如下:
- OWASP ModSecurity Core Rule Set (CRS)的基本使用
Preface 前述文章开源WAF工具ModSecurity,介绍了ModSecurity作为Nginx的动态加载模块的基本安装和使用. 本篇简单介绍ModSecurity CRS规则集的使用. # ...
- UWP 在非UI线程中更新UI
大家都知道,不可以在 其他线程访问 UI 线程,访问 UI 线程包括给 依赖属性设置值.读取依赖属性.调用方法(如果方法里面修改了依赖属性)等.一旦访问UI线程,那么就会报错,为了解决这个问题,需要使 ...
- 从头学pytorch(一):数据操作
跟着Dive-into-DL-PyTorch.pdf从头开始学pytorch,夯实基础. Tensor创建 创建未初始化的tensor import torch x = torch.empty(5,3 ...
- Android 获取当前IP地址
首先设置用户权限 <uses-permission android:name="android.permission.INTERNET"></uses-permi ...
- SSM框架之SpringMVC(4)返回值类型及响应数据类型
SpringMVC(4)返回值类型及响应数据类型 1. 返回值分类 1.1. 返回字符串 Controller方法返回字符串可以指定逻辑视图的名称,根据视图解析器为物理视图的地址. @RequestM ...
- 【好书推荐】《剑指Offer》之硬技能(编程题7~11)
本文例子完整源码地址:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/sword <[好书推荐]& ...
- spring为类的静态属性实现注入
我们知道,正常情况下,spring的一个bean要依赖其他资源,如properties或其他bean,直接利用@Value或@Autowired就可以了.这两个注解就相当于spring applica ...
- InnoDB Architecture (InnoDB In-Memory Structures 转载)
转载.节选于 https://dev.mysql.com/doc/refman/8.0/en/innodb-in-memory-structures.html InnoDB Architecture ...
- MySQL数据库~~~~~索引
1. 索引 索引在MySQL中也叫"键"或者"key",是存储引擎于快速找到记录的一种数据结构. 索引的数据结构: B+树 B+树性质: 索引字段要尽量小; 索 ...