1.CSS 概述
CSS 指层叠样式表 (Cascading Style Sheets)
样式定义如何显示 HTML 元素
样式通常存储在样式表中
把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题
外部样式表可以极大提高工作效率
外部样式表通常存储在 CSS 文件中
多个样式定义可层叠为一
样式可以规定在单个的 HTML 元素中,在 HTML 页的头元素中,
或在一个外部的 CSS 文件中。甚至可以在同一个 HTML 文档内部引用多个外部样式表
2.当同一个 HTML 元素被不止一个样式定义时,会使用哪个样式呢?
一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字 4 拥有最高的优先权。
1浏览器缺省设置
2外部样式表
3内部样式表(位于 <head> 标签内部)
4内联样式(在 HTML 元素内部)
3.CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。
selector {
declaration1;
declaration2; ...
declarationN;
}
选择器通常是您需要改变样式的 HTML 元素。
每条声明由一个属性和一个值组成。
h1 {
color:red;
font-size:14px;
}
如果值为若干单词,则要给值加引号:
p {
font-family: "sans serif";
}
以上都称之为规则,一个规则里可以有不止一种声明。规则是包含在样式表中的。
4.不可以在内联元素 <span> 中嵌入 <p>
id 属性只能在每个 HTML 文档中出现一次。
5.CSS id选择器
id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。
id 选择器以 "#" 来定义。
在现代布局中,id 选择器常常用于建立派生选择器(即选择器中多了一个元素,即为派生。比如#sidebar为选择器,#sidebar p为派生)
#sidebar p {
font-style: italic;
text-align: right;
margin-top: 0.5em;
}
#sidebar h2 {
font-size: 1em;
font-weight: normal;
}
在这里,与页面中的其他 p 元素明显不同的是,sidebar 内的 p 元素得到了特殊的处理,
同时,与页面中其他所有 h2 元素明显不同的是,sidebar 中的 h2 元素也得到了不同的特殊处理。
6.CSS 类选择器---class
1)在 CSS 中,类选择器以一个点号显示:
.center {text-align: center}会应用于以下部分。
因为h1 和 p 元素都有 center 类。这意味着两者都将遵守 ".center" 选择器中的规则。
<h1 class="center">
This heading will be center-aligned
</h1>
<p class="center">
This paragraph will also be center-aligned.
</p>
2)class 也可被用作派生选择器:
.fancy td {
color: #f60;
background: #666;
}
3)元素也可以基于它们的类而被选择
td.fancy {
color: #f60;
background: #666;
}
在上面的例子中,类名为 fancy 的表格单元将是带有灰色背景的橙色。
<td class="fancy">
7.CSS 属性选择器
对带有指定属性的 HTML 元素设置样式
为带有 title 属性的所有元素设置样式:
[title]
{
color:red;
}
为带有包含指定值的 lang 属性的所有元素设置样式,适用于由连字符分隔的属性值:
[lang|=en] { color:red; }
属性选择器在为不带有 class 或 id 的表单设置样式时特别有用:
input[type="text"]
{
width:150px;
font-family: Verdana, Arial;
}
input[type="button"]
{
width:120px;
font-family: Verdana, Arial;
}
8.css选择器参考手册:
选择器 描述
[attribute] 用于选取带有指定属性的元素。
a[target] //为带有 target 属性的 <a> 元素设置样式
{
background-color:yellow;
}
[attribute=value] 用于选取带有指定属性和值的元素。
a[target=_blank] //为 target="_blank" 的 <a> 元素设置样式:
{
background-color:yellow;
}
[attribute~=value] 用于选取属性值中包含指定词汇的元素。
[title~=flower] //选择 titile 属性包含单词 "flower" 的元素,并设置其样式
{
background-color:yellow;
}
[attribute|=value] 用于选取带有以指定值开头的属性值的元素,该值必须是整个单词。
[lang|=en] //选择 lang 属性值以 "en" 开头的元素,并设置其样式
{
background-color:yellow;
}
[attribute^=value] 匹配属性值以指定值开头的每个元素。
div[class^="test"] //设置 class 属性值以 "test" 开头的所有 div 元素的背景色
{
background:#ffff00;
}
[attribute$=value] 匹配属性值以指定值结尾的每个元素。
div[class$="test"] //设置 class 属性值以 "test" 结尾的所有 div 元素的背景色
{
background:#ffff00;
}
[attribute*=value] 匹配属性值中包含指定值的每个元素。
div[class*="test"] //设置 class 属性值包含 "test" 的所有 div 元素的背景色
{
background:#ffff00;
}