第七章,CSS构造块

CSS里有控制基本格式的属性(font-size,color),有控制布局的属性(position,float),还有决定访问者打印时在哪里换页的打印控制元素。CSS还有很多控制项目显示或消失的动态属性,可以用于创建下来列表和其他交互性组件。

构造样式规则

样式表中的每条规则都有两个部分:选择器和声明块。
选择器决定哪些块受影响,声明块由一个或多个属性-值对组成,指定应该做什么。

为样式规则添加注释

/* 注释 */,可以是多行注释,放在样式表的任何位置都可以,需要成对出现,不能嵌套。

理解继承

继承是CSS里一个很重要的概念。浏览器会将HTML理解为文档树,对某个元素应用CSS属性时,不仅会影响该元素,还会影响其下分支元素。
对大多数属性而言,可以使用inherit值强制进行继承

会被继承的CSS属性

文本:
color:颜色,a元素除外
direction:方向
font:字体
font-family:字体系列
font-size:字体大小
font-style:用于设置斜体
font-variant:用于设置小型大写字母
font-weight:用于设置粗体
letter-spacing:字母间距
line-height:行高
text-align:用于设置对其方式
text-indent:用于设置首行缩进
text-transform:用于修改大小写
visibility:可见性
white-space:用于指定如何处理空格
word-spacing:字间距
列表:
list-style:列表样式
list-style-image:用于为列表指定定制的标记
list-style-position:用于确定列表标记的位置
list-style-type:用于设置列表的标记
表格:
border-collapse:用于控制表格相邻单元格的边框是否合并为单一边框
border-spacing:用于指定表格边框之间的空隙大小
caption-side:用于设置表格标题的位置
empty-cells:用于设置是否显示表格中的空单元格
页面设置:
orphans:用于设置当元素内部发生分页时在页面底部需要保留的最少行数
page-break-inside:用于设置元素内部的分页方式
widows:用于设置当元素内部发生分页时在页面顶部需要保留的最少行数
其他:
cursor:鼠标指针
quotes:用于指定引号样式

层叠:当规则发生冲突时

定义规则不冲突时,则多条规则结合,一起应用到元素上。
1、编写的规则与浏览器默认规则冲突时,以编写的规则为准
2、编写的规则之间发生冲突,CSS用层叠的原则来考虑特殊性、顺序、重要性,从而判断相互冲突的规则中哪个规则应该起作用。
(1)特殊性
特殊性规则指定选择器的具体程度。选择器越特殊,规则就越强。冲突时,优先应用特殊性强的规则。id选择器最特殊。
建议:在样式表中多使用类选择器,避免使用ID选择器。会降低灵活性
(2)顺序
晚出现的优先级高。直接应用在HTML元素上的规则被认为比外部样式表中或插在HTML文档顶部的特殊性相同的规则出现得更晚。
(3)重要性
可以声明一条特殊的规则覆盖整个系统中的规则,这条规则的重要程度要比其他所有规则高。也可以在某条声明末尾加上!important,例:p{color:red !important;} 不建议

属性的值

1、inherit:显示指出该属性值与对应父元素对该属性设定的值相同。p{border:inherit}(IE8之前大部分属性不支持inherit值)
2、预定义值。大多数CSS属性都有一些可供使用的预定义值。例:float可设置为left,right,none。
3、长度和百分数。em,px,pt,百分数。一个em长度大约与对应元素的字号相等。(当em用于设置font-size属性时,它的值继承自对应父元素的字号)
4、纯数字,只有极少数CSS属性接收不带单位的数字,最常见的:line-height,z-index,opacity
5、URL
6、CSS颜色
7、RGB
8、十六进制数
9、更多CSS3提供的指定颜色方式:RGBA、HSLA、HSL
RGBA:在RGB基础上加了一个代表alpha透明度的A。所有现代浏览器都支持,IE9之前的不支持。格式:color:rgb(89,0,127),color:rgba(89,0,127,0.75)
HSL和HSLA
HSL:色相(hue)、饱和度(saturation)、亮度(lightness)。色相取值:0-360,饱和度和亮度均为百分数:0-100%
格式:property:hsl(hue,saturation,lightness);
HSLA格式:property:hsla(hue,saturation,lightness,alpha transparency)

