我们之前已经讲解过,CSS中的简单选择器,组合选择器,还有伪类和伪元素选择器。如果我们想做更精准的搜索,提高查找元素的效率,可以使用CSS属性选择器来实现。CSS属性选择器用于根据属性或属性值查找元素;基本语法为:元素括号属性([??tr?bju:t])(Element[attribute])orElement,bracketsattributeequalsvalue(Element[attribute='value']),快速准确的查找元素。这里注意:element翻译成element,attribute翻译成attribute。Element属性的含义是:找到具有该属性的元素,然后添加样式声明。a[target]{background-color:yellow;}例如:上面代码的意思是:找到具有target属性的a元素,添加一个背景色为黄色的样式声明。在CSS选择器中,目前有四种属性选择器可供大家使用:第一种:通过使用方括号属性([attribute]),查找HTML结构中所有具有attribute属性的元素。第二种方法:使用方括号属性等于值([attribute='value']),在HTML结构中查找属性为attribute且属性值为value的元素。第三种方法:利用方括号属性波浪线等于值([attribute~='value']),查找HTML结构中具有attribute属性且包含多个属性值中value值的元素。第四种:通过方括号属性竖线等于value([attribute|=”value”])查找HTML结构中的attribute属性,属性值以value或value横岗(value-)元素开头;这里需要注意的是,该属性的值只能有一个值,不能有多个值。下面详细介绍一下不同属性选择器的使用。在004目录下创建一个attribute_selector.html文件来构建基础代码。在body元素里面,添加准备好的基本结构,包括输入框和密码框。、单选按钮以及带有类名的p和div元素。
基本信息
用户名:
密码框:回答问题:性别选择:男是否女:是没有元素修改
我是一个p元素,我有三个类名,分别是:boxbigbobo我是一个p元素,我有两个类名:box和bobo我是一个div元素,我有一个类名叫box
我是一个div元素,我有一个类名叫box-qf
在head元素中添加一个style元素,使用属性选择器:bracketstype([type]{}),找到元素的pagetype属性中的所有携带元素.并添加样式声明:width:50pxheight:50px;([type]{width:50px;height:50px;})在浏览器中可以清楚的看到输入框,密码框和单选框都实现了宽高的调整;如果只想修改radiobutton中的性别怎么实现呢?显然,直接使用方括号type([type])是不行的。因为,方括号type([type])查找的是所有带有type属性的元素,查找范围太广;为了提高搜索的准确性,可以使用方括号nameequalssex([name=”sex”]),并添加样式声明:width:20pxheight:20px([name='sex']{宽度:20px;高度:20px});再次观察浏览器,性别对应的单选按钮大小发生了变化。回到代码,我们继续写一段代码,括号class波浪线等于box([class~=”box”]),添加样式声明:background-color:yellow,我们发现在browser,第一个input框,两个p元素,第一个div元素都实现了背景色的变化,因为这些标签都有class属性,属性值都有box的值;回到代码写一段代码,括号类竖条等于box([class|=”box”]),并添加样式声明background-color:skyblue,返回浏览器,在这时间,第一个输入框,和最后两个div元素的背景色发生了变化。也许你会想,为什么第一个input输入框和第一个刚刚装饰完的div元素的背景色又会变呢?这是因为在计算机编码的世界里,代码是按照从上到下的顺序执行的。就好比:我可以穿一件T恤出门,也可以穿一件夹克,夹克会盖住T恤。方括号中的class波浪线等于box([class~=box]),可以找到页面中的class属性,将样式语句应用到值为box的元素上。继续添加代码,通过方括号,class竖线等于box([class|=box]),然后在页面中寻找class属性的元素,取值为box或者元素从方框栏(box-)开始。这时候又找到了第一个input输入框和第一个div元素,添加了一个style语句。后一种风格覆盖了前一种风格,所以会发生变化;这样做的时候你可能还有疑问:为什么完全可以用一个类名或者一个id名来完成样式修改,但是继续学习那么多选择器呢?简单选择器和组合选择器可以完成对元素的查找,但是我们学习过的其他选择器可以更准确高效地查找元素,从而提高我们的编码速度;本课的属性选择器,在实际开发过程中,大部分都会应用到表单控件中,因为表单控件可以添加的属性有很多,属性选择器可以用来高效的查找表单元素。