CSS2从入门到精通
1、CSS简介
1.1 CSS简述
CSS:(英文全称:Cascading Style Sheets)。中文翻译为:层叠样式表或级联样式表。
是一种用来表现HTML或XML等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。
1.2 为什么需要CSS样式表
是为了实现结构与样式的分离:
- 结构与样式分离
- 网页样式的统一性,容易修改
- 丰富的样式,使得页面布局更加灵活
- 减少网页的代码量,增加网页的浏览速度,节省网络带宽
- 运用独立于页面的CSS,有利于网页被搜索引擎收录
- 由浏览器解释运行
- 代码不区分大小写
2、CSS语法
2.1 CSS基本语法
在页面上使用时,通常在部分写入style标签,样式代码放在style标签中。
CSS基本语法:
选择器 {
属性:属性值;
属性:属性值;
...
}
什么是选择器:选择器就是找到你要渲染的那个HTML标签(元素)。
<style type="text/css">
p { /* p是html选择器,表示给所有的p标签设置样式 */
color:red;
font-size:24px;
}
</style>
2.2 CSS选择器
2.2.1 基本选择器
基本选择器有三种:
HTML标签选择器:直接作用于某个HTML标签
<style>
p {color:red;font-size:24px;}
</style>
类选择器:可在页面中被多次使用
<style>
.one {color:red;font-size:24px;}
</style>
<p class="one">这是一个p标签</p>
ID选择器:ID选择器在同一个页面中只能使用一次
<style>
#first {color:red;font-size:24px;}
</style>
<p id="first">这是一个p标签</p>
2.2.2 层次选择器
后代选择器:选择所有被E元素包含的F元素[标识符号:space]
<style>
div p {color:red;font-size:24px;}
</style>
<div>
<p>这是div里的p标签</p>
</div>
<p>这是p标签</p>
子选择器:选择所有作为E元素的子元素F,IE8及以下版本浏览器无法识别 [标识符号:”>”]
<style>
div>p {color:red;font-size:24px;}
</style>
<div>
<p>这是div里的p标签</p>
<ul>
<li><p>这是ul里的p标签</p></li>
</ul>
</div>
群组选择器:多个选择器通过逗号连接而成,利用群组选择器同时声明风格相同样式 [标识符号:”,”]
<style>
html,body {width:100%;height:100%;}
</style>
相邻元素选择器:某元素后面的第一个兄弟元素,IE8及以下版本浏览器无法识别 [标识符号:”+”]
<style>
div+p {color:red}
</style>
<div>我的div的内容</div>
<p>我是段落内容</p>
所有相邻元素选择器:某元素后面的所有特定兄弟元素,IE8及以下版本浏览器无法识别 [标识符号:”~”]
<style>
div~p {color:red}
</style>
<div>我的div的内容</div>
<p>我是段落内容</p>
<p>我是段落内容</p>
通配符选择器:代表所有元素
*{padding:0;margin:0}
2.2.3 属性选择器
- [attr] 选择具有attr属性的元素
- [attr=value] 选择具有attr属性且属性值等于value的元素
- [attr~=value] 选择具有attr属性且属性值为用空格分隔的字词列表;等于value的元素也会被选中(value和value前后有空格的)
[attr|=value] 选择具有attr属性且属性值为用连字符分隔的字词列表; 等于value的元素也会被选中(value和value-)
2.2.4 伪类
超级链接相关伪类
:link 正常状态下的超级链接样式
- :hover 鼠标悬停状态下的超级链接样式
- :active 鼠标点击且没有松开时的超级链接样式
- :visited 访问过的超级链接样式
在CSS1中这四个伪类只能用于a标签上;从CSS2开始,hover和active两个伪类,可以应用在任意标签上。
first相关伪类
<style>
p:first-letter{font-size:36px} <!--控制第一个文字的样式-->
p:first-line{color:red} <!--控制段落第一行的样式-->
</style>
<p>
人们常觉得准备的阶段是在浪费时间,只有当真正机会来临,而自己没有能力把握的时候,
才能觉悟自己平时没有准备才是浪费了时间。 ——罗曼.罗兰
</p>
<style>
ul li:first-child{color:red} <!--控制父元素中第一个子元素的样式-->
</style>
<ul>
<li>我是第一行数据</li>
<li>我是第二行数据</li>
</ul>
2.2.5 伪元素
- : before 用来和content属性一起使用,设置在对象前(依据对象树的逻辑结构)发生的内容。
- :after 用来和content属性一起使用,设置在对象后(依据对象树的逻辑结构)发生的内容。
无论content属性中放置的是什么内容,都相当于是一个span标记。
.oDiv:before {
content: open-quote;
}
.oDiv:after {
content: " ";
}
2.3.CSS引入方式
CSS的引入方式共有四种:
- 行内样式
- 内嵌样式
- 外链样式(HTML方式引入外部CSS文件)
- 导入样式(CSS方式引入外部CSS文件—-基本不用)
2.3.1 行内样式
写在某个标签中,只对本行有效。(内联样式)<p style="font-family:华文行楷;color:green;font-size:32px">这是一个行内样式</p>
2.3.2 内嵌样式
样式写在某个页面的style标签中,只对本页面有效。前面的例子都是内嵌样式。<style>
div>p{color:red;font-size:24px;}
</style>
2.3.3 外链样式
将样式代码写在一个单独的CSS文件中,使用时要将这个CSS文件引入使用。<link href="common.css" rel="stylesheet" type="text/css" />
注意:href和rel属性是必须的。
2.3.4 导入样式
在页面的style标签中,使用import关键字导入外部文件。(不推荐使用:因为会先加载HTML代码,再加载CSS文件)
<style type="text/css">
@import url("css/aside.css");
</style>
2.4 CSS优先级
2.4.1 基本规则
CSS 优先规则:
- 从引用方式方面来说:行内样式 > 内嵌样式/外部样式
- 从选择器方面来说:ID 选择器 > 类选择器(属性选择器、伪类选择器) > 标签选择器
- 特殊最高级声明:
div { color:red !important } /*加到某个属性值的后面*/
2.4.2 样式叠加时的优先级
如果在同一选择器上,外部样式、内嵌样式、行内样式都对某一属性使用了样式,也就是存在样式叠加时,那么要使用以下3个原则来决定到底哪一种样式有效。
- 就近原则:距离最近的样式有效。
- 顺序原则:这里的顺序是指的书写顺序,也就是最后书写(不是调用)的样式有效。
-
2.5 CSS中使用的颜色
颜色单词
red、blue、green、orange、yellow、pink、skyblue、deeppink等
十六进制颜色值
基本格式:
RGB颜色值
- rgb(red的值,green的值,blue的值)