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

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

作者:张鑫旭 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含CSS,居中等相关知识,张鑫旭 希望在学习及工作中可以帮助到您

绝对定位元素的居中实现

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

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

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

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

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

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

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

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

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


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

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

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

代码两个关键点:

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

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

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


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

  • css小技巧
  • 各大网站CSS初始化代码
  • css权重问题
  • CSS实现鼠标上移图标旋转效果
  • 使用CSS3制作一个简单的进度条(demo)
  • 用纯CSS实现饼状Loading等待图效果
  • 利用CSS3伪元素实现逐渐发光的方格边框
  • CSS3实现内凹圆角的实例代码
  • 利用HTML5+CSS3实现3D转换效果实例详解
  • css3+伪元素实现鼠标移入时下划线向两边展开的效果

相关文章

  • 2017-08-06用CSS创建打印页面的具体步骤
  • 2017-08-06CSS 盒模型、块状元素与内联元素、CSS选择器
  • 2017-08-06CSS 定位之 z-index 问题分析
  • 2017-08-06css使用客户端没有安装的字体语法解决方案
  • 2017-08-06checkbox与文字混排无法对齐导致不美观的解决方法
  • 2017-08-06Web前端新人笔记之height、min-height的区别详解
  • 2017-08-06css 自动换行 强制换行属性 (firefox+ie)
  • 2017-08-06CSS解决无空格的字母、数字过长不自动换行的问题
  • 2017-08-06css样式表中中文名字体乱码使用Unicode可解决
  • 2017-08-06浅谈CSS块级元素与行内元素(内联元素)的区别和联系

文章分类

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

最近更新的内容

    • CSS权重关系及问题剖析
    • RGBa色彩的浏览器支持分析
    • firefox下有滚动条时页面抖动问题的解决方法
    • CSS3实现各种图形的示例代码
    • css3实现背景颜色渐变让图片不再是唯一的实现方式
    • 一款基于css3和jquery实现的动画显示弹出层按钮教程
    • 使用CSS Grid布局实现网格的流动
    • 纯CSS实现多级半透明效果菜单代码
    • 用css控制字符串的输出长度超出时隐藏
    • CSS伪类:before在元素之前 :after 在元素之后实例讲解

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

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