100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 精通CSS高级WEB标准解决方案(第三版)笔记

精通CSS高级WEB标准解决方案(第三版)笔记

时间:2021-12-02 09:10:20

相关推荐

精通CSS高级WEB标准解决方案(第三版)笔记

精通CSS高级WEB标准解决方案(第三版)笔记

1 CSS选择符1.1 类型选择符1.2 ID选择符1.3 类选择符1.4 后代选择符1.5 子选择符1.6 相邻同辈选择符1.6 一般同辈选择符1.7 通用选择符1.7 属性选择符 2 伪元素和伪类2.1 伪元素2.2 伪类 3 层叠4 特殊性(CSS生效的优先级)5 应用CSS样式5.1 性能 6 格式化模型6.1 盒模型6.2 最大值和最小值6.3 匿名盒子6.4 外边距折叠6.5 相对定位6.6 绝对定位6.7 固定定位6.8 浮动 7 网页排版7.1 文本颜色7.2 字体族7.3 字体大小7.4 行高7.5 垂直对齐7.6 文本粗细7.7 字体样式7.8 大小写变化和小型大写变体7.9 字与字的间距7.10 段落首行缩进7.11 对齐7.12 连字符7.13 多栏文本7.14 @font-face规则7.15 字距选项7.16 文本阴影

1 CSS选择符

选择符之间可以相互搭配使用

1.1 类型选择符

<style type="text/css">p {color: red;}</style><div>此段落不受样式的影响。</div><p>此段落通过类型选择器修改为红色。</p>

1.2 ID选择符

<style type="text/css">#demo{color: red;}</style><p>此段落不受样式的影响。</p><p id="demo">此段落通过ID选择器修改为红色。</p>

1.3 类选择符

<style type="text/css">.demo{color: red;}</style><p>此段落不受样式的影响。</p><p class="demo">此段落通过类选择器修改为红色。</p>

1.4 后代选择符

<style type="text/css">#demo p {color: red;}</style><p>此段落不受样式的影响。</p><div id="demo"><p>此段落通过类选择器修改为红色。</p><div><p>此段落通过类选择器修改为红色。</p></div></div>

注意此处demo下的所有< p >标签变成红色

1.5 子选择符

<style type="text/css">#demo > p {color: red;}</style><p>此段落不受样式的影响。</p><div id="demo"><p>此段落通过类选择器修改为红色。</p><div><p>此段落不受样式的影响。</p></div></div>

注意此处只有demo下的子标签< p >变成了红色

1.6 相邻同辈选择符

<style type="text/css">#demo + p {color: red;}</style><p>此段落不受样式的影响。</p><div id="demo"></div><p>此段落通过类选择器修改为红色。</p><p>此段落不受样式的影响。</p>

1.6 一般同辈选择符

<style type="text/css">#demo ~ p {color: red;}</style><p>此段落不受样式的影响。</p><div id="demo"></div><p>此段落通过类选择器修改为红色。</p><p>此段落通过类选择器修改为红色。</p>

1.7 通用选择符

<style type="text/css">* {color: red;}</style><div>此段落通过类选择器修改为红色。</div><p>此段落通过类选择器修改为红色。</p><span>此段落通过类选择器修改为红色。</span>

1.7 属性选择符

<style type="text/css">input[type="button"] {color: red;}</style><input type="button" value="此按钮为红色"/><input type="submit" value="此按钮为黑色"/>

拓展:

以下是实例:

<style type="text/css">a[href^="http://"] {color: red;}img {width: 20px; height: 20px; background-color: red;}img[src$=".jpg"] {background-color: blue;}input[name*="button"] {color: red;}p[name~="demo"] {color: red;}a[lang|="en"] {color: red;}</style><a href="">此超链接为红色</a><a href="">此超链接为默认颜色</a><br><div><img src="demo.jpg"/>此图片为蓝色</div><div><img src="demo.png"/>此图片为红色</div><br><input type="button" name= "demo-button-name" value="此按钮为红色"/><input type="button" name="demo" value="此按钮为黑色"/><br><p name="p demo name">此段落通过类选择器修改为红色。</p><p name="p demoname">此段落通过类选择器修改为黑色。</p><br><a lang="en">此超链接为红色</a><a lang="en-us">此超链接为红色</a><a lang="us">此超链接为默认颜色</a>