第八章,操作样式表

一定要将CSS文件保存为以.css为扩展名、用UTF-8编码的文件
外部样式表可以通过链接引用,也可以导入(通过import),不推荐导入,性能不好

链接到外部样式表

语法:

<link rel="stylesheet" href="url.css">

可以在页面中使用多个link元素加载多个样式表,产生冲突则以后面文件的规则为准。

创建嵌入样式表

<style>样式表</style>,放在head部分
当且仅当style元素出现在link元素后面的时候,嵌入样式表中的样式才会覆盖外部样式表中的样式。

应用内联样式表

在HTML元素中定义style属性。内联样式优先级高于其他所有样式,除非其他地方与之冲突的样式标记了!important

样式的层叠和顺序

嵌入样式表与任何链接的外部样式表之间的关系取决于他们在HTML中的相对位置。发生冲突,以出现顺序较后的为准。
内联样式优先级最高。一旦应用,覆盖所有与之冲突的样式。
相互冲突的样式顺序对优先级影响,有一种例外情况,就是标记!important的样式总是具有最高的优先级。尽量不使用important,除非不得已

使用与媒体相关的样式表

可以指定一个只用于特定输出的样式表。如:可以创建一个具有打印和屏幕版本共有特征的通用样式表,再创建单独的只用于打印的属性和只用于屏幕显示的属性。在link或style元素中使用media属性,例:media="output",output可以是print,screen,all(这些是最常见的)等

第九章,定义选择器

建议:尽量不要使用id选择器
编写CSS的一个重要目标就是让选择器尽可能简单,仅保持必要的特殊性

按名称选择元素

类型选择器

按类或ID选择元素

1、按类选择要格式化的元素
使用.(点号)开头,不加空格,输入className
2、按ID选择要格式化的元素
使用#(井号)开头,不加空格,输入idName
除非必须特别针对目标元素,最好不要再id或class选择器中添加元素名称,降低灵活性

类选择器与ID选择器的比较
建议尽量使用class选择器。
id选择器会引入如下问题:
1、不可复用
2、特殊性强,要覆盖需要编写特殊性更强的规则,较难管理

按上下文选择元素

1、子选择器:>

.architect > p{color:red;
}

这个选择器仅选择architect类元素的子元素(而非子子元素、子子子元素)的p元素。
2、CSS相邻同胞结合符:+

<body><h1></h1><p></p><h2></h2>
</body>

h1与p是相邻同胞,h1与h2不是相邻同胞,p与h2是相邻同胞

.architect p+p{color:red;
}

3、普通同胞结合符:~

h1~h2{color:red;
}

选择第一个或最后一个子元素

:first-child,:last-child。均为伪类。

<ul><li>1</li><li>2</li><li>3</li><li>4</li>
</ul>

li:first-child{color:red;
}

选中的是 <li>1</li>,并不是li的子元素,:last-child类似

选择元素的第一个字母或者第一行

:first-letter,:first-line
伪元素:::first-letter,::first-line,::before,::after
伪类::first-child,:link,:hover

按状态选择链接元素

a:link:从未被激活或指向,当前也没有被激活或指向的链接的外观
a:visited:访问者已激活过的链接的外观
a:focus:前提是链接是通过键盘选择并已准备好激活的
a:hover:光标指向链接时链接外观
a:active:激活过的链接的外观

按属性选择元素

选择器 属性值
[attribute] 匹配指定属性,不论值是什么
[attribute="value"] 完全匹配指定属性值
[attribute~="value"] 属性值是以空格分隔的多个单词,其中一个完全匹配指定值
[attribute|="value"] 属性值以 value- 打头
[attribute^="value"] 属性值以value开头,value为完整单词或单词一部分
[attribute$="value"] 属性值以value结尾,value为完整单词或单词一部分
[attribute*="value"] 属性值为指定值的子字符串

指定元素组

h1,h2{color:red;
}

组合使用选择器

em{color:red;
}
.project em{color:red;
}
.architect .project em{color:red;
}
/* 以上实现相同效果,特殊性由低到高 */

第十章,为文本添加样式

选择字体系列

