margin学习探索

对于页面布局,margin为css中非常常用的一个属性,和padding一样常用作元素位置控制的属性。padding以后会进行续写。
  1.margin属性,用于设置边距,不会继承也不会遗传给子元素,写法有4种。
    1.1. margin: 5px; 一个值的时候,表示上下左右四个边边距都为5像素
    1.2. margin: 5px 1px; 2个值的时候,表示上下边距5像素,左右边距1像素
    1.3. margin:5px 1px 5px; 3个值的时候,表示上边距5像素,左右1像素,下边距5像素
    1.4. margin: 5px 1px 4px 5px;4个值的时候上5像素,右1像素,下4像素,左5像素
  padding属性规 则相同,牢记属性写法对应规则很重要,毕竟作者曾经一次面试被问到这个问题。 
  规则很简单:上右下左。
  第一个值永远想着从上边距开始,如果只有一个值,那边上右下左都是这个像素。
  假如有两个值,那么第一个值是上下边距,第二个就为左右边距。
  三个值就记住,第一个值为上边距,第二个值为左右边距,最后一个值为下边距。
  四个值的情况就最明朗了,按上右下左一个个对应。
  另外:margin可以是负值。

  来自某位大牛的经验:‘越少的浮动,就会越少的代码,会有更灵活的页面,会有扩展性更强的页面’。牢记牢记
  2.margin重叠
  css 2.0规范对margin重叠有如下的描述:
  1.水平边距永远不会重合。

    
  2.垂直边距可能在特定的框之间重合:
  * 常规流向中两个或多个块框相邻的垂直边距会重合。结果的边距宽度是相邻边距宽度中较大的值。 如果出现负边距,则在最大的正边距中减去绝对值最大的负边距。如果没有正边距,则从零中减去绝对值最大的负边距。

  

  两个元素上下边距为5像素,重叠之后为5像素而不是水平方向的10像素
  * 在一个浮动框和其它框之间的垂直边距不重合。//这句话是不够严谨,在IE浏览器下确实如此,但 是Firefox等浏览器下依旧重合。
  * “绝对定位的框”与“相对定位的框”边距不重合。//这句话有待斟酌,我在Firefox等浏览器下测试,效果貌似很糟糕的
最好的解决margin重叠问题的方法就是了解它,避免它。

  解决重叠的三种方法:

    1.父子元素垂直方向边距重叠对子元素浮动处理,浮动只能解决同方向上的margin重叠问题。不同方向上的margin重叠的问题依旧存在。

    2.与清除浮动的方法一致,给外部的父元素添加清除浮动相同的样式即可。常用的样式代码为:overflow:hidden; zoom:1;

    3.给父元素增加些边缘属性。例如padding值,padding:1px;或是border属性,border:1px solid #cacbcc。  3.margin不起作用的情况下,可以使用padding代替,或者添加一层标签来解决

  4.margin负值的相关应用

  4.1页面上背景定位效果

    
  4.2流动性布局又称自适应布局,也称为宽度不固定布局  
  4.3在选项卡等边框线的处理

    
  4.4图片与文字对齐问题

  

学习来源于http://www.zhangxinxu.com/wordpress/2009/08/css-margin%E7%9A%84%E7%9B%B8%E5%85%B3%E5%B1%9E%E6%80%A7%EF%BC%8C%E9%97%AE%E9%A2%98%E5%8F%8A%E5%BA%94%E7%94%A8/

收益匪浅

时间: 2024-08-09 03:37:57

margin学习探索的相关文章

Android学习探索之Java 8 在Android 开发中的应用

前言: Java 8推出已经将近2年多了,引入很多革命性变化,加入了函数式编程的特征,使基于行为的编程成为可能,同时减化了各种设计模式的实现方式,是Java有史以来最重要的更新.但是Android上,一直没有看到支持Java8的消息.Android到底会不会支持Java8呢?答案是肯定的,Android N已经开始支持Java 8 了. 关于Java 8 (1.)使用Lambda表达式 Java 8的一大亮点是引入Lambda表达式,使用它设计的代码会更加简洁.当开发者在编写Lambda表达式时

Casbin + Gin + Gorm 学习探索

Casbin 是一个强大的,开源的访问控制框架,权限管理机制支持多种访问控制模型: 并且支持多种编程语言: 文档地址:https://casbin.org/docs/zh-CN/overview Gin Golang 的 Web 框架,短小精悍 文档地址: https://gin-gonic.com/docs/ Gorm Golang 的 ORM 框架 文档地址:http://gorm.book.jasperxu.com/ 今天我们要学习的是如何通过Casbin 来控制开发的 API 访问权限

学习 探索

