欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

css权威指南--笔记

程序员文章站 2022-05-14 23:11:02
...
第1章 css和文档

1,元素:替换元素(img input),非替换元素(大多数span)。

2,link:rel(代表关系:stylesheet,候选样式表:alternate stylesheet);type(text/css);media:(all(所有表现媒体, screen,print),title(配合候选使用)。

3,@import url(sheet1.css) 需在style内使用,放在其他css规则之前。

4,向后可访问性:,这样较老浏览器会将style忽略,能理解css的浏览器能正常读取样式表。

5,css注释:/* */。

第2章 选择器

1,对声明分组时,一定要在各个声明的最后使用分号。

2,p.warming.help {background:red;} 只匹配class包含warming和help的p元素,如果p包含warming和其他的则不能匹配。

3,实际上,浏览器并不检查html中id的唯一性,但这会导致编写dom更困难。

4,属性选择器:h1[class] {...}

h1[class=''] {...}完全匹配

h1[class~=''] {...}部分匹配 [class^='']以什么开头 [class$='']以什么结尾 [class*='']包含什么的所有元素

*[lang|='en']特定属性选择器,会选择lang属性等于en或以en-开头的所有元素。

5,选择子元素:h1>strong;选择相邻兄弟元素h1+p(h1和p有共同父元素,最终选择p)。

6,链接伪类:未访问链接:link,访问过链接:visited(它们都是静态的),等同于

动态伪类:焦点:focus,鼠标停留:hover,激活:active。(动态伪类可以用于任何元素)

建议伪类顺序:link-visited-focus-hover-active。

选择第一个子元素(:first-child),很容易误解,是所有第一个子元素(在下面例子中,作为第一个子元素的元素包括第一个p,第一个li和strong及em)。

 1 div>
 2     p>helooop>
 3     ul>
 4         li>111li>
 5         li>strong>222strong>li>
 6     ul>
 7     p>
 8         em>333em>
 9     p>
10 div>

根据语言选择(:lang()),如*:lang(fr){color:red;} 这是将所有法语元素变成红色。

伪元素选择器:首字母:first-letter,用户代理动态构成假象元素

第一行:first-line;

之前和之后:before :after。

第3章 结构和层叠

1,实际上,所有样式冲突的解决都是由层叠来处理。

选择器的特殊性:id选择器(0,1,0,0);类 属性 伪类(0,0,1,0);各个元素和伪元素(0,0,0,1);通配选择器(0,0,0,0);内联样式(1,0,0,0)。

重要性:!important放在声明的结束分号之前。

2,例外:应用到body元素的背景样式可以传递到html元素(html是文档的根元素),相应的可以定义其画布。

大多数框模型属性都不能继承(包括外边距 内边距 背景 边框),继承的值没有特殊性,0特殊性比无特殊性要强。

3,声明权重由大到小:读者的重要声明>创作人员的重要声明>创作人员的正常声明>读者的正常声明>用户代理声明。

通过将伪类链接在一起,可以缓解特殊性和顺序带来的问题。

第4章 值和单位

1,函数式rgb颜色:rgb(color),color用一个百分数(0%-100%)或者整数三元组(0-255)表示。

十六进制rgb颜色:将三个介于00-FF的十六进制数连起来,就可以设置一种颜色。

web安全颜色:在256色计算机系统上总能避免抖动的颜色。rgb值20%和51的倍数,0% 0也是,十六进制值00,33,66,99,cc,ff。

2,绝对长度单位:in cm mm pt pc。

相对长度单位:1个em定义为一种给定字体的font-size值(这个值随元素的不同而不同),ex指所用字体中小写x的高度,px非常适合用于度量图像大小(一小网格就是1像素)。

3,a{color:inherit}可以让链接使用继承的color值而非用户代理的默认样式。

4,角度值:度(deg),梯度(grad),弧度(rad),都允许度数。

时间值:ms,s,不允许负值。

频率值:Hz,MHz,不允许负值。