font-family:name
对于包含多个单词的字体名称,应该用引号(单引号或双引号)包围起来。
虽然font-family属性是继承的,但有几个元素不会继承父元素的字体设置,其中有表单的select、textarea、input元素。不过可以强制它们继承。

指定替代字体

可以在font-family属性中列举一种以上的字体,备用。font-family:name,name2,name3..

创建斜体

font-style:italic

取消斜体

font-style:normal

应用粗体格式

font-weight:bold(粗体)、font-weight:bolder(更粗)、font-weight:light(更细)、或者输入100~900之间100的倍数,400代表正常粗细,700代表粗体

设置字体大小

为网页的文本设置字体大小有两种方法:直接使用像素指定要使用的特定字号,或使用百分数、em或者rem指定相对于父元素文本的大小
建议使用em为单位
1em总是等于默认字号大小,这是em的工作原理
rem总是以根元素作为参照系
font-size:xx-small、font-size:x-small、font-size:small、font-size:medium、font-size:large、font-size:x-large、font-size:xx-large、或者使用数字加单位,或者百分比

设置行高

行高指的是段落的行距,即段落内每行之间的距离
line-height:n -- 它与元素字体大小相乘,得出需要的行高
line-height:a -- 这里的a是以em、px、pt为单位的值
line-height:p% -- 字体大小百分比

同时设置所有字体值

可以使用font同时设置字体样式、粗细、变体、大小、行高和字体系列
使用font,至少需要包含字体大小和字体系列属性

设置颜色

color:red;
使用样式表可以包含颜色名称、十六进制值、RGB、HSL、RGBA和HSLA值的任意组合来定义颜色

设置背景

background-color、background-image、background-repeat(重复背景图像)、background-attachment、background-position,还可以使用background简记法
background-repeat:重复背景图像,background-repeat:direction,direction有四个可选值:repeat、repeat-x、repeat-y、no-repeat
background-attachment:控制背景图像是否随页面滚动,fixed:背景图像附着在浏览器窗口上,即使访问者滚动窗口,图像仍会继续显示,scroll:访问者滚动页面时背景图像会移动,local:只有访问者滚动背景图像所在元素时,背景图像才会移动。
background-position:指定元素背景图位置

控制间距

可以增加或减少单词之间或字母之间的距离,前者称为字间距,后者称为字偶距
字间距:word-spacing:length
字偶距:letter-spacing:length

添加缩进

text-indent属性,可以指定段落第一行前面应该空出多大空间

对齐文本

text-align:left(right,center,justify),左对齐,右对齐,居于中间,两端对齐

修改文本的大小写

text-transform属性,可以为样式定义文本大小写。
text-transform:capitalize -- 每个单词首字母大写
text-transform:uppercase -- 让所有字母大写
text-transform:lowercase -- 让所有字母小写
text-transform:none -- 让文本保持本来的样子

使用小型大写字母

小型大写字母:字母是大写的,但缩小到了小写字母的大小。使用font-variant控制。
使用:font-variant:small-caps
取消:font-variant:none

装饰文本

text-decoration属性装饰文本,添加下划线或其他类型线条
text-decoration:underline -- 添加下划线
text-decoration:overline -- 添加上划线
text-decoration:line-through -- 添加删除线
取消:text-decoration:none

设置空白属性

使用white-space
white-space:pre -- 让浏览器显示原文本中所有空格和回车

转载于:https://www.cnblogs.com/TwinklingZ/p/5299955.html

