• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >css3 > 全面总结使用CSS实现水平垂直居中效果的方法

全面总结使用CSS实现水平垂直居中效果的方法

作者:大漠 字体:[增加 减小] 来源:互联网 时间:2017-06-02

本文主要包含css图片水平居中,css文字水平居中,css水平线,css字体水平居中,css div水平居中等相关知识,大漠 希望在学习及工作中可以帮助到您

说起水平垂直居中大家常看到的是使用绝对定位与负margin的配合或者是inline-block配合vertical-align:middle等方法。当然还有其他一些解决方案,比如说,在水平垂直居中系列中介绍了一些制作方案。但这些方案或多或少都存在一些局限性。假设,要垂直水平居中的元素大小是未知的,你要使用绝对定位与负margin配合就难上加难。当然你会说,使用表格将解决我一切所需,的确是这样,那么除了这些方法,还有别的方案吗?接下来我们就针对这个自设问题,来一起探讨其他几种实现水平垂直居中的方案。

为了更好的阐述后面的方案,我们这里有一个命题:让未知大小容器(未知行数的文本)实现水平垂直居中。看到这样的命题,有人或许会说神经病又来了,如果你也这么认为,就让当是神病出现了吧。我们不纠结这个,还是看几种解决方案吧。


方法一:最原始的方式

这种方法用来实现单行垂直居中是相当的简单的,你只要保证元素内容是单行,并且其高度是固定不变的,你只要将其“line-height”设置成和“height”值一样就Ok了。不过这种方法局限性太大,只有单行文本的元素才适用,所以在多行元素中是不能使用这种方法的。

Html Markup

</div>
  1. <div class="vertical">content</div>  
</div> </div>

   
CSS Code:

</div>
  1. .vertical {   
  2.  height: 100px;   
  3.  line-height: 100px;/*值等于元素高度的值*/  
  4. }  
</div> </div>

   
优点:

适合在所有浏览器,没有足够空间时,内容不会被切掉

缺点:

仅适合应用在文本和图片上,并且这种方法,当你文本不是单行时,效果极差,差到让你感到恶心。

这种方法对运用在小元素上是非常有用的,比如说让一个button、图片或者单行文本字段。

方法二:Flexbox方式

什么是Flexbox就不说了,对于让Flexbox实现水平垂直居中可以说是绝对的一流。假设我想让一张图片(图片大小不知)在body中实现水平垂直居中。

HTML

</div>
  1. <body>  
  2.     <img src="http://img0.bdstatic.com/img/image/shouye/mxangel.jpg" alt="" />  
  3. </body>  
</div> </div>

结构非常简单,body中有一张图片。

CSS

我们要做的是,如何使用Flexbox让img在body中实现水平垂直居中。

</div>
  1. *{   
  2.   margin: 0;   
  3.   padding:0;   
  4.   -webkit-box-sizing: border-box;   
  5.   box-sizing: border-box;   
  6. }   
  7. html,   
  8. body {   
  9.   height: 100%;   
  10. }   
  11. body {   
  12.   display: flex;   
  13.   align-items: center;   
  14.   justify-content: center;   
  15.   width: 100%;/*firefox下需要*/  
  16. }  
</div> </div>

代码就这么几行,有一个关键之处,需要将html和body高度设置为100%;然后只需要在body中配置样式。此处使用了Flexbox中的居中属性。至于他们原理,这里就不多说了,感兴趣的同学可以看看Flexbox相关的教程。


方法三:transform与绝对定位方式

在当今天移动设备横行天下的年代,给我们前端人员制作页面带来无尽的烦恼,具体原因,大家都懂的。那么这里我们来模拟一个情形。有一个弹出层,我不知道他的大小有多大,我想让他在各种设备中永远水平居中。在下面示例中,我们用一个Dive来当作是弹出窗吧(偷懒了,不想花太多时间去做这个弹出窗效果)。

回到我们问题所在,在示例中有这样的一个结构:

</div>
  1. <div class="modal">  
  2.     <div class="modal-header">弹出窗标题</div>  
  3.     <div class="modal-body">在当今天

您可能想查找下面的文章:

  • 全面总结使用CSS实现水平垂直居中效果的方法

相关文章

  • 2017-06-02CSS3中:nth-child和:nth-of-type的区别深入理解
  • 2017-06-02浅谈CSS3动画的回调处理
  • 2017-06-02使用CSS3美化HTML表单的技巧演示
  • 2017-06-02css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
  • 2017-06-02css3气泡 css3关键帧动画创建的动态通知气泡
  • 2017-06-02css3加js做一个简单的3D行星运转效果实例代码
  • 2017-06-02css3实现的下拉菜单效果示例
  • 2017-06-02结合CSS3的新特性来总结垂直居中的实现方法
  • 2017-06-02CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
  • 2017-06-02使用CSS3实现圆角,阴影,透明

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • css3学习之2D转换功能详解
    • 利用纯CSS3实现tab选项卡切换示例代码
    • 几个CSS3的flex弹性盒模型布局的简单例子演示
    • 使用CSS3配合IE滤镜实现渐变和投影的效果
    • 深入浅出CSS3 background-clip,background-origin和border-image教程
    • 使用CSS3制作一个简单的Chrome模拟器
    • 使用CSS3实现圆角,阴影,透明
    • css3实例教程 一款纯css3实现的发光屏幕旋转特效
    • CSS3的文字阴影—text-shadow的使用方法
    • 使用CSS3的appearance属性改变元素的外观的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有