margin属性的正负值确定
margin属性用来使用设置外边距,大多数情况使用正值,但是一些稍复杂的定位就会使用到负值,所以对margin属性的正负值理解是有必要的,本文同时解释了margin-right和margin-bottom没有效果的原因以及解决方法。
1、“margin-left”属性
margin-left属性设置元素的左边距。
记忆方式一:以“元素原来位置的左边”为零界线,向右移动为正值,向左移动为负值。
记忆方式二:以“其他元素(即元素想要拉开距离的外元素)的边缘”为零界线,元素的左边与零界线拉开距离为正;元素左边超出零界线为负。
例子如下:

2、“margin-right”属性
margin-right属性设置元素的右边距。
注意:直接使用margin-right属性一般不会有任何效果,这是因为浏览器默认从左往右渲染元素,在没有超出父容器的宽度的前提下, 如果子容器的宽度能够被容纳 ,设置margin-right是没有用的。
解决:要使margin-right有用,就必须使用定位属性(position)或者浮动属性(float)为前提。
这里使用position为例,先将父元素设置相对定位position:relative,再将测试元素设置绝对定位position:absolute,right:0px。
记忆方式一:以“元素原来位置的右边”(这里指已经定位好,前提设置好的位置)为零界线,向左移动为正值,向右移动为负值。
记忆方式二:以“其他元素(即元素想要拉开距离的外元素)的边缘”为零界线,元素的右边与零界线拉开距离为正;元素右边超出零界线为负。
例子如下:

3、“margin-top”属性
margin-top属性设置元素的上边距。
记忆方式一:以“元素原来位置的上边”为零界线,向下移动为正值,向上移动为负值。
记忆方式二:以“其他元素(即元素想要拉开距离的外元素)的边缘”为零界线,元素的上边与零界线拉开距离为正;元素上边超出零界线为负。
例子如下:

4、“margin-bottom”属性
margin-bottom属性设置元素的下边距。
注意:直接使用margin-bottom属性一般不会有任何效果,这是因为浏览器默认从上往下渲染元素,在没有超出父容器的高度的前提下, 如果子容器的高度能够被容纳 ,设置margin-bottom是没有用的。
解决:要使margin-bottom有用,就必须使用定位属性(position)或者浮动属性(float)为前提。
这里使用position为例,先将父元素设置相对定位position:relative,再将测试元素设置绝对定位position:absolute,bottom:0px。
记忆方式一:以“元素原来位置的下边”(这里指已经定位好,前提设置好的位置)为零界线,向上移动为正值,向下移动为负值。
记忆方式二:以“其他元素(即元素想要拉开距离的外元素)的边缘”为零界线,元素的下边与零界线拉开距离为正;元素下边超出零界线为负。
例子如下:

总结:
以“元素原来位置的边”为零界线(margin-left以左边,margin-right以右边,margin-top以上边,margin-bottom以下边),向边的相反方向移动为正值,向边的同向方向移动为负值。举例:margin-left,以“元素原来位置的左边”为零界线,向右移动为正值,向左移动为负值。
margin属性的正负值确定的更多相关文章
- 由浅入深漫谈margin属性1
margin 在中文中我们翻译成外边距或者外补白(本文中引用外边距).他是元素盒模型(box model)的基础属性. (该文章解释是否正确有待商榷,目前我的实验结果为:在默认情况或者div左浮动的情 ...
- 关于元素加上margin属性后以谁为基准移动的问题及负margin的问题
突然想起这个问题,这是很基础很基础的问题啊,但之前很多次都忘记了,然后困扰了我很久.不清不楚的感觉很不好,所以要做成笔记比较好记住,好记性不如烂笔头,以后再次困惑了再回来看看.推荐文章,海玉的< ...
- 由浅入深漫谈margin属性
margin 在中文中我们翻译成外边距或者外补白(本文中引用外边距).他是元素盒模型(box model)的基础属性. 一.margin的基本特性 margin 属性包括 margin-top, ma ...
- margin属性总结,你想知道的这里都有
一.前言 在学习CSS时,遇到的很多问题都是和margin有关,这个小怪兽总是出其不意的让我的界面排版变的混乱,还让人摸不着头脑,原因还是在于我对他的一些属性没有进行一个深入的了解,导致我在设计之初就 ...
- margin属性
可以设置position:absolute/relative/fixed,通过调节top/bottom/left/right实现元素的定位,这样很好,但是有时候想通过margin来实现. 下面是mar ...
- (九)学习CSS之margin属性
参考: 所有浏览器都支持 margin 属性. 注释:任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit". 定义和用法 margi ...
- CSS的margin属性:详解margin属性
在网上看到的一篇文章,说的比较全面.原文地址:http://www.poluoluo.com/jzxy/201206/167007.html 你真的了解margin吗? 你知道margin有什么特性吗 ...
- 你是否彻底了解margin属性?
写css,你少不了与margin打交道.你真的了解margin吗?你知道margin有什么特性吗?你知道什么是垂直外边距合并?margin在块元素.内联元素中的区别?什么时候该用padding而不是m ...
- margin属性以及垂直外边距重叠问题
盒子的margin属性 盒子的外边距margin 指的是当前盒子与其他盒子之间的距离,环绕在盒子周围的空白区域,属于不可见的区域,,不会影响到可见框的大小,而是会影响到盒子的位置 ...
随机推荐
- 学习总结------Servlet的简单理解
1.什么是Servlet Servlet是一个Java编写的程序,在服务器端运行的(如tomcat) Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览 ...
- 解决arcgis javascript textsymbol不支持多行文本标注的问题
首先,下载这段js文件,命名为esri.symbol.MultiLineTextSymbol.js require(["esri/layers/LabelLayer"], func ...
- [iOS]从零开始开发一个即时通讯APP
前言 这是我的毕业设计.刚开始确定这个课题的时候是因为以前有稍微研究过一些XMPP协议,在这个基础上做起来应该不难.然后开始选技术的时候还有半年,我想为什么不从更底层做起呢!那就不用XMPP,当时接触 ...
- 用JS来实现于截取中英文混合字符串方法(转载)
网站制作过程中,提示层文字超出,需要JS做字符串截取,但是呢,我们常常会烦恼文字中英文混合如何判断,因为我们知道在JS中 string.length这个值是不考虑中英文的,但是计算机对中英文的识别是 ...
- (6)javascript的程序控制结构及语句-----(1)条件判断
程序控制结构及语句 编程就是将现实应用,转换为程序能够读得懂的语法语句.Javascript编程中对程序流程控制主要是通过条件判断语句.循环控制语句及continue.break来完成的,其中条件判断 ...
- django-xadmin ModelAdmin中定义object_list_template无效的问题
环境:https://github.com/y2kconnect/xadmin-for-python3.git python3.5.2 django1.9.12 object_list_templat ...
- Bootstrap下拉菜单
前面的话 网页交互的时候经常会需要上下文菜单或者隐藏/显示菜单项,Bootstrap默认提供了用于显示链接列表的可切换.有上下文的菜单.而且在各种交互状态下的菜单展示需要和javascript插件配合 ...
- 浅析ConcurrentHashMap
一.导论 这些天一直在看关于多线程和高并发的书籍,也对jdk中的并发措施了解了些许,看到concurrentHashMap的时候感觉知识点很乱,有必要写篇博客整理记录一下. 当资源在多线程下共享时会产 ...
- Python序列类型
Python序列类型 序列:字符.列表.元组 所有序列都支持迭代 序列表示索引为非负整数的有序对象集合 字符和元组属于不可变序列,列表可变 1)字符 字符串字面量:把文本放入单引号.双引号或三引号中: ...
- 在当前光标处按指定属性显示字符 - BOIS中断
在当前光标处按指定属性显示字符 - BOIS中断 最简单的调试方式是打印. 编写MBR时,判断MBR是否加载并运行,最直接的方式就是打印一个字符. INT 0x10 功能描述: 在当前光标处按指定属性 ...