Github pages 博文

一 . CSS盒模型

1.盒子的结构

margin-border-padding结构 + 内容content 组成盒模型

注意

  1. width,height 取的是content区域的宽高,不包括padding border margin,但是盒子实际所占高度要算上外面三个(padding border margin)
  2. 赋值顺序,顺时针,上(top)->右(right)->下(bottom)->左(left)
----top(1)----->|
| |
left(4) right(2)
| |
<---bottom(3)----

赋值,一个值,四个值都是这个,如margin : 10px;

赋值,两个值,两个值赋给 top right,也就是前两个,然后,bottom = top , left = right

赋值,三个值,分别赋值给 top right bottom,也就是前三个,然后left = right

赋值,四个值,不用多说了...

3. 在各浏览器中的表示

html

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>在浏览器开发人员工具中的表示</title>
<style>
body
{
margin: 0;
background-color: cyan;
} #test-div
{
padding: 10px;
border: 5px dotted yellow;
margin: 20px;
background-color: red;
}
</style>
</head>
<body>
<div id="test-div">
内部文字
</div>
</body>
</html>

chrome

偏红的margin

偏xx色的border(啥颜色,叫不出来)

偏青色的padding

偏蓝色的content


IE10,win8.1浏览器

offset,见stackoverflow问题,说是用relative absolute改变之后的偏移,同chrome里的position

2.border

border : width(2px) color(green) style(dotted/dashed)

border-width/color/style 设置某一属性

border-left : width color style 设置一边的属性

结合起来可以border-left-style : dotted;

边框与背景

对于IE,background = content + padding

对于FF,background = content + padding + border

小的差距,要注意

3.padding 与 margin

赋值规则,上面说了,总结起来就是:

从top开始,顺时针,将N个值赋给前N个,其他的依据top-bottom left-right配对拷贝这个原则即可,对于一个值得,表示四个全都一样

body特殊的盒子,在默认的情况下,body会有若干px的margin,而且body的background会扩展到margin部分,也就是紧贴着浏览器,background-image 和 background-color都会这样,其他的盒子background最多也就是到border(FF下).

二 . 标准文档流

1.简称标准流

指在不使用其他的与排列、定位相关的特殊CSS规则时各种元素的排列规则。

  1. 块级元素block,典型的有div ul li

    总是以一个块的形式表现出来,并且跟同级的兄弟块之间,依次竖直排列,左右撑满。
  2. 行内元素inline,典型的有span a标签 标签。

    横向排列,最右端自动折行

div能包含span样式,反之而不能,即span不能包含div。

2.块间距

  1. 行内元素的水平间距

    间距 = 左侧元素的margin-right + 右侧元素的margin-left
  2. 块级元素的竖直间距

    竖直间距 = max(上面元素的margin-bottom , 下面元素的margin-top)

    这个就是所谓的塌陷原则,小的margin塌陷到大的margin里面去了
  3. 嵌套div的margin

    子div的margin放在父div的content区域,合理的理想情况
  4. margin设置为负值

    margin其实是border 距离外边界的距离,将margin-left 设置为 -50px;盒子整体左移50px;

