CSS选择器之基本选择器+属性选择器
1.1 id选择器
#main{ font-size:12px; margin:0; padding:0; } 其中的#main就是id选择器,用于选择HTML页面中id = "main"(<div id="main">这里为内容</div>)的元素。在同一个页面中,只能有一个id。
1.2 class选择器
.main{ font-size:12px; margin:0; padding:0; } 其中的.main就是class选择器,用于选择HTML页面中所有class = "main"(<div class="main">这里为内容</div>)的元素。在同一个页面中,class为main的元素个数不限制。
1.3 tag选择器(标签)
div{ font-size:12px; margin:0; padding:0; } 其中的div是页面中的标签,用于选择页面所有标签为div(<div>这里为内容</div>)的元素。在同一页面中,标签的元素个数不限制。标签的种类很多,常用的有div,p,span,a,ul,li,h1等等。
1.4 兄弟选择器
div+p选择紧跟在标签为div的元素后面的元素,且标签为p的元素。前提是div和p的父元素是相等的。比如页面中存在下列html片段:
<div></div><p>$1</p><p>$2</p><div></div><p>$3</p><div></div><ul>$4</ul> |
div+p就会选择内容为$1和$3这两个p元素,而不会选择内容为$2和$4这两个元素。其中div和p目前是标签。
当然也可以换成class,比如div+.main选择所有与div相邻的class= "ddd" 的元素:
<div></div><p class="ddd">$1</p><p>$2</p><div></div><p>$3</p><div></div><ul class="ddd">$4</ul> |
div+.ddd上面的例子将会选择内容为$1和$4这两个元素。当然选择器中的div也可以换成class。
1.5 通用兄弟选择器CSS3
div~.ddd(IE6不支持该选择器),与兄弟选择器类似,不同的是不是选择单个兄弟,而是选择紧跟着的所有元素。如下例将 div~.c 会选择$5和$7这两个元素。使用该选择器时不应像该例子这样如此复杂,维护将会变得十分困难。该选择器应当用ul li等子元素有规律的这种列表中。
<div> <p>$1</p> <p class="c">$2</p> <div>$3</div> <p>$4</p> <div class="c">$5</div> <ul class="ddd">$6</ul> <ul class="c"> <li class="ddd"><a class="c">$7</a></li> <li><span><a>$8</a></span></li> <li class="ddd"><a class="c">$9</a></li> </ul> </div> |
1.6 子选择器
ul>li选择标签为ul的元素中的子元素,且这些子元素的标签为li:
<ul><li class="ddd">$1</li><li>$2</li><li class="ddd">$3</li></ul> |
ul>li将会选择其中$1、$2和$3这三个元素。而ul>.ddd则仅选择其中$1和$3这两个元素。
1.7 后代选择器
div a,其中div与a之间有个空格,其与子选择器不同的是,这个将从包含在标签为div元素中所有的元素中进行筛选,其中标签为a的元素将会筛选出来:
<div> <div></div> <p class="ddd"><a class="c">$1</a></p> <p><a class="c">$2</a></p> <div></div> <p><a>$3</a></p> <div><a>$4</a></div> <ul class="ddd"></ul> <ul> <li class="ddd"><a class="c">$5</a></li> <li><span><a>$6</a></span></li> <li class="ddd"><a class="c">$7</a></li> </ul> </div> |
div a将会选择上述例子中所有的a标签,而div .c将只会选择$1、$2、$5和$7这四个元素。
1.8 通配符选择器
* 将会选择所有的元素。可与相邻选择器、子选择器、后代选择器搭配使用。
1.9 群组选择器
群组选择器是将具有相同样式的元素分组在一起,每个选择器之间使用逗号“,”隔开。比如:
#main, .main, body { margin:0; pddding:0 } |
1.10属性选择器CSS3
属性选择器早在CSS2中就被引入了,其主要作用就是对带有指定属性的HTML 元素设置样式。使用CSS3属性选择器,你可以只指定元素的某个属性,或者你还可以同时指定元素的某个属性和其对应的属性值。下表对应属性选择器的各种不同的用法。
a[title] |
选择所有带有title属性的a |
a [title ='nDos'] |
选择所有title属性为'nDos'的a(必须精确匹配) |
a [title ~='nDos'] |
选择所有title属性中含有'nDos'字符串的a(IE6不支持) |
a [title ^='nDos'] |
选择所有title属性中以'nDos'字符串开始的a(IE6不支持) |
a [title $='nDos'] |
选择所有title属性中以'nDos'字符串结尾的a(IE6不支持) |
a [title *='nDos'] |
选择所有title属性中含有'nDos'字符串的a(IE6不支持) |
a [title |='nDos'] |
选择所有title属性中以'nDos'字符串开始的a(IE6不支持) |
a[title] [href] |
选择所有同时带有title和href属性的a(上述属性选择器的混合使用) |
下面通过例子来指明其中容易混淆的几个属性选择器。其中a[title]、a [title ='nDos']、a [title $='nDos'] 这三个是含义明确的。
下面看看a [title ~='nDos'] 和a [title *='nDos'] 的区别:
<a title="nDosGoGoGo">$1</a> <a title="nDos-GoGoGo">$2</a> <a title="nDos GoGoGo">$3</a> |
a [title ~='nDos'] 只能筛选出 $2。而a [title *='nDos'] 能够同时筛选出这两个。注意nDos与GoGoGo中间的空格。
下面看看a [title ^='nDos'] 和a [title |='nDos'] 的区别:
<a title="nDosGoGoGo">$1</a> <a title="nDos-GoGoGo">$2</a> <a title="nDos GoGoGo">$3</a> |
a [title ^='nDos'] 三个都会选中,而a [title |='nDos'] 仅会选中$2。注意nDos与GoGoGo中间的 - 字符。
CSS选择器之基本选择器+属性选择器的更多相关文章
- CSS选择器之基本选择器
一.通用选择器 选择器 * 匹配 所有元素 最低支持CSS版本 2 二.类型选择器 选择器 <元素类型> 匹配 所有指定类型的元素 最低支持CSS版本 1 三.类选择器 选择器 <类 ...
- css中的7中属性选择器
在CSS的选择符中有七个属性选择符.它们分别是: 1.E[att] 选择具有att属性的E元素. 2.E[att="val"] 选择具有att属性且属性值等于val的E元素. 3. ...
- python 全栈开发,Day47(行级块级标签,高级选择器,属性选择器,伪类选择器,伪元素选择器,css的继承性和层叠性,层叠性权重相同处理,盒模型,padding,border,margin)
一.HTML中的行级标签和块级标签 块级标签 常见的块级标签:div,p,h1-h6,ul,li,dl,dt,dd 1.独占一行,不和其他元素待在同一行2.能设置宽高3.如果不设置宽高,默认为body ...
- 妙味css3课程---1-1、css中自定义属性可以用属性选择器么
妙味css3课程---1-1.css中自定义属性可以用属性选择器么 一.总结 一句话总结:可以的. 1.如何实现用属性选择器实现a标签根据href里面含有的字段选择背景图片? p a[href*=te ...
- jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法
jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jq ...
- CSS 选择器之基本选择器 属性选择器 伪类选择器
CSS 选择器 常见的选择器列表图 CSS选择器笔记 基本选择器 通配符选择器(*) 元素选择器(E) 类选择器(.className) 所有浏览器都支持类选择器,但多类选择器(.classNa ...
- 第49天学习打卡(CSS 层次选择器 结构伪类选择器 属性选择器 美化网页元素 盒子模型)
推荐书籍:码出高效: Java 开发手册 2.2 层次选择器 idea里代码规范是按:ctrl +alt+L快捷键 注释快捷键:ctrl+/ 1.后代选择器:在某个元素的后面 祖爷爷 爷爷 爸爸 你 ...
- 前端 CSS的选择器 属性选择器
属性选择器,字面意思就是根据标签中的属性,选中当前的标签. 属性选择器 通常在表单控件中 使用比较多 根据属性查找 /*用于选取带有指定属性的元素.*/ <!DOCTYPE html> & ...
- css3的新特性选择器-------属性选择器
自己学css的时候比较乱,这次趁着复习把css3的新特性选择器和css2以前不怎么用的选择器做一个总结 <div id="parent"> <p>I'm a ...
随机推荐
- 在 iOS 上编译 webkit 源码
准备工作 买一台 mac 下载并安装 Xcode 下载源码 git clone git://git.webkit.org/WebKit.git WebKit 这个可能要耗费很久很久 编译源码 打开 X ...
- 可方便扩展的JIRA Rest Web API的封装调用
JIRA是一个缺陷跟踪管理系统,被广泛应用于缺陷跟踪.客户服务.需求收集.流程审批.任务跟踪.项目跟踪和敏捷管理等工作领域,当我们需要把第三方业务系统集成进来时,可以调用他的API. JIRA本身的A ...
- 手机端布局,rem布局动态获取根字体大小
手机端布局,rem布局动态获取根字体大小. 以下代码: //rem布局动态获取根字体大小 function remDynamicLayout(){ var $windowWidth = $(windo ...
- 点击按钮,生成一组一组combobox和slider时,避免控件Id相同,导致控件冲突的方法
如下效果图,点击一次添加按钮,动态生成一组combobox和slider.由于easyUI的下拉框和滑块使用相同的控件id,通过JS生成控件,如果两个id一样就会造成冲突,例如点击第一组的下拉框,第二 ...
- c#连接oracle遇到的问题
1.最近在做项目,发现一个很有意思的现象.我在项目中引用System.Data.OracleClient进行oracle库的远程连接,一直出错.后来无意中,将.net framework 4.0框架改 ...
- centos 7 keepalived故障邮件通知实战(附Python邮件发送脚本)
centos 7 keepalived故障邮件通知实战(附Python邮件发送脚本) ##################### sendmail.py begin ######## ...
- python的 del 函数是删对象还是删引用
1.首先介绍下python的对象引用 1)Python中不存在传值调用,一切传递的都是对象引用,也可以认为是传址调用.即Python不允许程序员选择采用传值或传引用.Python参数传递采用的是“传对 ...
- EF基础知识小记七(拆分实体到多个表以及拆分表到多个实体)
一.拆分实体到多个表 1.在日常开发中,会经常碰到一些老系统,当客户提出一些新的需求,这些需求需要在原来的表的基础上加一些字段,大多数人会选择通过给原表添加字段的方式来完成这些需求,方法,虽然可行,但 ...
- springboot打包成jar包后找不到xml,找不到主类的解决方法
springboot打包成jar包后找不到xml,找不到主类的解决方法 请首先保证你的项目能正常运行(即不打包的时候运行无误),我们在打包时经常遇到如下问题: springboot打包成jar包后找不 ...
- 【Java并发编程】:使用synchronized获取互斥锁
在并发编程中,多线程同时并发访问的资源叫做临界资源,当多个线程同时访问对象并要求操作相同资源时,分割了原子操作就有可能出现数据的不一致或数据不完整的情况,为避免这种情况的发生,我们会采取同步机制,以确 ...