css权威指南笔记

  1. 替换元素和非替换元素css

替换元素:用来替换元素内容的部分并不是由文档内容直接表示,用做其余内容的占位符(img, 表单元素,embed等嵌入元素)html

非替换元素:元素的内容内容包含在文档流中,大部分元素都是替换元素。浏览器

替换元素和非替换行内元素的区别:替换元素能够设置widthheightmarginpadding;非替换行内元素不能够设置widthheigt、垂直marginpadding,能够设置水平marginpadding字体

2. 候选样式表url

将link标签的rel属性设置为alternate stylesheet,设置title属性,若是浏览器支持候选样式表,title属性值会显示在候选样式表列表中,只有当用户选择该样式表时,该样式表才会生效。

<link rel="alternate stylesheet" title="common" href="css/common.css"/>spa

3.@import .net

@import url media(@import ‘main.css’ screen),能够放在style标签里和css文件里,可是必须放在全部样式的前面。代理

4.多类选择器code

.warning.red 选择同时包含这些类名的选择器orm

5.选择器优先级(权重)

特殊性:内联样式(1000),id(100),类、属性、伪类(10),元素、伪元素(1),*(0),继承样式无特殊性;特殊性为0大于无特殊性。

重要性(!important):读者的重要性大于创做人员的重要性

权重:读者的重要性>创做人员的重要性>创做人员的正常申明>创做人员的正常申明>用户代理声明

6.em和px的关系

1em=font-size声明的px数(font-size: 16px,则1em = 16px)

7. font

font-size的做用是为给定字体的em框提供一个大小,而不能保证明际显示的字符就是这种大小,一般显示的字符会比em框小,以便每一个em框可以容纳下全部的字符(1个em框是一个字符的容器,font-size相对大小的缩放因子是向上1.5向下0.66,绝对大小的缩放因子是1.2)

缩写(font: font-style font-variant font-weight font-size/line-height font-family,缩写必须包含font-size和font-family,前面属性顺序不定)

百分数(Font-size相对于父元素计算、line-height相对于font-size计算)

8. line-box, inline-box, em

行盒的内容默认让全部inline-box字体的底部、匿名inline-box字体的底部、替换元素的底部延行框的基线对其;对inline-box和替换元素用vertical-align会移动inline-box和替换元素,所以有可能影响line-box的高度。可替换元素的行内框高度就是元素的高度+padding+margin+border,行间距不会应用到可替换元素;不可替换元素垂直marginpaddingborder不影响行内框的高度。

9. white-space

处理空格和换行符

pre: 保留空格和换行符,不容许自动换行

nowrap: 合并空格忽略换行符,不容许自动换行

pre-line: 合并空格保留换行符,容许自动换行

pre-wrap: 保留空格保留换行符,容许自动换行

normal: 合并空格忽略换行符, 容许自动换行

10. 元素框

只有widthheightmargin能够设置为auto

Width+border+margin+padding = 父元素的width

a.       若是widthmargin-leftmargin-right都不为auto,则会忽略margin-right,强制将margin-right设为auto,以补全父元素的width

b.       若是widthmargin-leftmargin-right中只有一个为auto,则这个值会自动补全,以适应父元素的width

c.       若是width不为automargin-leftmargin-rightauto,则margin-leftmargin-right会设置为相等的值,此时元素居中显示

d.       若是widthmargin-leftmargin-right之一为auto,则margin-leftmargin-rightauto的会强制置为0width自动设为所需的值,以补全父元素的width

e.       若是widthmargin-leftmargin-right都为auto,则margin-leftmargin-right会强制置为0width等于父元素的width

f.        若是margin-topmargin-bottomauto,则都会重置为0

11. 垂直外边距合并

a. 两个相邻元素的垂直外边距合并,若是两个都为整数则取较大的做为垂直margin;若是一正一负则正数减去负数的绝对值做为垂直margin;若是都为负数,则取绝对值较大的margin做为垂直margin

b. 三个个相邻元素的垂直外边距合并(一个负元素包含一个子元素和一个相邻的元素垂直外边距合并),若是三个都为正数则取较大的正数做为垂直外边距;若是一正两负,则正数减去负数绝对值的最大值做为垂直外边距;若是两正一负,则正的最大值减去负的绝对值做为垂直外边距,若是三个都是负数,则取绝对值最大的margin做为垂直外边距。

