[TOC]
>[info]当我们定义一条样式规则时候,这条样式规则会作用于网页当中的某 些元素,选择器是一种模式,用于选择需要添加样式的元素。下面列表常用的选择器。
## id选择器
>[danger]唯一的,一个页面只出现一次,一般用于JS的获取元素,以 "#" 来定义
下面的两个 id 选择器,第一个可以定义元素的颜色为红色,第二个定义元素的颜色为绿色:
~~~
<style type="text/css">
#red {color:red;}
#green {color:green;}
p#red{
color:blue;
}
</style>
~~~
下面的 HTML 代码中,id 属性为 red 的 p 元素显示为红色,而 id 属性为 green 的 p 元素显示为绿色。
~~~
<p id="red">这个段落是红色。</p>
<p id="green">这个段落是绿色。</p>
~~~
## 类选择器
>[danger]作用于一类标签的,需要的加上这个类名就可以,类选择器以一个点号显示:
~~~
<style type="text/css">
.center {text-align: center}
h1.center{font-size:14px;}
</style>
~~~
在上面的例子中,所有拥有 center 类的 HTML 元素均为居中。
在下面的 HTML 代码中,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>
~~~
## 标签选择器
>[danger]作用于同一个标签,以标签名为选择器:
~~~
<style type="text/css">
p {text-align: center}
</style>
~~~
下面的 HTML 代码中,标签为p都会被作用到
~~~
<p>我是P标签包含的</p>
<h1>我是H1标签包含的</h1>
<p>我是P标签包含的</p>
~~~
## 群组选择器
>[danger]同时匹配所有p元素或td元素,li元素,之间用逗号分隔
~~~
<style type="text/css">
p, td, li {
line-height:20px;
color:#c00;
}
</style>
~~~
## 后代选择器
>[danger]后代元素选择器,匹配所有属于#nav元素后代的li元素
~~~
<style type="text/css">
#nav li {
display:inline;
}
</style>
~~~
## 通用选择器
>[danger]通用选择器用*来表示,作用于所有元素,一般在项目初始化时使用
~~~
<style type="text/css">
* {
font-family: "微软雅黑";
}
</style>
~~~
## 伪类选择器
>[danger]同一个元素在不同状态下的不同样式
下面例子:选择鼠标指针浮动在其上的元素,并设置其样式:
~~~
<style type="text/css">
a:hover{
background-color:yellow;
}
</style>
~~~
[更多伪类选择器](http://www.w3school.com.cn/cssref/css_selectors.asp)
## CSS命名规范
* 对于页面中具有唯一性、结构性的模块,使用id选择器,其他 一般采用class选择器
* 选择器命名一律使用小写字母
* 要有合理的注释
* 结构上有父子包含关系的样式,应通过命名体现。
* 命名使用驼峰结构+横线,即同一对象的命名如果需要多个单 词,使用驼峰命名法则,如:boxMusic
* 名字不能以数字开头
* 命名的时候一定要有意义
>[danger]**作业:**把所有常用的选择器都练习下。
- 序言
- 第一章:准备工作
- 写在学习之前的话
- web应用开发结构
- 开发工具/环境
- 第二章:展现层面(HTML/CSS)
- HTML简介
- HTML基础
- HTML编码
- HTML链接
- HTML图像
- HTML列表
- HTML表单
- HTML表格(分水岭)
- HTML 实体
- HTML框架
- CSS层叠样式表
- CSS选择器
- CSS文本/字体
- CSS继承和叠加
- CSS框模型
- CSS浮动(分水岭)
- CSS定位
- CSS背景
- CSS图标字体
- CSS补充
- 开发技巧
- 第三章:展现层面(Javascript)
- JS简介
- JS实现
- JS输出交互
- JS变量
- JS数据类型
- JS运算符
- JS流程控制(分水岭)
- JS函数
- JS数组
- JS对象(分水岭)
- JS数组对象
- JS字符串对象
- JS数学对象
- JS日期对象
- JS BOM对象(分水岭)
- JS DOM对象
- JS事件对象
- JS元素对象
- JS DOM节点
- 第四章:展现层面(Jquery)
- JQ简介
- JQ使用
- JQ选择器
- JQ筛选
- JQ属性
- JQ-CSS
- JQ事件
- JQ文档处理
- JQ效果
- JQ-ajax
- 第五章:逻辑/业务层面(PHP)
- PHP简介
- PHP变量
- PHP数据类型
- PHP常量
- PHP运算符
- PHP流程控制
- PHP函数(分水岭)
- PHP日期
- PHP数学
- PHP数组
- PHP字符串
- PHP正则表达式(分水岭)
- PHP目录操作
- PHP文件
- PHP上传/下载
- PHP面向对象(分水岭)
- PHP图像处理
- PHP会话控制
- Ajax异步处理
- PHPMysql扩展
- PHPMysqli扩展
- PHPPdo扩展
- PHP接口
- PHP命名空间
- 第六章:逻辑/业务层面(框架设计)
- 第七章:存储层面(mysql)
- Mysql基础
- Mysql Sql简介
- Mysql数据库
- Mysql数据类型
- Mysql数据表
- Mysql操作记录
- Mysql查询
- Mysql修改表结构
- Mysql日期与时间
- Mysql分组统计
- Mysql多表查询
- Mysql安全
- Mysql存储引擎
- Mysql事务
- Mysql视图
- Mysql触发器
- Mysql存储过程
- Mysql存储函数
- Mysql优化
- 第八章:服务器(Linux)
- Linux介绍与安装
- Shell
- 目录与文件操作
- VIM编辑器使用
- 帐号管理
- SUDO
- 权限控制
- 压缩与打包
- 软件安装
- 计划任务
- 进程管理
- 宝塔Linux面板