HTML5与CSS3基础教程第八版学习笔记7~10章相关推荐

  1. HTML5与CSS3基础教程第八版学习笔记16-21章

    第十六章,表单 HTML5引入了新的表单元素.输入类型和属性,以及内置的对必填字段.电子邮件地址.URL以及定制模式验证. 元素: <input type="email"&g ...

  2. HTML5与CSS3基础教程(第8版) PDF扫描版​

    <HTML5与CSS3基础教程(第8版)>自第1版至今,一直是讲解HTML和CSS入门知识的经典畅销书,全面系统地阐述HTML5和CSS3基础知识以及实际运用技术,通过大量实例深入浅出地分 ...

  3. html5入门 epub,分享《HTML5与CSS3基础教程(第7版) 》(图灵程序设计丛书) pdf epub azw3格式...

    <HTML5与CSS3基础教程(第7版)> pdf epub azw3格式 下载地址: https://pan.baidu.com/s/1J2LPQoV1GP90UwaFXvKPaw 内容 ...

  4. HTML5与CSS3基础教程(第7版) 高清PDF扫描版​

    HTML5与CSS3基础教程(第7版)试读不仅介绍了文本.图像.链接.列表.表格.表单.多媒体等网页元素,也介绍了如何为网页设计结构.布局,添加动态效果.格式化等形式,此外还涉及调试和发布.聚合和吸引 ...

  5. 《Python基础教程(第3版)》笔记:第8章异常

    <Python基础教程(第3版)>笔记:异常 重点 第8章 异常 异常对象未被处理(或捕获)时,程序将终止并显示一条错误信息:traceback 每个异常都是某个类的实例, 如何创建异常 ...

  6. Python基础教程(第3版)》笔记:第6章抽象

    Python基础教程(第3版)>笔记:第6章抽象 **斐波那契数列:**每个数都是前两个数的和. fibs = [0,1] for i in range(8):fibs.append(fibs[ ...

  7. PMBOK(第六版) 学习笔记 ——《第一章 引论》

    系列文章目录 PMBOK(第六版) 学习笔记 --<第一章 引论> PMBOK(第六版) 学习笔记 --<第二章 项目运行环境> PMBOK(第六版) 学习笔记 --<第 ...

  8. 数据库系统概论(第5版)学习笔记第1章 1.2——数据模型

    数据库系统概论(第5版)学习笔记第1章 1.2--数据模型 目录 数据库系统概论(第5版)学习笔记第1章 1.2--数据模型 0.思维导图(自制) 1️⃣思维导图下载 2️⃣图示 1.2数据模型 1. ...

  9. 《Python编程:从入门到实战》(第2版)学习笔记 第5章 if语句

    [写在前面]为进一步提高自己的python代码能力,打算把几本经典书籍重新过一遍,形成系统的知识体系,同时适当记录一些学习笔记,我尽量及时更新!先从经典的<Python编程:从入门到实战> ...

最新文章

  1. 2022-2028年中国智能制造装备产业深度调研及投资前景预测报告
  2. MediaInfo+c#获取视频码率
  3. [iOS]关于零基础学习iOS开发的学习方法总结
  4. Sublime Text使用正则表达式进行替换
  5. Makefile之 .PHONY 作用
  6. 《数学之美》—统计语言模型
  7. Visual Studio:注释/取消注释快捷键
  8. 213.打家劫舍II
  9. 简述mysql实现递归查询的方法
  10. 客户需求分析工具-$APPEALS
  11. 计算机本地连接没有有效ip配置,本地连接没有有效的ip配置,详细教您本地连接没有有效的ip配置怎么解决...
  12. SQL语句进阶学习一(where、通配符、正则表达式、计算字段、数据处理函数、分组数据)
  13. css横排文字光影效果_css实现发光文字,以及一点点js特效
  14. vue不具名插槽与具名插槽
  15. Python多分类问题pr曲线绘制(含代码)
  16. 立足中国、跻身全球头部代工厂行列,华虹加速蜕变升级
  17. CSS【进阶】线性径向渐变background-image:linear-gradient();background-image:radial-gradient();
  18. 《网络安全工程师笔记》 第十二章:域
  19. 诉说站点优化之前一定要先分析用户的心里这样排名才能上来
  20. SQL server 重复数据处理 (根据条件筛选符合merge的数据)

热门文章

  1. Java Web学习总结(13)——JSP入门
  2. Visual Studio Plugins
  3. 仟叶学校:武汉老师最燃演讲“人生很贵,请别浪费”
  4. 在一个table中动态添加一行或删除一行
  5. 安装kilo版本openstack-dashboard时出现的python compress command not found错误解决办法
  6. Java虚拟机2:Java内存区域及对象
  7. Week8 Teamework from Z.XML-Z.XML游戏功能说明
  8. 结构体、类的成员对齐
  9. 好用的 Abyss Web Server
  10. jquery 地理位置 与 IP地址