对于元素的水平居中,我根据我自己之前的一些学习来进行一些总结,如果有不对的地方,欢迎指正~

一、让大小不固定的元素垂直居中

  1. 因为:表格的单元格的特别属性:垂直居中等;
    `div.parent {

       display: table-cell;
    vertical-align: middle;
    height: 200px;

    }
    div.parent img{
    }`

  2. 属性line-height的设置
    `div.parent{

       height: 100px;
    line-height:100px;

    }
    div.parent img{

       vertical-align:middle;

    }`

  3. 绝对定位 + margin:auto;
    div.parent{

       height: 300px;
    width: 300px;
    position: relative;
    background-color: red;

    }
    div.parent img{

       position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;

    }
    ps.第三种方法我很久以前也有用过,一开始我简单的认为是:由于上下左右都设置为0了所以 margin auto后元素自适应居中,于是某一天我看到了张鑫旭大大的博客才就知道了为什么:引用张大大的话:

    1.当一个绝对定位元素,其对立定位方向属性同时有具体定位数值的时候,流体特性就发生了;
    2.因为left/right同时存在,所以宽度自适应于包含块的padding box宽度,也就是随着包含块padding box的宽度变化,包含块宽度也会跟着一起变。具有流体特性绝对定位元素的margin:auto的填充规则和普通流体元素一模一样:
    如果一侧定值,一侧auto,auto为剩余空间大小;如果两侧均是auto, 则平分剩余空间;

二、大小固定的元素垂直居中

对于大小固定的元素,上面的几个方法也是可以用的。

1.绝对定位 + margin:-元素的 宽度&&高度

    div.parent{
height: 200px;
width: 200px;
position: relative;
background-color: red;
}
div.parent img{
width: 100px;
height: 100px;
position: absolute;
left:50%;
top:50%;
margin-left:-50px;
margin-top:-50px;
}
//定位额度时候以元素的右上角为参考点,所以我们需要负值的margin把相差的元素的一半的宽高大小的距离拉回来

对于固定宽高的还有其它很多方法啦,我就不一一列举了。

之前看了张大大的博客,总结一下我对line-heightvertical-align的一些认知 。vertical-align 的几个属性值baseline,bottom,top,middle 等跟文字的基线相关联,而line-height 是无论大小都与文字垂直居中的,比如line-height与高度一致可以设置文字居中,所以,一样的道理,vertical-align 跟line-height 可以联手设置垂直居中。

我觉得在网页的布局中,如果出现任何难理解的奇怪的现象,都可以先从 line-height 和vertical-align 上排除.

以上是我的学习总结,希望大家坚持,加油,你不是一个人在奋斗。

站在巨人的肩膀上学习,再次谢谢张大大阮大大的各种分享。

