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知识笔记:垂直居中(别只看,请实操!!!)的更多相关文章

  1. css知识笔记:水平垂直居中(别只看,请实操!!!)

    css实现元素的水平垂直居中. (尝试采用5W2H方法说明): 别只看,请实操!!! What: 1.这篇文档主要描述元素水平方向居中的几种最常见和最实用的几种方式,并说明优缺点. 2.写这篇文章的目 ...

  2. css知识笔记:水平居中(别只看,请实操!!!)

    css实现元素的水平居中. (尝试采用5W2H方法说明): 别只看,请实操!!! What: 1.这篇文档主要描述元素水平方向居中的几种最常见和最实用的几种方式,并说明优缺点. 2.写这篇文章的目的, ...

  3. HTML+CSS学习笔记 (7) - CSS样式基本知识

    HTML+CSS学习笔记 (7) - CSS样式基本知识 内联式css样式,直接写在现有的HTML标签中 CSS样式可以写在哪些地方呢?从CSS 样式代码插入的形式来看基本可以分为以下3种:内联式.嵌 ...

  4. CSS知识回顾--读《CSS 那些事儿》笔记

    由于之前有了解过CSS的相关知识,有了一定的基础,所以读起<CSS 那些事儿>不是很有难度,况且我现在读起来时,CSS3和HTML5比较流行,这里只是记录一些CSS知识记录,不做详细铺开, ...

  5. 妙味课堂——HTML+CSS基础笔记

    妙味课堂的课程讲得非常的清楚,受益匪浅.先把HTML和CSS基础课程部分视频的学习笔记记录如下: padding #PS基础 ##前端需要的PS技能 - PS技能(前端需要):切图.修图.测量 - P ...

  6. CSS教程:div垂直居中的N种方法以及多行文本垂直居中的方法

    在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...

  7. CSS教程:div垂直居中的N种方法[转]

    在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...

  8. CSS实现完美垂直居中

    之前看到很多人一直都问这个问题,不过当时我没当一回事,因为在 CSS 中要垂直居中,多数是在有高度的情况下,或者容器高度不定的情况下才用,看上去比较舒服,而且实现的方法也不少,不一定要拘泥于和 tab ...

  9. HTML+CSS学习笔记(5)- 与浏览者交互,表单标签

    HTML+CSS学习笔记(5)- 与浏览者交互,表单标签 1.使用表单标签,与用户交互 网站怎样与用户进行交互?答案是使用HTML表单(form).表单是可以把浏览者输入的数据传送到服务器端,这样服务 ...

随机推荐

  1. JavaWeb中实现通过邮箱找回密码

    在开发JavaWeb项目中,利用邮箱帮用户找回密码.效果展示:   需要一个发送邮件的jar包 : javax.mail .jar1.JSP页面(设置邮箱输入框) HTML: <p >请输 ...

  2. Dynamics 365中的Client API form context (formContext)

    适用于Dynamics 365 for Customer Engagement apps 9.x版本. 本文是一篇翻译,原文来源是微软官方文档. 本文链接:https://www.cnblogs.co ...

  3. CODING 代码多仓库实践

    关于代码的管理问题已经讨论多年,随着企业业务的复杂度提高.软件行业技术栈的选择度变宽泛,现代软件的代码仓库也变得越来越庞大和复杂.一个中型项目,将测试代码.核心业务代码.编译构建.部署打包等基础设施的 ...

  4. ORACLE各种对象、概念及关系整理(一文读懂)

    下面是我整理(抄袭)的一些Oracle数据库相关概念对象的理解,如有疏漏,欢迎指正.至于整理这篇文章的目的:主要是网上的内容太散了,这样整理一遍可以加深理解,也便于后续查阅.就我的理解:下述内容应该可 ...

  5. Pikachu-Sql Inject

    Pikachu-Sql Inject 在owasp发布的top10排行榜里,注入漏洞一直是危害排名第一的漏洞,其中注入漏洞里面首当其冲的就是数据库注入漏洞. 一个严重的SQL注入漏洞,可能会直接导致一 ...

  6. IPFS学习-分布式哈希表DHT

    Distributed Hash Tables(DHT) 分布式哈希表是一个分布式的键值对存储结构.在IPFS网络中,每一个节点都维护一个DHT的子集.当节点接受到一个请求.该节点要么直接回复,要么通 ...

  7. 【HNOI 2019】JOJO

    Problem Description JOJO 的奇幻冒险是一部非常火的漫画.漫画中的男主角经常喜欢连续喊很多的「欧拉」或者「木大」. 为了防止字太多挡住漫画内容,现在打算在新的漫画中用 \(x\) ...

  8. Java中"或"运算与"与"运算快慢的三三两两

    先上结论 模运算比与运算慢20%到30% 这是通过实验的方式得到的结论.因为没有大大可以进行明确指导,所以我以最终运行的结果为准.欢迎指正. 测试代码 @Test public void test10 ...

  9. SSH框架之Spring+Struts2+Hibernate整合篇

    回顾 -Hibernate框架 ORM: 对象关系映射.把数据库表和JavaBean通过映射的配置文件映射起来, 操作JavaBean对象,通过映射的配置文件生成SQL语句,自动执行.操作数据库. 1 ...

  10. English:Root "tele"

    Xx_Introduction tele mean "far" mean"faar" cognate word have tele\culture\tel\pa ...