1 DIV块中 元素垂直居中

作者:知乎用户
链接:https://www.zhihu.com/question/20543196/answer/99429177
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

block 元素

    • block 元素利用绝对定位以及负外边距,适用于知道元素的宽度和高度,兼容性好,所以会看到很多远古时代的居中都采用这种办法,参照下图,注意这里的外边距减去的是 block 元素宽度的一半,即

      margin:-(width/2) px

      <img src="https://pic1.zhimg.com/50/6732c0281c722dcb0208716a0df24db3_hd.jpg" data-rawwidth="518" data-rawheight="299" class="origin_image zh-lightbox-thumb" width="518" data-original="https://pic1.zhimg.com/6732c0281c722dcb0208716a0df24db3_r.jpg">

    • block 元素利用绝对定位以及 transform ,适用于不知道元素的宽度盒高度,参照下图

<img src="https://pic4.zhimg.com/50/21cc6a5443cd959f2e1c966bdd9aa79f_hd.jpg" data-rawwidth="511" data-rawheight="275" class="origin_image zh-lightbox-thumb" width="511" data-original="https://pic4.zhimg.com/21cc6a5443cd959f2e1c966bdd9aa79f_r.jpg">

    • block 元素在外部的容器,利用 flex 的属性将其设置为下图,则子元素 block 元素垂直居中

<img src="https://pic4.zhimg.com/50/a310965198b80c8a23226e5cf3b46c07_hd.jpg" data-rawwidth="518" data-rawheight="188" class="origin_image zh-lightbox-thumb" width="518" data-original="https://pic4.zhimg.com/a310965198b80c8a23226e5cf3b46c07_r.jpg">

 
 
            <div class="login_header " style="position: relative;">
                
                    <div style="position: absolute;top: 50%; transform: translateY(-50%); padding-left: 30px" >
                        登录
                    </div>
            </div>
 
作者:知乎用户
链接:https://www.zhihu.com/question/20543196/answer/99429177
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

inline 元素

&amp;amp;lt;img src="https://pic1.zhimg.com/50/1089bd28a59bfffdb09aeaf1c3d43e8c_hd.jpg" data-rawwidth="422" data-rawheight="279" class="origin_image zh-lightbox-thumb" width="422" data-original="https://pic1.zhimg.com/1089bd28a59bfffdb09aeaf1c3d43e8c_r.jpg"&amp;amp;gt;

&amp;amp;lt;img src="https://pic1.zhimg.com/50/69ad247cebcdfb6105fb225079d8c350_hd.jpg" data-rawwidth="437" data-rawheight="346" class="origin_image zh-lightbox-thumb" width="437" data-original="https://pic1.zhimg.com/69ad247cebcdfb6105fb225079d8c350_r.jpg"&amp;amp;gt;

    • 如果上面的代码都不生效的话,有可能行内元素是在表格里面,这个时候可以利用inline元素的 CSS 属性 vertical-align ,默认是 baseline 属性,将其设置为 middle,这个属性常用于 inline-level 和 table-cell 的元素。 demo传送门:inline_vertical_demo_3

&amp;amp;lt;img src="https://pic3.zhimg.com/50/274ea3309217321ab5e8ae35b8022eb0_hd.jpg" data-rawwidth="429" data-rawheight="338" class="origin_image zh-lightbox-thumb" width="429" data-original="https://pic3.zhimg.com/274ea3309217321ab5e8ae35b8022eb0_r.jpg"&amp;amp;gt;

 
            <div class="login_header " style="display: table">
                
                    <span style="display: table-cell; vertical-align: middle" >  注意是行内元素,所以这里用span,不是DIV
                        登录
                    </span>
 
            </div>
这种办法兼容性问题