C.四个元素垂直外边距合并,以此类推,若两正两负,则取正的最大值减去负的最大绝对值做为垂直外边距;若一正三负,则取正值减去负的最大绝对值做为垂直外边距;若一负三正,则取最大正值减去负的绝对值做为垂直外边距;若全为正值,则取最大值做为垂直外边距;若全为负值,则取最大绝对值的margin做为垂直外边距。

d. 若父元素有border或者padding,则父元素和子元素不会出现垂直外边距合并。

e. 只有父元素的heightauto时,子元素和父元素的margin-bottom才有可能合并。

10. bodyhtml是惟一的两个能够向上继承css属性的元素,这就是为何平时body的高度为0,咱们设置bodybackground-color时,整个屏幕都会有颜色的缘由,background-color会向上继承到html的包含块即初始包含块,而初始包含块为整个可视区域。

11. margin-topmargin-bottompadding-toppadding-bottom为百分数时,是相对于父元素的宽度而不是高度。

12. 只要设置了border-styleborder-width就默认为medium,边框颜色默认是内容的前景色。

13. 浮动

浮动的本质是文字环绕浮动元素,浮动元素不能比行框顶端高,浮动元素外边距不会合并。

a.  行内框与一个浮动元素重叠时,其内容、边框、背景都在该浮动元素之上显示。

b.  块框与一个浮动元素重叠时,其边框、背景都在该浮动元素之下显示,内容在该浮动元素之上显示。

c.  浮动元素不能超过行框的顶部。

d.  浮动元素会包含住全部的后代浮动元素。

e.  Clear只能用于块级元素不能用于inlineinline-block

14. 定位

定位元素width+padding+margin+border+left+right=包含块的width

a.       bottom外,topleftrightauto时表示该定位元素放置在没定位以前的位置。

b.       widthleftrightauto,则放置在没定位前的位置,width为刚好能包围住其内容,而余下的宽度则由right从新计算填充;若是leftrightmargin-leftmargin-right一个为auto,那么这个auto会从新计算以适应包含块的width

c.       若是左右marginautoleftwidthright不为auto,此时左右外边距会设置为相等的值[(包含块width – left –right – width/2],若设置leftright相等,此时会水平居中。

d.       若是上下marginautotopbottomheight不为auto,此时上下外边距会设置为相等的值[(包含块height – top –bottom – height/2],若设置topbottom相等,此时会垂直居中。

e.       若是左右marginleftwidthright都不为auto,而此时的和又与包含块的width不相等,此时会忽略right,从新计算以适应包含块的width

f.        若是左右margintopheightbottom都不为auto,而此时的和又与包含块的height不相等,此时会忽略bottom,从新计算以适应包含块的height

g.       绝对定位的可替换元素(图像等),只设置了width或者height,那么height或者width会按照原始比例绘制。

15. content

acontent生成的都是inline-box(内联元素)

bcontent 字符串|url|counter|attr|open-quote|close-quote|no-open-quote|no-close-quote

cquotesopen-quoteclose-quote

p{quotes‘a’ ‘b’ ‘c’ ‘d’}  p:before{content: open-quote}  p:after{content: close-quote}  p>span:before{content: open-quote}  p>span: after {content: close -quote}

d. counter, counters, counter-reset, counter-increment

.reset {
   counter-reset: wangxiaoer;
}
.counter:before {
   counter-increment: wangxiaoer;
   content: counters(wangxiaoer, '-') '. ';
   font-family: arial black;
}
Counter嵌套时,遇到counter-reset会重置

 

 

14. HTML XHTML

a.  XHTML标签必须小写,HTML标签能够大写

b.  属性都要小写

c.  XHTML标签必须严格嵌套,HTML标签没必要严格嵌套

dXHTML标签必须封闭,HTML标签比必定封闭

eXHTML属性值必须用引号引发来,HTML不必定用引号

fXHTML属性值必须用完整形式,HTML不必定用完整形式

gXHTML中应该区份内容标记和结构标记(例如不准将div嵌入p)

相关文章
相关标签/搜索