《图解CSS3核心技术与案例实战》笔记——CSS3基本选择器

1、认识CSS选择器

要使某个样式应用于特定的HTML元素,首先需要找到元素。在CSS中,执行这一任务的表现规则称为CSS选择器

1、1 CSS3选择器的优势

CSS3新增了属性选择器,伪类选择器、过滤选择器。可以帮助您在开发中减少对HTML的类名或ID名的依赖,以及对HTML元素的结构依赖,使编写代码更加简单轻松。

1、2 CSS3选择器分类

  • 基本选择器
  • 层次选择器
  • 伪类选择器
  • 伪元素
  • 属性选择器

伪类选择器又分为六种:动态伪类选择器、目标伪类选择器、语言伪类选择器、UI元素状态伪类选择器、结构伪类选择器、否定伪类选择器。

2、基本选择器

2、1基本选择器的语法

选择器 类型 功能描述
* 通配选择器 选择文档中所有的HTML元素
E 元素选择器 选择指定的类型的HTML元素
#id ID选择器 选择指定ID属性值为“id”的任意类型元素
.class 类选择器 选择指定class属性值为“class”的任意类型的任意多元素
selector1,selectorN 群组选择器 将每一个选择器匹配的元素合并

实战体验

<!DOCTYPE html>
<html lang="en">
<head>   
 <meta charset="UTF-8">
    <title>使用CSS3基本选择器</title>
    <style type="text/css"> 
       *{margin:0;  padding: 0;}       
       .clearfix:after,.clearfix:before{display: table;content:""}        
       .clearfix:after{clear: both;overflow: hidden}       
       .demo{width: 250px;border: 1px solid #cccccc;padding: 10px;margin: 20px auto;} 
       li{list-style: none outside none;  float: left;  height: 20px; 
        line-height: 20px;width: 20px;border-radius: 10px; 
        text-align: center;background: #f36;  color: white; margin-right: 5px;}  
     </style>
</head>
<body>
  <ul class="clearfix demo"> 
    <li class="first" id="first">1</li>
    <li class="active">2</li>   
    <li class="important item">2</li>   
    <li class="important">4</li>   
    <li class="item">5</li>  
    <li>6</li>  
    <li>7</li>  
    <li>8</li> 
    <li>9</li> 
    <li class="last" id="last">10</li>
 </ul>
</body>
</html>```
![页面初始效果](http://upload-images.jianshu.io/upload_images/1790467-20d39c6f879b3f00.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
####2、2通配选择器
通配选择器(*)用来选择所有元素
```css
*{margin:0;padding:0}  //此代码在Reset的样式文件中经常见到,表示所有元素的margin和padding都设置为0```
代码示例
```css
  *{margin:0;  padding: 0;}       
       .clearfix:after,.clearfix:before{display: table;content:""}        
       .clearfix:after{clear: both;overflow: hidden}       
       .demo{width: 250px;border: 1px solid #cccccc;padding: 10px;margin: 20px auto;} 
       li{list-style: none outside none;  float: left;  height: 20px; 
        line-height: 20px;width: 20px;border-radius: 10px; 
        text-align: center;background: #f36;  color: white; margin-right: 5px;}  
.demo * {background:orange} //使元素类名为demo下的所有元素都将背景色设置为橙色```

![通配选择器使用效果](http://upload-images.jianshu.io/upload_images/1790467-09135adaaf381d37.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
####2、3 元素选择器
元素选择器是CSS中最基本的选择器,接下来通过ul选择器改变整个列表的背景色
```css
  *{margin:0;  padding: 0;}       
       .clearfix:after,.clearfix:before{display: table;content:""}        
       .clearfix:after{clear: both;overflow: hidden}       
       .demo{width: 250px;border: 1px solid #cccccc;padding: 10px;margin: 20px auto;} 
       li{list-style: none outside none;  float: left;  height: 20px; 
        line-height: 20px;width: 20px;border-radius: 10px; 
        text-align: center;background: #f36;  color: white; margin-right: 5px;}  
.demo * {background:orange}
ul{background:grey}//列表ul的背景色将变成灰色```

![元素选择器使用效果](http://upload-images.jianshu.io/upload_images/1790467-8431321be866f723.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
####2、4  ID选择器
在使用ID选择器(#id)之前,需要在HTML文档中给对应的元素设置id属性并设置其值,才能找到对应的元素。ID选择器具有唯一性。
```css
 *{margin:0;  padding: 0;}       
       .clearfix:after,.clearfix:before{display: table;content:""}        
       .clearfix:after{clear: both;overflow: hidden}       
       .demo{width: 250px;border: 1px solid #cccccc;padding: 10px;margin: 20px auto;} 
       li{list-style: none outside none;  float: left;  height: 20px; 
        line-height: 20px;width: 20px;border-radius: 10px; 
        text-align: center;background: #f36;  color: white; margin-right: 5px;}  
.demo * {background:orange}
ul{background:grey}
#first {background:lime;color:#000}
#last {background:#000;color:lime}```

![ID选择器使用效果](http://upload-images.jianshu.io/upload_images/1790467-0a5b1782eb9d8f8c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
####2、5 类选择器
类选择器(.class)是以独立于文档元素的方式来指定元素样式。于ID选择器最大的不同之处是:**类选择器在一个页面中可以有多个相同的类名,而ID选择器其ID值在整个页面中是唯一的一个**
```css
 *{margin:0;  padding: 0;}       
       .clearfix:after,.clearfix:before{display: table;content:""}        
       .clearfix:after{clear: both;overflow: hidden}       
       .demo{width: 250px;border: 1px solid #cccccc;padding: 10px;margin: 20px auto;} 
       li{list-style: none outside none;  float: left;  height: 20px; 
        line-height: 20px;width: 20px;border-radius: 10px; 
        text-align: center;background: #f36;  color: white; margin-right: 5px;}  
.demo * {background:orange}
ul{background:grey}
#first {background:lime;color:#000}
#last {background:#000;color:lime}
.item {background:green;color:#fff;font-weight:bold}//设置背景为绿色,并且加粗文字```

![类选择器使用效果](http://upload-images.jianshu.io/upload_images/1790467-75b083145a2f52ab.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
若在代码后面再添加一行
```css
.item.important{background:red;}//列表3同时具有important和item类名,所以才会执行代码```

![多类名选择器使用效果](http://upload-images.jianshu.io/upload_images/1790467-8e032e26f74d2b0c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
####2、6群组选择器
群组选择器(selector1,selectorN)是将具有相同样式的元素分组在一起,每个选择器之间用(,)隔开。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,727评论 1 92
  • 其实平时用得多的选择器无非也就是那么几个,时间久了,许多不常用的选择器就慢慢忘记了。为了不让自己忘记这些选择器,今...
    盛夏晚清风阅读 1,810评论 0 5
  • 一:在制作一个Web应用或Web站点的过程中,你是如何考虑他的UI、安全性、高性能、SEO、可维护性以及技术因素的...
    Arno_z阅读 1,136评论 0 1
  • 白云悄悄的划过 空灵的蓝天 美人松婀娜、白桦萧瑟 林海茫茫 蝶飞蜂舞 拼命的吻着向日葵 舞动生命 最后的时光 风清...
    marquislove阅读 265评论 1 3
  • 三生三世十里桃花,生生世世爱 诸位请听好,现在有一个男滴是酱婶的:帅,有钱,有权,温柔,霸道,专一,会做饭,会带娃...
    丁壮壮阅读 344评论 0 2