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 指的是当前盒子与其他盒子之间的距离,环绕在盒子周围的空白区域,属于不可见的区域,,不会影响到可见框的大小,而是会影响到盒子的位置 ...
随机推荐
- angular路由最基本的实例---简单易懂
<!DOCTYPE html> <html lang="en" ng-app="myapp"> <head> <met ...
- read命令读取用户输入
read命令用于从终端或文件中读取用户输入,它读取整行输入,如果没有指定名称,读取的行被赋值给内部变量REPLY.read命令常用选项:-a,-p,-s,-t,-n 1.REPLY变量 $readhe ...
- ecshop调用指定分类和个数的文章列表
举例如首页调用方法: 1.先打开index.php文件找到以下代码: $smarty->assign('new_articles', index_get_new_articles()); // ...
- 可选参数、命名参数、.NET的特殊类型、特性
1.可选参数和命名参数 1.1可选参数 语法: [修饰符] 返回类型 方法名(必选参数n,可选参数n) 注意: 1.必选参 ...
- JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构
JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECM ...
- 不带插件 ,自己写js,实现批量上传文件及进度显示
今天接受项目中要完成文件批量上传文件而且还要显示上传进度,一开始觉得这个应该不是很麻烦,当我在做的时候遇到了很多问题,很头疼啊. 不过看了别人写的代码,自己也测试过,发现网上好多都存在一些问题,并不是 ...
- nginx二级域名配置自动跳转到一级域名
nginx二级域名配置自动跳转到一级域名 rewrite配置内容: if ($http_host !~ "^www.aaa.com$") { rewrite ^(.*) http: ...
- 避免循环做SQL操作
经常犯的错误是把一个SQL 操作放置到一个循环中, 这就导致频繁的访问数据库,更重要的是, 这会直接导致脚本的性能低下.以下的例子, 你能够把一个循环操作重置为一个单一的SQL语句. foreach ...
- linux发行版和内核的关系
转自:http://m.blog.csdn.net/article/details?id=50595230 Linux内核是计算机操作系统的核心.一个完整的 Linux发行版包括了内核与一些其他与文件 ...
- [leetcode-530-Minimum Absolute Difference in BST]
Given a binary search tree with non-negative values, find the minimum absolute difference between va ...