CSS选择器】【Web前端基础】css3高级选择器有哪些

2020-10-22 14:35发布

6条回答
水默
2楼 · 2020-10-22 15:52

相邻兄弟选择器、通用兄弟选择器、属性选择器、伪类选择器、伪元素选择器


我想吃肉
3楼 · 2020-10-22 17:29

CSS3的高级选择器在开发中还是蛮有用的,下面我们来看一下都有哪些高级选择器。

1、相邻兄弟选择器

作用:匹配指定元素的相邻【下一个】兄弟元素

语法:由 + 号来充当连接符,如 选择器1+选择器2

示例:html代码如下


   
我是d2
   

我是p1

   
          
  • HTML
  •       
  • css
  •       
  • Javascript
  •    
   
          
  • HTML
  •       
  • css
  •       
  • Javascript
  •    

我们用相邻兄弟原则器选择id为p1的元素下面id为u1的元素,给它背景设置为红色



#p1+#u1{background:#f00;}

效果如下:



2、通用兄弟选择器

作用:匹配到某元素【后面的】 【所有指定】兄弟元素

语法:由~充当结合符,如 选择器1~选择器2

示例:

我们用通用兄弟选择器选择id为p1的元素后面所有的ul元素,将其背景设置为红色


#p1~ul{background:#f00;}

效果如下:



3、属性选择器

3.1、[attribute]:匹配具有attribute属性的元素

如:div[id]:匹配所有具备id属性的div

3.2、element[attr1][attr2] 匹配所有具备attr1属性以及attr2属性的element元素

如:div[id][class] 匹配同时具备id和class属性的div

3.3、element[attr=value] 匹配attr属性值为value的element元素

如:input[type=text] 或 input[type='text'],匹配type为text的input元素

3.4、element[attr~=value] 匹配attr属性值为一个值列表,并在此列表中包含单词value的element元素

如:

div[class~=content]:   能匹配
div[class~=lf]:
              能匹配
div[class~=on]:
           不能匹配

3.5、element[attr^=value] 匹配attr属性值,以value开始的element元素

如:div[class^=my]: 匹配class属性值以my开始的div元素

3.6、element[attr$=value] 匹配attr属性值,以value作为结束的element元素

如:div[class$=over]: 匹配class属性值以over作为结束的div元素

3.7、element[attr*=value] 匹配attr属性值中【包含】value的element元素

如:div[class*=on] 匹配class属性值中包含on的div元素

4、伪类选择器

4.1、目标伪类:突出显示活动的锚点元素

语法::target

如:

a:target{}

div:target{}

4.2、元素状态伪类:多数用在表单控件上,去匹配表单控件的不同状态

4.2.1、:enabled       匹配每个已启用元素(所有表单控件)

4.2.2、:disabled      匹配每个被禁用元素(所有表单控件)

4.2.3、:checked      匹配每个已被选中的input元素(适用radio和checkbox)

4.3、结构伪类:从标记的层次结构来匹配元素

4.3.1、:first-child     匹配属于父元素中的首个子元素

4.3.2、:last-child     匹配属于其父元素中的最后一个子元素

4.3.3、:empty          匹配没有子元素(包含文本内容)的元素

4.3.4、:only-child   匹配属于其父元素中的唯一子元素

4.3.5、:nth-child(n)匹配属于其父元素中的第n个子元素

4.4、否定伪类:将匹配的元素排除在外

语法::not(selector);

5、伪元素选择器

5.1、::first-letter    获取匹配元素的第一个字母(字符)

5.2、::first-line      获取匹配元素的首行

5.3、::selection    匹配用户选取的部分

注意:W3C规定所有的伪类选择器全部使用一个冒号,在CSS3中,所有的伪元素选择器,全部使用两个冒号。


霸气的名字 - 喜欢晴天
4楼 · 2020-10-22 18:11

2010年css3的推出,给我们带来许多亮点,比如可以创建圆角边框,可以在边框上使用图像等等。我也是被它这些新的样式所吸引。自己也一边 
看一边学习,只是有新样式在部分浏览器是不支持的,但是也不妨碍我们对新的技术的追求。也随着现代浏览器的标准化,这些css3的新样式是迟早用的着,虽 
然知识有点基础,但是每个技术都是基础牢固才会有更好的发展与突破,经常跟一些很牛逼的人聊天,他们都是工作一定的时候反过去看一些基础理论性的东西 
,所以不要轻视基础,只有基础扎实,你的技术大厦才能更高,废话不多说,今天就从css3的选择器说起。