DIV块中 元素垂直居中的更多相关文章

  1. 子DIV块中设置margin-top时影响父DIV块位置的解决办法?

    解决方法: 1.修改父元素的高度,增加padding-top样式模拟(padding-top:1px:常用) 2.为父元素添加overflow:hidden:样式即可(完美) 3.为父元素或者子元素声 ...

  2. 子div块中设置margin-top时影响父div块位置的解决办法及其原因

    解决办法①: 若子DIV块中使用margin-top,则在父DIV块中添加:overflow:hidden; 解决办法②: 在子DIV块中用padding-top代替margin-top. 有个叫 b ...

  3. 子div块中设置margin-top时影响父div块位置的解决办法

    在css中设置样式时,通常会遇到用子div块margin中设置margin-top时,父div块中就会随着子div的margin-top,也会和子div执行相同的margin-top的位置样式 解决办 ...

  4. HTML/CSS:div水平与元素垂直居中(2)

    单个div水平居中:设置margin的左右边距为自动 div水平和垂直居中,text-align和vertical-align不起作用,因为标签div没有这两个属性,所以再css中设置这两个值不能居中 ...

  5. span(行级元素)在不定高的div(块级元素)中垂直居中的方法

    设置父级元素: align-items: center; display: flex;

  6. css3设置box-pack和box-align让div里面的元素垂直居中

    只要设置元素的box-pack和box-align即可,这两个属性当前只有webkit和moz支持,要设置垂直居中的话只需要将这两个属性的值都设置为center即可,需要的朋友可以参考下   以前处理 ...

  7. div块级元素获取焦点

    在做弹出层时需要对div获取失去焦点 focus blur只是针对form表单控件的,而对于 span , div , li 之类的,则没办法触发它们的动作 几个事件(摘自w3c). blur事件: ...

  8. div块水平居中,垂直居中

    水平居中一个div想要水平居中于它的父div中只需要给它加css属性margin:0 auto; 即可 <!DOCTYPE html> <html> <head> ...

  9. 让图片在div盒子中水平垂直居中

    //调整多张图片,让图片水平垂直居中 function adjustImg(){ let imgDiv = document.getElementsByClassName("img" ...

随机推荐

  1. 结对项目(python) 黄浩伟 黄飞越

    作者:黄浩伟 黄飞越  一 .Github项目地址: https://github.com/Flying123haha/123.git 二.psp表格: PSP2.1 Personal Softwar ...

  2. C#对MongDB取数据的常用代码

    1.使用聚合取最新的实时数据(每一个测站有多条数据,取日期最新的数据.也就是每个测站取最新的值) var group = new BsonDocument { {"_id",new ...

  3. 常用的PHP字符串操作函数

    1.strlen 但是要注意!如果字符串中是汉字等其他字符时候呢? $str = "我"; echo strlen($str); //一个汉字,在UTF8格式下,显示3, ANSI ...

  4. thrift简单示例 (go语言)

    这个thrift的简单示例来自于官网 (http://thrift.apache.org/tutorial/go), 因为官方提供的例子简单易懂, 所以没有必要额外考虑新的例子. 关于安装的教程, 可 ...

  5. 【CMDB】API传输验证

    客户端向服务器发送请求时,在请求头添加自定义的字符串 客户端的加密方式 1.对key+time进行md5加密 2.发送的时候的格式为md5_key|time,将时间也发送过去 服务器端验证 1.获取加 ...

  6. IDEA如何配置tomcat及建一个web项目

    需求:项目工程可能别人已经建好了,我需要把项目导入到自己的IDEA并配置tomcat运行; 准备工作:1.本地的tomat服务器 2.IDEA工具 3.JDK 步骤: 1.点击Run -> Ed ...

  7. Linux必知必会--grep

    花更少的时间,去验证一件事情:你到底是富翁,还是贫民. --一位历经沧桑的炒客 转自:https://man.linuxde.net/grep grep命令 grep(global search re ...

  8. beta版本——第二次冲刺

    第二次冲刺 (1)SCRUM部分☁️ 成员描述: 姓名 唐财伟 完成了哪个任务 搭建Nginx 花了多少时间 3h 还剩余多少时间 0h 遇到什么困难 解决端口冲突,启动报错等问题 这两天解决的进度 ...

  9. app开发-3

    一.Audio 模块实现开启手机摄像头 基于html5 plus http://www.html5plus.org/doc/zh_cn/audio.html 栗子:   自定义: scanQR.HTM ...

  10. 手写二叉树-先序构造(泛型)-层序遍历(Java版)

    如题 先序构造 数据类型使用了泛型,在后续的更改中,更换数据类型只需要少许的变更代码 层序遍历 利用Node类的level属性 所有属性的权限全为public ,为了方便先这么写吧,建议还是用priv ...