<整理的艺术2>实用技巧分享 别一次把资料全部整理完 这条对我无效,因为我有个非常好的习惯,在每天下班前10分钟,把当天的工作资料全部归纳.整理. 学会放松 书中有一条技巧是利用身边的度假村和温泉,那是日本的作法. 自己觉得累的时间,大都是脑力活动,这里比如的办法是多运动,比如慢跑.游泳之类,然后找个正规按摩店(在北方良子足道多一点)做脚道按摩或全身按摩,然后睡一觉,睡醒后经常满血复活. 每个人的选择不同,有人去爬山,有人去泡温泉.逛街,关键是要找到几种适合自己的放松方法,适当的放松,记住玩游

VS中Qt的探索02

边看C++ GUI QT4教程,边在VS2010中进行编程学习探索. 在使用Qt设计师时,其中每一个对象的ObjectName属性是非常重要的,在程序功能的实现过程中,需要不断的使用该变量名. 当所有的对象属性设置完之后,在VS2010中右击*.ui文件,选择编译(ctrl+F7),便会自动生成另一个.h文件,里面的某一个类包含了对象的所有属性情况,如下图所示: 并且在VS自动生成的*.h文件中,会有一个该类的变量名用来访问你在Qt设计师中更改的每个对象的属性值,从而我们可以在实现某项功能时进行

探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探

"探索推荐引擎内部的秘密"系列将带领读者从浅入深的学习探索推荐引擎的机制,实现方法,其中还涉及一些基本的优化方法,例如聚类和分类的应用.同时在理论讲解的基础上,还会结合 Apache Mahout 介绍如何在大规模数据上实现各种推荐策略,进行策略优化,构建高效的推荐引擎的方法.本文作为这个系列的第一篇文章,将深入介绍推荐引擎的工作原理,和其中涉及的各种推荐机制,以及它们各自的优缺点和适用场景,帮助用户清楚的了解和快速构建适合自己的推荐引擎. 信息发现 如今已经进入了一个数据爆炸的时代,

C#中使用Redis学习一 windows安装redis服务器端和客户端

学习背景 今天是2015年1月2日,新年刚开始的第二天,先祝大家元旦快乐啦(迟到的祝福吧^_^).前段时间一直写Jquery插件开发系列博文,这个系列文章暂停一段时间,最近一直在看redis,我将把redis作为一个系列写一下我的学习历程.正好现在项目中使用了redis,本着学习探索的精神,准备写一下我对redis的一个学习历程和自己的一点感悟.在学习过程中也走了很多弯路,希望能对看这篇博文的朋友们带来点帮助.也算是写这边博文的最大目的了. 我在认识redis之前没有接触过任何NoSql思想.对

邹欣老师的《构建之法》第一章“概论”学习笔记与自我随笔

刚读完了邹欣老师的<构建之法>第一章“概论”,四个字形容:酣畅淋漓. 概论将自己的一些模糊的认识清晰化,用准确的文字描述了出来,填补了脑海里的一些灰色地带. 总结一下:概论通俗地阐述了编程.软件.计算机科学.软件工程的联系与区别,简单说,编程是一项具体动作,软件是供人使用的产品,具体有很多种类型,而计算机科学是偏向理论研究,软件工程就像其他工程学一样,是在一定条件下合理配置资源达到生产软件的目的. 本人作为一名从小对编程.软件.计算机感兴趣的Nerd,虽然大学专业与此无关,但刚毕业时签了一份软

探索推荐引擎内部的秘密

"探索推荐引擎内部的秘密"系列将带领读者从浅入深的学习探索推荐引擎的机制,实现方法,其中还涉及一些基本的优化方法,例如聚类和分类的应用.同时在理论讲解的基础上,还会结合 Apache Mahout 介绍如何在大规模数据上实现各种推荐策略,进行策略优化,构建高效的推荐引擎的方法.本文作为这个系列的第一篇文章,将深入介绍推荐引擎的工作原理,和其中涉及的各种推荐机制,以及它们各自的优缺点和适用场景,帮助用户清楚的了解和快速构建适合自己的推荐引擎. 信息发现 如今已经进入了一个数据爆炸的时代,

10W学习笔记——查询之联接

学习完数据库查询的聚合.分支.日期和格式化四个功能后,这周我们又学习探索了数据库联接这一新功能.这个功能的亮点在于它可以将几个甚至更多的表连接起来,从而实现我们想要达到的查询目的.现在让我们一起来看看在使用这个功能的时候会有哪些要点和难点吧! 1.在学院表.专业表.学位表中,查询各学院及其下设各专业的全称.学制.学位: 2.在学院表.专业表.班级表中,查询各学院及其下设各班级的名称(入学年份后2位+专业简称+行政班): 3.在学生成绩表.学生表.班级表.专业表.教学任务表.教材表中,查询14信管