css3之属性选择器

css3之属性选择器,其中包括:

1.[att=val]
2.[att*=val]
3.[att^=val]
4.[att$=val]


风火轮
5楼 · 2020-10-22 20:48

相邻兄弟选择器、通用兄弟选择器、属性选择器、伪类选择器、伪元素选择器

那些年很冒险的梦。
6楼 · 2020-10-23 15:03

 在css3中,共有11中UI状态伪类选择器,分别是E:hover,E:active,E:focus,E:enabled,E:disabled,E:read-only,E:read-write,E:checked,E:default,E:indeterminate及E::selection我们来看下这11种选择器被浏览器的支持的情况

 1>层次选择器 2>结构伪类选择器 3>属性选择器 

相关问题推荐

  • 回答 15
    已采纳

    css中有很多选择器,比如类别选择器、标签选择器、ID选择器、后代选择器、子选择器、伪类选择器、通用选择器、群组选择器等,常见的选择器有id选择器、类选择器、标签选择器三大类。...

  • 回答 3

    1、相邻兄弟选择器作用:匹配指定元素的相邻【下一个】兄弟元素语法:由 + 号来充当连接符,如 选择器1+选择器2

  • 回答 9

           1.   !important    在属性后面写上这条样式,会覆盖掉页面上任何位置定义的元素的样式。  2.   行内样式,在style属性里面写的样式。  3.  id选择器  4. class选择器  5. 标签选择器    6. 通配符选择器*  7. 浏览器的自...

  • 回答 9

    ID选择器:#header {}类选择器:.header {}元素选择器:div {}子选择器:ul > li {}后代选择器:div p {}伪类选择器:a:hover {}属性选择器:input[type=text] {}

  • 回答 6

    id选择器(#ID)在使用ID选择器之前需要先在html文档中加注ID名称,这样在样式选择器中才能找到相对应的元素,不同的是ID选择器是一个页面中唯一的值,我们在类使用时是在相对应的类名前加上一个.号(.className)而id选择器是在名称前使用#如(#id),...

  • 回答 1

    CSS 的后代选择器本身就是一种在标准里面不那么推荐的方式。首先,对浏览器来说,ID 选择器 #xx 是最快的,其次是 class 选择器、html 元素选择器等。假如 DOM 的结构如上图,e799bee5baa6e58685e5aeb931333363383938匹配规则是 .mod-nav h3 span。若从左向右...

  • 回答 2

    CSS哪些属性可以继承?css继承特性主要是指文本方面的继承,盒模型相关的属性基本没有继承特性。不可继承的:display、margin、border、padding、background、height、min-height、max-height、width、min-width、max-width、overflow、position、top、bottom...

  • 回答 4
    已采纳

    一:块元素块元素在很多浏览器中,都是显示占据一行,并且排斥其他元素和其他元素在同一行,在浏览器中,块元素出现的形状是矩形,并且盛放其他元素。例如有div,和h1~h6,p,hr,ol,ul。这些标签应该都不是很陌生,其中,和标签是块标签,并且独立占据一行...

  • 回答 4

    CSS3 过渡是元素从一种样式逐渐改变为另一种的效果。

  • 回答 9

    CSS和CSS3都是样式,CSS3是在CSS上新增了样式属性。 CSS3新增特性CSS3圆角边框:border-radius(解决了原有圆角边框需要截图的问题)CSS3文本阴影与盒阴影:text-shadow、box-shadow(可以用于实现标签边框或阴影)CSS3背景尺寸、背景切割和背景原点:backgr...

  • 回答 7

    a:link 没有访问之前a标签的样式a:visited 已访问a标签的样式a:hover a标签鼠标移上的样式a:actived a标签鼠标按下的样式input:focus input表单元素获取焦点input:blur input表单元素失去焦点

  • 回答 1

    基于SVG实现简单时钟效果前端绘图目前浏览器端绘制图形有2种主流方式:SVG和Canvas。相对于Canvas的更加底层的绘图API,SVG是一种声明式的,更可读、易于理解、方便交换。提到前端绘图,事实上有多种技术可以选择,除了SVG和Canvas,还可以基于javascript操作...

没有解决我的问题,去提问