css margin:0 auto无法居中的原因
时间:2016-07-24
css margin:0 auto可以设置HTML块状元素水平居中,但是对于新手来说,很多时候这个属性并没有取到居中的效果,根本原因在哪里呢?本文章向大家介绍css margin:0 auto无法居的解决办法,需要的朋友可以参考一下。
首先向大家介绍margin:0 auto到底是什么意思,为什么可以用它来实现水平居中。
margin:0 auto表示上下边距为0,左右边距为自适应(大家可以阅读这篇文章了解更多margin的知识),主要是左右边距取到居中的作用,那什么叫自适应呢,自适应就是指在一定宽度的容器里面,根据自身的大小决定显示在什么位置。所以在使用margin:0 auto居中时,一定要设置容器的宽度,如果宽度都没有,那么怎么自适应呢?下面列举两个实例:
margin:0 auto设置宽度:
<!DOCTYPE html>
<html>
<head>
<title> /* http://www.manongjc.com/article/1261.html */</title>
<style>
.box{
margin:0 auto;
background:red;
width:200px;
}
</style>
</head>
<body>
<div class="box">我设置了宽度,所以使用margin:0 auto属性,我会居中显示</div>
</body>
</html>
示意图:
因为DIV设置了宽度,所以相对整个页面,div是居中的
margin:0 auto没有设置宽度:
<!DOCTYPE html>
<html>
<head>
<style>
.box{
margin:0 auto;
background:red;
}
</style>
</head>
<body>
<div class="box">我没有设置宽度,所以即使使用margin:0 auto属性,我会不会居中显示</div>
</body>
</html>
示意图:
因为DIV没有设置宽度,所以即使使用了margin:0 auto,也不会取到任何作用。
例外,如果我们在html文档开头声明<!DOCTYPE html>(看上面代码),那么,就算你设置了width,margin:0 auto水平居中也可能不取作用。因此在html文档开头最好声明一下<!DOCTYPE html>。至于<!DOCTYPE html>有什么作用,这里我只做简单说明:
DOCTYPE是documenttype(文档类型)的简写,在web设计中用来说明你用的XHTML或者HTML是什么版本。要建立符合标准的网页,DOCTYPE声明是必不可少的关键组成部分!
- Vijos P1127 级数求和【模拟】
- 新型漏洞:利用浏览器Cookie绕过HTTPS并窃取私人信息
- Vijos P1113 不高兴的津津【模拟】
- Linux下MySQL的彻底卸载和安装配置字符集
- Codeforces 626F Group Projects(滚动数组+差分dp)
- Vijos P1103 校门外的树【线段树,模拟】
- BZOJ 1061: [Noi2008]志愿者招募【单纯形裸题】
- SQL vs NoSQL:如何选择?
- 线性规划之单纯形法【超详解+图解】
- NodeJS 应用仓库钓鱼
- Codeforces 626D Jerry's Protest(暴力枚举+概率)
- CodeM美团点评编程大赛初赛B轮 黑白树【DFS深搜+暴力】
- Uva 10339 - Watching Watches【数论,暴力】
- Codeforces 626E Simple Skewness(暴力枚举+二分)
- HTML 教程
- HTML 简介
- html div 标签介绍
- html span 标签介绍
- html a 超链接标签
- HTML Br换行标签介绍
- HTML P段落标签介绍
- HTML br与p标签区别
- Html H 标题标签
- html px em pt长度单位
- HTML form 标签
- HTML radio 单选框
- HTML B 加粗标签
- HTML strong加粗粗体标签
- HTML em 强调标签
- HTML i 斜体标签
- HTML u下划线标签
- HTML s 删除线标签
- Html img 图片标签
- Html上标注sup与下标注sub标签
- HTML nobr 禁止换行标签
- HTML hr 水平线标签
- HTML label 标签
- HTML input 标签
- HTML textarea 标签
- HTML select下拉列表标签
- HTML checkbox 多选框
- HTML font color 标签
- HTML iframe 框架标签
- HTML Table 表格
- HTML dl dt dd 标签
- HTML ol li有序列表标签
- HTML ul li 无序列表标签
- HTML 注释
- CSS 教程
- CSS 简介
- CSS 语法
- CSS Id 和 Class选择器
- CSS 样式的创建
- CSS background 背景介绍
- CSS 文本样式
- CSS font 字体
- CSS A 链接
- CSS ul ol列表样式
- CSS TABLE 样式
- CSS 框模型
- CSS border 边框
- CSS Outlines 轮廓
- CSS 外边距 Margin
- CSS Padding 内边距
- CSS 分组和嵌套选择器
- CSS 尺寸 (Dimension)
- CSS Display 属性
- CSS Position 定位
- CSS Float 浮动
- CSS 水平对齐(Horizontal Align)
- CSS 组合选择符
- CSS 伪类
- CSS 伪元素
- CSS 导航栏
- CSS 下拉菜单
- CSS 图片廊
- CSS 图像透明/不透明
- CSS sprite 图像拼合技术
- CSS 媒体类型
- CSS 属性选择器
- CSS 实例
- C++中sort函数使用方法
- 史上最贴心React渲染器开发辅导
- 010.Nginx正反代理
- ClickHouse源码笔记2:聚合流程的实现
- 5G边缘计算赋能安防互联网直播行业,青犀视频强力打造云、边、端一体化协同音视频解决方案
- 视频云平台流媒体服务EasyNVR能获取直播视频的RTSP流地址吗?
- 如何编写不存在即插入的 SQL
- SQL 打印一个月的日历
- Kubernetes节点的驱逐与预留
- 使用reveal.js制作精美的网页版PPT
- Ceph快照爱你不容易系列 03:快照数据一致性浅析
- 没想到竟是因为它!让我的服务器变成了别人的挖矿工具
- 从零到一,Serverless 平台在滴滴内部落地
- React 使用 Proxy 代理(create-react-app)
- .Net Core + EF + mysql 从数据库生成实体