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

CSS属性探秘系列(六):margin

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

本文主要包含CSS属性,margin等相关知识,佚名 希望在学习及工作中可以帮助到您

一、属性介绍

margin 属性接受任何长度单位,可以是像素、英寸、毫米或 em。
可取值:
auto 浏览器计算外边距。
length 规定以具体单位计的外边距值,比如像素、厘米等。默认值是 0px。
% 规定基于父元素的宽度的百分比计算的外边距。
inherit 规定应该从父元素继承外边距。

二、常见问题

1.IE6下浮动元素双倍边距问题
解决方法:
IE6中设置block元素display:inline;
.l{margin-left:20px;float:left;display:inline;}
原因:首先,inline元素和inline-block元素是没有双倍边距的。对inline元素设置float后,会有个haslayout,使inline元素具有inline-block元素的特性,进而可以设置垂直margin、padding、width、height。

2.margin外边距合并问题
外边距的合并发生在以下三种情形:
情形一:空块元素
a)如果一个块级元素没有border、padding、inline content、height、min-height来分隔,设置margin-top和margin-bottom属性后会合并,

b)实例:


从上例可以看出,最后.out computed height为40px;
>=IE8、Firefox、Chrome测试效果相同。但是有个疑问,去掉out的边框后,其高度计算为0,不知道什么原因?

情形二:父元素与第一个或最后一个子元素
如果块元素的 margin-top 与它的第一个子元素之间没有border, padding, inline content, 或 clearance 分隔,或者块元素的 margin-bottom 与它的最后一个子元素之间没有padding, inline content, height, min-height, or max-height 分隔,那么外边距会合并。


>=IE6,FF,Chrome效果效果相同,此时inner01的margin-top:并没有起作用,这就是为什么很多人在网上问,我设置margin-top,margin-bottom不起作用的原因了!如下图:

情形三:毗邻的元素


>=IE6,FF,Chrome效果效果相同,重叠部分的取值为margin-top,margin-bottom中的最大值。如下图:

此时我们看到重叠也有重叠的好处

注:只有普通文档流中块框的垂直外边距才会发生外边距合并。行内框、浮动框或绝对定位之间的外边距不会合并。

3.margin不起作用的情况?
行内(inline)元素设置垂直margin不起作用,块级元素的margin不好用时,建议使用padding来代替。

三、常见margin负值应用

1.IE6背景半透明效果按钮的制作
其就是使用margin负值定位实现按钮下半部分的颜色

2.新闻列表(带日期的)
这个是从新浪博客首页看到的实现新闻列表


ul li{height:24px;line-height:24px;}
设置.date{text-align:right;display:block;margin-top:-24px;},这时就不需要使用浮动来布局了

3.在选项卡等边框线的处理
当前选中的选项卡下边框颜色要设置选中色同时,内容的div上边框要设置margin-top:-1px;

4.图片与文字对齐问题
方法一:
vertical-align:text-bottom
方法二:
.img{margin:0 5px -2px 0;}
测试代码:


四、新闻列表边框

当我们使用ul>li写新闻列表需要给li设置下边框时,是不是经常困惑于最后一条会多出一个边框。如果给最后一条单独加个类.last{border-bottom:none;}
也能实现效果。但是这中写法会有两个弊端,弊端一:单独定义一个css类;弊端二,当我们使用服务器端语言输出数据时,还需要单独判断最后一项,添加calss类。有没有好的解决方法呢?当然有,那就是margin负值!
看看下面实现实例:


如图:

五、参考链接

http://www.w3school.com.cn/css/css_margin_collapsing.asp

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

  • 谈谈对css属性box-sizing的了解
  • Discuzx系统 CSS 编码规范、CSS属性书写顺序
  • CSS属性探秘系列(七):z-index
  • CSS属性探秘系列(六):margin
  • CSS属性探秘系列(五):min-width
  • CSS属性探秘系列(四):vertical-align
  • CSS属性探秘系列(三):line-height
  • CSS属性探秘系列(二):overflow及相关属性text-overflow
  • CSS属性探秘系列(一):word-break与word-wrap
  • 浅析CSS 属性之中经常出现的百分比

相关文章

  • 2017-08-06网站导航菜单的分割线和水平居中
  • 2017-08-06IE浏览器下的CSS问题小结
  • 2017-11-06“自适应大小”的div“居中处理”
  • 2017-08-06css margin 属性 详细使用说明
  • 2017-08-06用纯CSS实现饼状Loading等待图效果
  • 2017-08-06使用CSS3实现选项卡切换的方法
  • 2017-08-06css控制文字前的小图标具体写法
  • 2017-08-06CSS中背景的Linear Gradients(线性渐变)应用
  • 2017-08-06前端必须要掌握的几个CSS3的属性详解
  • 2017-08-06CSS3实现自定义Checkbox特效实例代码

文章分类

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

最近更新的内容

    • 纯CSS3实现多种不同的等待效果(无js/jquery/无图片)
    • css文件不能被正常载入的问题解决方法
    • IE6下Select元素被div等元素覆盖的解决办法
    • 绝对定位也可触发行内元素的layout说明
    • bgiframe插件解决IE6 DIV档不住下拉选择框
    • CSS背景色镂空技术实际应用及进阶分享
    • 让footer始终位于页面的最底部不随滚动而滚动
    • css中替换元素和不可替换元素及显示元素详细探讨
    • css3圆角边框和边框阴影示例
    • css3教程之倾斜页面

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

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