2 伪元素和伪类

2.1 伪元素

实例内容请参照w3school

2.2 伪类

伪类的语法是以冒号开头,用于选择元素的特定状态或关系

以上出现的以n作为参数的,可以使用数值表达式作为参数。

例如:nth-child(3n+1),其中n前面的数字和n都可以修改,比如改为nth-child(-n+3)为只选择前三个。

以下是例子:

<style type="text/css">tr:nth-child(3n+1){background:red;}</style><table><tr><td>这是第1行(红)</td></tr><tr><td>这是第2行</td></tr><tr><td>这是第3行</td></tr><tr><td>这是第4行(红)</td></tr><tr><td>这是第5行</td></tr><tr><td>这是第6行</td></tr><tr><td>这是第7行(红)</td></tr></table>

3 层叠

层叠机制的重要性级别从高到低如下:

标注为!important的用户样式标注为!important的作者样式作者样式用户样式浏览器的默认样式

4 特殊性(CSS生效的优先级)

优先级从高到低如下:

6. style=“”

7. ID选择器(#id)

8. class选择器(.class)

9. 类型选择器(div p)

注意:两条规则的特殊性相等时则优先运用后定义的规则

例如链接伪类的正确定义次序为——:link、:visited、:hover、:focus、:active

5 应用CSS样式

应用CSS样式主要有以下方式

10. 将样式放入<style></style>中

11. 使用link元素:<link href=“demo.css” rel=“stylesheet”>

12. 使用@import指令:@import url(“demo.css”);

注意:一般推荐第二种方式来引入css

5.1 性能

不要把CSS放到<body></body>标签中或者放到页面底部为了减少HTTP请求,尽量不要使用@import,且尽量减少引入的CSS文件的数量压缩和缓存内容不让浏览器渲染阻塞javaScript,给<script>标签添加async和defer属性或者将<script>放到HTML页面底部</body>标签前加载javaScript

6 格式化模型

6.1 盒模型

一个元素盒子由内容区、内边距(padding),边框(border),外边距(margin)四部分组成,可以使用轮廓线(outline)清洗的看出盒子的布局。

注意:将box-sizing的值修改为border-box,此时盒模型的width和height属性的值将会包含内边距和边框。

6.2 最大值和最小值

给一个元素应用min-width和max-width值可以默认自动填充父元素的宽度,但是不会收缩到比min-width更小或者扩展到比max-width更大的值。

6.3 匿名盒子

在section块级元素的开头加入“some text”。此时,“some text”就算没有定义为块级元素,也会被当成块级元素。

<section>some text<p>Some more text</p></section>

这种情况下,这个盒子被称为匿名块盒子。因为这个盒子并不与任何特定的元素相关。

6.4 外边距折叠

常规块盒子有一种机制叫作外边距折叠。垂直方向上的两个外边距相遇时,会折叠成一个外边距。折叠后外边距的高度等于两者中较大的那一个高度。

注意:行内盒子、浮动盒子、绝对定位盒子的外边距不会折叠

6.5 相对定位

元素的position属性设置为relative

可以通过设置toprightbottomleft属性,使该元素相对于初始位置平移一定距离。

注意:无论是否位移,相对定位的元素仍然会在文档流中占用初始的空间。因此,这样平移元素会导致它遮挡其他元素。

6.6 绝对定位

元素的position属性设置为absolute

可以通过设置toprightbottomleft属性,使该元素相对于祖先元素位置平移一定距离。

绝对定位元素的包含块是距离它最近的定位祖先,也就是position属性设置为static之外任意值的祖先元素。如果没有这么一个定位祖先,那么它就相对于文档的根元素即html元素定位。

注意:绝对定位则会把元素拿出文档流,因此也就不会再占用原来的空间。可能遮挡其他的元素,可以通过设置z-index的属性来控制盒子层叠的次序。z-index属性值越大,盒子在层叠中就靠近上层

6.7 固定定位

position属性设置为fixed就可以将元素设置为固定定位,固定定位是由绝对定位衍生出来的。固定定位可用来创建始终停留在窗口相同位置的浮动元素。可以用来做固定侧栏或者固定顶栏

6.8 浮动

另一种可见格式化模型是浮动模型。给元素添加float属性,可以使盒子向左或向右移动,直到其外边沿接触包含块的外边沿,或接触另一个浮动盒子的外边沿。

浮动盒子也会脱离常规文档流,如果包含元素太窄,无法容纳所有浮动元素水平排列,则后面的浮动元素会向下移动。如果浮动元素高度不同,则后面的浮动元素在向下移动时可能会“卡”在前面的浮动元素右侧。

要阻止行盒子环绕在浮动盒子外面,需要给包含行盒子的元素应用clear属性。clear属性的值有left、right、both和none,用于规定元素的哪一侧不允许其他浮动元素

7 网页排版

7.1 文本颜色

color属性设置颜色

<style type="text/css">#demo{color: red;}</style>

7.2 字体族

字体族( font-family )属性的值是一个备选字体的列表,按优先级从左到右排列:

<style type="text/css">body {font-family: 'Georgia Pro', Georgia, Times, 'Times New Roman', serif;}</style>

字体列表最后的serif叫做通用字体族,在这里充当没有选择的选择。

7.3 字体大小

使用font-size属性设置,几乎所有浏览器的默认大小都是16px。

<style type="text/css">p {font-size: 21px;}</style>

7.4 行高

使用line-height属性设置,如果该属性的设置了没有单位的值,则是当前font-size的倍数。

例如:

<style type="text/css">p {font-size: 20px;line-height: 2;}</style>

表示的意思是line-height的值是font-size的2倍,也就是40px。

7.5 垂直对齐

使用vertical-align属性设置,默认值是baseline,表示子元素的基线与父元素的基线对齐。

7.6 文本粗细

使用font-weight属性设置,默认值是normal,对应400。

7.7 字体样式

使用font-style属性设置,默认是normal。

7.8 大小写变化和小型大写变体

使用text-transform属性设置,默认值是none。

7.9 字与字的间距

使用word-spacing属性增加或减少字与字之间的空白,默认值是normal 。

7.10 段落首行缩进

使用text-indent属性设置。

7.11 对齐

使用text-align属性设置,默认是左对齐。

如果给父元素设置dir="rtl"属性,即从右向左显示。

text-justify属性指定文本对齐设置为"justify"的理据。

此属性指定应怎样对齐文本以及对齐间距。

7.12 连字符

使用hyphens属性来链接。hyphens属性的默认值为manual

<html lang="en">

7.13 多栏文本

为了在不支持多栏属性的浏览器中确保行长不会超过限度,可以在段落元素上应用max-width属性。

7.14 @font-face规则

@font-face 规则中,您必须首先定义字体名称,然后通过 font-family 属性引用字体的名称指向字体文件。

@font-face {font-family: DamoFontFamily;src: url(damo1.woff);src: url(damo2.woff);}p {font-family: DamoFontFamily;}

注意:字体的 URL 使用小写字母。大写字母可能会在 IE 中产生意外结果!

7.15 字距选项

font-kerning属性控制字体中存储的字距信息的使用。

7.16 文本阴影

text-shadow属性用于给文本设置阴影。

text-shadow: h-shadow v-shadow blur color;

可以通过逗号分隔来给文本添加多组阴影,会按先定义的在上,后定义的在下的先后次序堆叠。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。