• 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选择第一个子元素等相关知识,张鑫旭 希望在学习及工作中可以帮助到您

绝对定位元素的居中实现

如果要问如何CSS实现绝对定位元素的居中效果,很多人心里已经有答案了。

兼容性不错的主流用法是:

</div>
  1. .element {   
  2.     width: 600px; height: 400px;   
  3.     position: absolute; left: 50%; top: 50%;   
  4.     margin-top: -200px;    /* 高度的一半 */  
  5.     margin-left: -300px;    /* 宽度的一半 */  
  6. }  
</div> </div>

但,这种方法有一个很明显的不足,就是需要提前知道元素的尺寸。否则margin负值的调整无法精确。此时,往往要借助JS获得。

CSS3的兴起,使得有了更好的解决方法,就是使用transform代替margin. transform中translate偏移的百分比值是相对于自身大小的,于是,我们可以:

</div>
  1. .element {   
  2.     width: 600px; height: 400px;   
  3.     position: absolute; left: 50%; top: 50%;   
  4.     transform: translate(-50%, -50%);    /* 50%为自身尺寸的一半 */  
  5. }  
</div> </div>

于是乎,无论绝对定位元素的尺寸是多少,其都是水平垂直居中显示的。

然,问题很明显,兼容性不好。IE10+以及其他现代浏览器才支持。中国盛行的IE8浏览器被忽略是有些不适宜的(手机web开发可忽略)。

实际上,绝对定位元素的居中实现还有另外一种方法,可以说是权衡了上面的尺寸自适应以及兼容性的一个方案,其实现的核心是margin:auto.


margin:auto实现绝对定位元素的居中

首先,我们来看下CSS代码:

</div>
  1. .element {   
  2.     width: 600px; height: 400px;   
  3.     position: absolute; left: 0; top: 0; rightright: 0; bottombottom: 0;   
  4.     margin: auto;    /* 有了这个就自动居中了 */  
  5. }  
</div> </div>

代码两个关键点:

    上下左右均0位置定位;
    margin: auto

于是,就居中了。上面代码的width: 600px height: 400px仅是示意,你修改为其他尺寸,或者不设置尺寸(需要是图片这种自身包含尺寸的元素),都是居中显示的。很有意思的~~

您可以狠狠地点击这里:margin:auto与绝对定位元素的垂直居中demo


</div>

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

  • CSS实现定位元素居中的方法

相关文章

  • 2017-06-02CSS3图片旋转特效(360/60/-360度)
  • 2017-06-02纯CSS3实现表单验证效果(非常不错)
  • 2017-06-02用CSS3的box-reflect设置文字倒影效果的方法讲解
  • 2017-06-02关于box-sizing的全面理解
  • 2017-06-02CSS3中background-clip和background-origin的区别示例介绍
  • 2017-06-02详解CSS3中border-image的使用
  • 2017-06-02canvas之万花筒效果的简单实现(推荐)
  • 2017-07-22CSS3阴影 box-shadow的使用和技巧总结
  • 2017-06-02纯HTML+CSS3制作导航菜单(附源码)
  • 2017-06-02CSS3实现10种Loading效果

文章分类

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

最近更新的内容

    • CSS3制作文字半透明倒影效果的两种实现方式
    • css3实现3d旋转动画特效
    • 全方位了解CSS3的Regions扩展
    • CSS3 制作绽放的莲花采用效果叠加实现
    • css3教程之倾斜页面
    • 利用css3制作3D样式按钮实现代码
    • 结合CSS3的新特性来总结垂直居中的实现方法
    • CSS3结构性伪类选择器九种写法
    • CSS3打造磨砂玻璃背景效果
    • css3一款3D字体带阴影效果的实现步骤

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

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