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. RAID磁盘阵列介绍

    磁盘阵列 RAID介绍 一.简介: 磁盘阵列(Redundant Arrays of Independent Drives,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意. 最初是由加利福尼亚 ...

  2. Could not find any version that matches com.android.support:appcompat-v7:29.+

    新学Android开发设计用到Android Studio,说实话真的是BUG满天飞,稍有不慎就会蹦出一个不明所以的问题. 新建Android工程时编译运行报错: 目测是本地文件和工程对应的依赖包不匹 ...

  3. 部署flas到服务器:No module named flask

    首先,你要先把nginx和uwsgi安装好(个人觉得这搭起来比较舒服),可以通过pip 或者源安装,具体方法在前面我有提到过,好了接下来我就讲讲我的踩坑经历与解决办法. 我先采用的pip  insta ...

  4. 未来已来:云原生 Cloud Native

    作者:天知,原文链接 前言 自 2013 年容器(虚拟)技术(Docker)成熟后,后端的架构方式进入快速迭代的阶段,出现了很多新兴概念: 微服务 k8s Serverless IaaS:基础设施服务 ...

  5. SpringMVC的工作流程?Mybatis和hibernate区别?

    SpringMVC的工作流程?1. 用户发送请求至前端控制器DispatcherServlet2. DispatcherServlet收到请求调用HandlerMapping处理器映射器.3. 处理器 ...

  6. 易优CMS:compare的基础用法

    [基础用法] 名称:compare 功能:简单的变量比较,复杂的判断条件可以用if标签替换,比较标签是一组标签的集合,基本上用法 都一致. 语法: {eyou:比较标签 name='变量' value ...

  7. 快速幂取模&快速乘取模

    快速幂取模 即快速求出(a^b)mod c 的值.由于当a.b的值非常大时直接求a^b可能造成溢出,并且效率低. 思路 原理就是基于\(a*b \% c = ((a \% c)*(b \% c))\% ...

  8. idea git提交代码步骤

    这位兄台已经写的很清楚了... 我这里直接给你们链接把... https://blog.csdn.net/u013452337/article/details/79956604 Git 初次提交,以及 ...

  9. Flink01

    1. 什么是Flink? 1.1 4代大数据计算引擎 第一代: MapReducer 批处理 Mapper, Reducer Hadoop的MapReducer将计算分为两个阶段, 分别为Map和Re ...

  10. Linux下的find命令2

    :续linux下的find命令 Linux/Unix下非常有用的find命令的用法 功能简述:find(查找)主要沿着文件层次(目录)结构依次向下遍历,匹配符合条件的文件,可以附带执行相应的操作选项, ...