关于margin: auto及margin: 0 auto的一些见解
在写css时margin:auto;使用频率非常高,常用于div的居中。
何为margin?
margin是指块级元素的外边距,如下图所示,XXXXX是div中的内容,通过设置margin的值,可控制div与其他块级元素的距离
margin设置不同数量的值时的含义
我们常看到
margin:auto;
margin: 0px auto;
margin: 10px 20px 30px 40px;
相关的语句,当margin有不同数量的值时,其含义分别是什么?
首先margin最多有4个值,按顺序为顺时针:上,右,下,左
当给margin提供4个值时,分别设置上(margin-top),右(margin-right),下(margin-bottom),左(margin-left)的值;
当给margin提供3个值时,第1个为上,第2个为左右,第3个为下;
当给margin提供2个值时,第1个为上下,第2个为左右;
当给margin提供1个值时,此值代表上下左右四个方向。
margin的值为auto的具体含义是什么?
auto意为自动填充。以margin:0,auto;为例,程序会自动计算剩余左右两部分的空白长度,把其等分再作为div左右的外边距。所以我们可以使用此行代码使得div居中。
为什么使用margin:auto;可以使div左右居中,却不能垂直居中?
我们设置两个盒子,都在里面添加margin:auto;所有代码如图所示:
<!DOCTYPE html>
<html>
<head><title>div </title><style type="text/css">.div1 {background-color: gray; /* 背景色 */height: 500px; /* 盒子的长宽 */width: 600px;margin: auto; /* 居中 */}.div2 {background-color: red;height: 200px;width: 200px;margin: auto;}</style>
</head>
<body><div class="div1"><div class="div2"></div></div></body>
</html>
实现效果:
可看到盒子已经成功地左右居中,但并没有垂直居中。我查看了相关文档,在这里写一下个人的见解。首先理解块级元素的概念,块级元素在默认情况下会占据整行空间,即使元素宽度不是百分百占据浏览器,浏览器也会给它空出整行的空间,这也对应了外边距的设立。如果不做任何处理,下一个块级元素会另起一行。那么当写上margin:auto;时,可理解为左右尚有空缺,所以可以看到居中效果,但上下已经没有空缺了(在浏览器眼里),即margin-top和margin-bottom都自动设置为0。
在下一篇博客中会写一篇如何水平、垂直居中div的博文
关于margin: auto及margin: 0 auto的一些见解相关推荐
- margin 0 auto 什么意思
今天在写h5的时候遇到了居中的问题(网页自适应),让后就上网上查了相关的资料,顺便整理一下margin中两个参数的意思: margin后面如果只有两个参数的话,第一个表示top和bottom,第二个表 ...
- [css] 怎么IE6下在使用margin:0 auto;无法使其居中?
[css] 怎么IE6下在使用margin:0 auto;无法使其居中? 浏览器解析的问题,IE6下需要对居中的元素设置text-align:center属性使其margin:0 auto;生效. 个 ...
- 块状元素的居中,首先设置宽度,再设 margin: 0 auto
块状元素的居中,首先设置宽度 width="10px",再设 margin: 0 auto; . 转载于:https://www.cnblogs.com/npk19195globa ...
- css中margin:0 auto没作用
很多初学制作网页的朋友,可能会遇到的一个常见问题,就是在CSS中加了margin:0 auto;却没有效果,不能居中的问题!margin:0 auto;的意思就是:上下边界为0,左右根据宽度自适应!其 ...
- margin: 0 auto;的作用
在html中,为什么我们设置一个margin: 0 auto;就可以使得块元素居中? <!DOCTYPE html> <html lang="en"> &l ...
- CSS中:margin和padding的区别 margin:auto与margin: 0 auto区别
css中padding和margin的区别 margin 外边距 border 边框 padding 内边距 padding-left:10px; 左内边距.padding-right:10px; 右 ...
- 固定定位的盒子使用margin:0 auto;是无法水平居中的,此时该怎么操作呢?
固定定位的盒子使用margin:0 auto:是无法水平居中的,此时该怎么操作呢? 第一步 第二步 建议 完整小栗子 第一步 定位距离左侧(相对于浏览器)50%,此时盒子左侧是在浏览器中间的 posi ...
- 行内元素设置margin:0 auto无效的问题
行内元素指的是可在同一行内排列的元素,列举几个常用行内元素:img.input.span.label.a.textarea.button. 通常要给元素设置居中得效果的话,很多人会先想到margin: ...
- margin:0 auto是什么意思
margin是外边距的意, 当一个元素样式属性里有dumargin:0 auto时,并且父元素的宽度是确定的, 意思是这个元素处于其父元素的居中位置,并且这个元素的上下外边距为0 即:上下外边距为0, ...
- text-align:center 和margin:0 auto的区别
基本概念: 1.text-align: 属性规定元素中的文本的水平对齐方式; 该属性通过指定行框与哪个点对齐,从而设置块级元素内文本水平对齐方式; 一般情况下设置文本对齐方式的时使用此属性.支持值 ...
最新文章
- 想转行人工智能?机会来了!
- python读取文件夹下所有图像 预处理_Tensorflow之tif图像文件预处理
- oVirt Reports Portal 3.4 added to ovirt-engine
- FPGA+NIOS2 Verilog+C 实现一个计算器
- Android官方开发文档Training系列课程中文版:网络操作之网络管理
- css - 给图片添加蒙版
- 高德地图模仿微信发送位置实现拾取坐标
- 网易有道 IP地址、邮编区号及城市查询、手机号码归属地和身份证 查询接口API
- Java / Tensorflow - Expects arg[0] to be int64 but int32 is provided 异常处理
- 我的世界Mod整合包中的Mod下载
- Android折腾记——Linux on Android在Android手机上跑Linux教程
- SpringSecurity(二)、权限项目框架搭建
- 微信发红包、QQ登录、搜索框、水杯、聊天窗口、两台电梯、微信/淘宝支付、笔、 抖音发布短视频等功能测试用例
- 2022年Python笔试选择题及答案(秋招)
- EPLAN无法打开ESS_part001.mdb。处理方法
- 此时不应有 \Microsoft 或其它的解决办法
- 基于CTP的程序化交易系统开…
- 项目分析工具----SpaceSniffer
- Mac 彻底卸载Java
- 新零售mysql设计(购物券表 客户关联购物券表)二次修改