关于css 的垂直居中的更多相关文章

  1. 五种方法让CSS实现垂直居中

    利用 CSS 来实现对象的垂直居中有许多不同的方法,比较难的是选择那个正确的方法.我下面说明一下我看到的好的方法和怎么来创建一个好的居中网站. 使用 CSS 实现垂直居中并不容易.有些方法在一些浏览器 ...

  2. CSS实现垂直居中的5种方法

    利用 CSS 来实现对象的垂直居中有许多不同的方法,比较难的是选择那个正确的方法.我下面说明一下我看到的好的方法和怎么来创建一个好的居中网站. 使用 CSS 实现垂直居中并不容易.有些方法在一些浏览器 ...

  3. CSS水平垂直居中总结

    行内元素水平居中 把行内元素包裹在块级父元素中,且父元素中的css设置text-align:center; <!DOCTYPE html> <html> <head> ...

  4. css图片垂直居中

    css图片垂直居中一.style代码 .case-pic{ height: 125px; position: relative; text-align: center } .case-pic span ...

  5. 转: css实现垂直居中的方法

    利用 CSS 来实现对象的垂直居中有许多不同的方法,比较难的是选择那个正确的方法.我下面说明一下我看到的好的方法和怎么来创建一个好的居中网站. 用 CSS 实现垂直居中并不容易.有些方法在一些浏览器中 ...

  6. 纯CSS实现垂直居中的7种方法

    今天申请博客通过了,给大家讲讲我所看到过的纯css实现垂直居中的各种方法.为什么要把它作为第一篇文章呢?因为这是我刚开始接触前端学到的对我最有用的知识,希望大家也可以从中获益! 在CSS中实现水平居中 ...

  7. CSS文字垂直居中的一些问题

    说到CSS文字垂直居中,很多初学者都喜欢用调整行高等于div高度的方式来达到效果, div { height:30px; line-height:30px; } 但其实这么做会遇到一个问题:多行文本溢 ...

  8. CSS布局-垂直居中问题

    在前端页面的布局方面,很多时候需要用到垂直居中,如果父集元素或子元素的高度是固定的那么垂直居中可以用line-height或者定位 top:50%:margin-top:- height/2 px:实 ...

  9. 顽石系列:CSS实现垂直居中的五种方法

    顽石系列:CSS实现垂直居中的五种方法 在开发过程中,我们可能沿用或者试探性地去使用某种方法实现元素居中,但是对各种居中方法的以及使用场景很不清晰.参考的内容链接大概如下: 行内元素:https:// ...

  10. css 文字垂直居中问题

    CSS 文字垂直居中问题 问题:在 div 中文字居中问题: 当使用 line-height:100%%; 时,文字没有居中,如下: html: <div id="header_log ...

随机推荐

  1. iOS 一种很方便的构造TarBar

    直接在TarBarController中操作,代码如下: #import "DLTabBarController.h" #import "ViewController.h ...

  2. 吴裕雄--天生自然python机器学习:决策树算法

    我们经常使用决策树处理分类问题’近来的调查表明决策树也是最经常使用的数据挖掘算法. 它之所以如此流行,一个很重要的原因就是使用者基本上不用了解机器学习算法,也不用深究它 是如何工作的. K-近邻算法可 ...

  3. [LC] 114. Flatten Binary Tree to Linked List

    Given a binary tree, flatten it to a linked list in-place. For example, given the following tree: 1 ...

  4. JavaEE基础:过滤器、监听器、拦截器,应用...

    写在前面说起Java和C++,很容易想到让人疯狂的指针,Java使用了内存动态分配和垃圾回收技术,让我们从C++的各种指针问题中摆脱出来,更加专心于业务逻辑,不过如果我们需要深入了解java的JVM相 ...

  5. PP图|QQ图|正态性检验|K-S检验|S-W检验|

    应用统计学: 物理条件一致时,有理由认为方差是一致的.配对检验可排除物理影响,使方差变小,但是自由度降低了,即样本数变小.二项分布均值假设检验的模型要依据前面的假设条件: PP图统计图要看中间的贴近情 ...

  6. C++入门级小算法

    反序输出一个整数 #include <iostream> using namespace std; int main() { int n; while (cin >> n)// ...

  7. signals function|KNN|SVM|average linkage|Complete linkage|single linkage

    生物医疗大数据 存在系统误差使得估计量有偏,如下图红色和蓝色图形,存在随机误差使得估计量并不是同一个值,如图中除去期望之外的曲线值,为了控制随机抽样造成的误差,可以使用p-value决定是否服从假设检 ...

  8. SpringSecurity 如何提示错误

    1.可以通过authentication-failure-url="/login.html?error=1" 前端接收参数,根据参数提示 错误 2.前端vue this.myNam ...

  9. java实现树的一般操作

    https://www.cnblogs.com/dawnyxl/p/9047437.html 树是数据结构中最基本的结构,今天的博客更新一下树的基本操作: 树的节点结构: package tree; ...

  10. Service层在MVC框架中的意义和职责

    https://blog.csdn.net/u012562943/article/details/53462157 mvc框架由model,view,controller组成,执行流程一般是:在con ...