1. display

block:块元素,默认宽度为100%,可以设置元素的宽高,默认占满一行。块元素包括div,h1-h6,form,table,ul,ol等;

inline:行内元素,默认宽度为内容的宽度,width和height对inline元素无效,margin top和bottom对行内元素无效,因为行内元素的行高是由line-height决定的,而margin left和right则有效。行内元素包括span,image,a等;

inline-block:元素具有行内和块元素的特性,可以设置宽高,并且可以并排显示;

2. position

static:元素默认的值,不会被定位;

absolute:绝对定位,是相对于最近的被定位的祖先元素的定位,如果没有被定位的祖先元素,则默认对body定位;元素被决定定位后,会脱离文档流,默认的位置会被其他元素占据;

relative:相对于默认位置的定位,如果没有设置top和left等属性,则显示位置与static一样;被相对定位的元素不会脱离文档流。

fixed:元素会相对于视窗来定位,这意味着即便页面滚动,它还是会停留在相同的位置。

3. 盒子模型

普遍浏览器计算总宽度公式为 = margin-left + border-left + padding-left + width + padding-right + border-right + margin-right

而IE(低于IE9)比较特殊的计算方式为 = margin-left + width + margin-right

W3C 最后为了解决这个问题,在 CSS3 中加了 box-sizing 这个属性。当我们设置 box-sizing: border-box; 时,border 和 padding 就被包含在了宽高之内,和 IE 之前的标准是一样的。所以,为了避免你同一份 css 在不同浏览器下表现不同,最好加上:

1
2
3
4
5
*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

4. float

浮动元素会脱离文档流,原本该占据的位置会被其他非浮动元素占据。而清除浮动,一般是添加在需要清除浮动的元素身。元素被浮动之后默认变为块级元素。

5. margin和padding的合并与抵销

对于相邻的2个元素,margin-bottom = 20和margin-top = 35,之间的margin会出现抵销,最终的margin是35,取较大的值;

对于相邻的2个元素,padding-bottom = 20和padding-top = 35,之间的padding会出现累加,最终的padding是55,取两者的和;

 

参考资料:

http://zh.learnlayout.com/

http://geekplux.com/2014/04/25/several_core_concepts_of_css.html

 

posted @ 2016-06-26 22:07 泉眼无声溪细流 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 1. default_server: 当请求没有匹配到服务器中配置的任何一个server的时候,会默认把请求route到配置了default_server的virtual host中。参考地址:http://www.oschina.net/question/12_3565 2. upstream 用 阅读全文
posted @ 2016-06-26 16:15 泉眼无声溪细流 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 1 -9/2 = -5 当进行一个除法运算的结果是一个负数的时候,由于Ruby采取向负无穷大圆整,所以结果是-5。而由于除数是个整数,所以结果也是一个整数。而其他语言多数是向0取整。 2 连接字符串建议使用字符串内插入的方式 "abc #{var}' is better than "abc" + v 阅读全文
posted @ 2016-03-06 00:54 泉眼无声溪细流 阅读(162) 评论(0) 推荐(0) 编辑
摘要: Ruby Hash的key定义的时候是支持symbol或者string的,所以访问的时候只能是symbol或者string其中一种方式。 建议使用symbol定义Hash的key,因为symbol在Ruby中是不可变的,定义之后再内存中不会被回收。多次使用同一个symbol都是使用同一个symbol 阅读全文
posted @ 2016-03-05 17:51 泉眼无声溪细流 阅读(723) 评论(0) 推荐(0) 编辑
摘要: 在express中上传附件需要在表单中添加enctype="multipart/form-data"属性,并且在新的4.0.1版本中需要手动添加中间件app.use(connect.bodyParser({keepExtensions: true, uploadDir: __dirname + '/... 阅读全文
posted @ 2014-05-20 17:50 泉眼无声溪细流 阅读(2020) 评论(0) 推荐(0) 编辑
摘要: iostat iostat 命令详细地显示了存储子系统方面的情况。你通常用iostat来监控存储子系统总体上运行状况如何,并且在用户注意到服务器运行缓慢之前提早发现输入/输出缓慢的问题。相信我,你应该在用户发现这些问题之前先发现这些问题!meminfo和free meminfo为你详细显示了内存方面的情况。你通常可以使用另一个程序,比如cat和grep,来访问meminfo的信息。比如说,cat /proc/meminfo为你详细显示了服务器的内存在任何一个时间的使用情况。 如果想快速了解内存的概要信息,可以使用free命令。简而言之,free为你提供了概要信息;meminfo为你提供了详.. 阅读全文
posted @ 2014-03-23 21:33 泉眼无声溪细流 阅读(31496) 评论(0) 推荐(1) 编辑
摘要: 1 http_load:http://www.oschina.net/p/http_load命令行输入man http_load 或者 http_load -h可以看到工具的使用方式:参数说明:-parallel 简写-p :含义是并发的用户进程数。-fetches 简写-f :含义是总计的访问次数-rate 简写-r :含义是每秒的访问频率-seconds 简写-s :含义是总计的访问时间urls.txt : 是需要进行压力测试的文件,文件里面记录的是需要进行测试的url地址使用方式说明:http_load -parallel 100 -fetches 10000urls.txt#10... 阅读全文
posted @ 2014-03-22 14:17 泉眼无声溪细流 阅读(608) 评论(0) 推荐(0) 编辑
摘要: 1 git中的几种文件状态a 未被git跟踪的文件,即是没有使用git add添加到git索引的的文件:untracked;b 没有修改但是已经被git跟踪的文件,即是使用git add添加到git索引的的文件:unmodified;c 已经修改但是没有提交到暂存区的文件,这个文件也有两个去处,通过”git add”可进入暂存(staged)状态,使用”git checkout”则丢弃修改,返因到unmodify状态:modified;d 已经通过git commit提交到暂存区的状态,这时库中的文件与本地文件又一致了,于是文件是unmodify状态。执行”git reset HEAD fil 阅读全文
posted @ 2014-02-22 16:21 泉眼无声溪细流 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 详细请参照:http://hi.baidu.com/kevin276/item/29bc1c96a208fabc82d29542至于安装之后怎么打开,在终端输入google-chrome即可打开并会自动添加到左边的快速启动栏中 阅读全文
posted @ 2013-07-28 20:36 泉眼无声溪细流 阅读(343) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/hcbin/archive/2010/04/23/1718379.html http://database.51cto.com/art/201010/229498.htm http://www.ruiwant.com/?p=1400 转转更健康..... 阅读全文
posted @ 2013-07-28 00:00 泉眼无声溪细流 阅读(160) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示