CSS彻底研究(2)的更多相关文章

  1. CSS深入研究:display的恐怖故事解密(2) - table-cell

    上集<CSS深入研究:display的恐怖故事解密(1) - display-inline>已经把display的属性列表拉出来溜了,发现在这个属性恐怖面貌其实都是脆弱的伪装.除了部分常用 ...

  2. CSS深入研究:display的恐怖故事解密(2) - table-cell(转)

    http://www.cnblogs.com/StormSpirit/archive/2012/10/24/2736453.html 上集<CSS深入研究:display的恐怖故事解密(1) - ...

  3. CSS彻底研究(3) - 浮动,定位

    Github pages 博文 CSS彻底研究(3)-浮动,定位 一 . 浮动float I . 定义及规则 float默认为none,对应标准流的情况.当float : left;时,元素就会向其父 ...

  4. css定位研究

    css的定位是很重要的一个知识点,要学会网页布局,一定要先把定位弄清楚,今天抽空整理一下这方面的知识. 1.块级元素和行内元素(内联元素) 块级元素:display值为block的元素就是块级元素,比 ...

  5. CSS导航的魔力——源自温谦老师《CSS彻底研究设计》

    web标准出台以后,非常注重的一个标准就是希望内容与样式分离.希望HTML就干HTML该干的事.但是有的时候我们为了美观必须多多少少改动HTML 代码.下面介绍几个导航栏.               ...

  6. CSS彻底研究(1)

    Github pages 博文 基本选择器 标记选择器h1 {...} 类别.class_name{...},两个class同时作用,如class = 'one two',冲突取前者 ID选择器 #i ...

  7. CSS currentColor研究

    刚刚写了篇<CSS变量试玩儿>,我们了解到可以使用原生的CSS来定义使用变量,简化CSS书写.优化代码的组织与维护,但可怕的兼容性问题,又让我们望而却步.一笑了之. 但是有这么一个CSS变 ...

  8. 对浏览器如何计算CSS的研究---------------引用

    1. 加载CSS 在构建DOM的过程中,如果遇到link的标签,当把它插到DOM里面之后,就会触发资源加载——根据href指明的链接: 上面的rel指明了它是一个样式文件.这个加载是异步,不会影响DO ...

  9. 响应式疑惑? CSS单位研究

    各种单位要搞清楚,自己试一试,实践出真知! 2.屏幕分辨率    响应式 哦,电脑的分辨率:1440x900表示水平有1440个像素点哦! 垂直有900个像素点. 而网页在浏览器中,所以宽度是电脑的分 ...

随机推荐

  1. Linux下的压缩和解压

    1. gzip, bzip2 能否直接压缩目录呢?不可以 2. 请快速写出,使用gzip和bzip2压缩和解压一个文件的命令.压缩:gzip 1.txt bzip2 1.txt解压:gzip -d 1 ...

  2. 视图View

    视图UI层的HTML,JavaScript,Css等元素 asp.net mvc 框架支持惯例优先配置原则 视图路径:view/controller名/Action \view\home\index. ...

  3. 常用SQL语句学习整理

    增 insert into table_name (column_name1,column_name2) values (value1,value2) 删 delete from table_name ...

  4. jwplayer修改logo右键版权

    jwplayer二次编译,可以自定义自己的logo和右键版权.

  5. C#按键打开文件选择对话框,并把选择好的路径保存/显示到textBox

    1.选择文件夹 FolderBrowserDialog fbd = new FolderBrowserDialog(); fbd.SelectedPath = "D:";//默认路 ...

  6. myeclipse10 如何把代码预览的窗口去掉

    1,选择菜单: windows -> preferences2,在弹出窗口中选择General-> Editors -> FileAssociations3,在上方框内选择*.jsp ...

  7. 新花生壳+tomcat(内网映射,无需设置路由器)建站攻略

    说明: 1.适用于内网用户(局域网,校园网,或者公司网等无法更改路由器映射的情况) 2.一共花了8块钱…………心疼.不过如果大家有钱的话,8块钱,少吃一顿麻辣烫就好了~总之,这个适用于测试网站,小访问 ...

  8. 03--理解HelloWorld结构

    作为程序猿还是要代码来说事的,现在开始进入到具体的代码中来.国际惯例HelloWorld打头阵,我也不能免这个俗. Win32入口函数中主要代码如下: main.cpp // 创建应用实例 AppDe ...

  9. ECshop使用财付通接口支付时出现“[3006]您的请求无效,请重新再试

    ECshop使用财付通接口支付时出现“[3006]您的请求无效,请重新再试.”解决方案\includes\modules\payment\tenpay.php 行 104原来的为 $bill_no = ...

  10. 继刚接触play framework后,一些心得

    我是个小菜鸟,我这些体会跟心得纯属个人观点,仅供参考,勿喷,我想记录下学习的历程,不断成长 在play2.0的框架里面  用到的最多的语言就是scala,对于习惯了java语言的我们来说  看这些语言 ...