首页 > 其他分享 >CSS组合器(Combinators)

CSS组合器(Combinators)

时间:2023-06-10 23:01:27浏览次数:247  
标签:组合 示例 Combinators 元素 combinator 语法 选择器 CSS

前言

组合器就是将选择器按照一定的语法规则进行组合,提供更丰富的元素选择方案。
选择器主要分为

  1. 类型选择器
  2. 属性选择器
  3. 类选择器
  4. ID选择器
  5. 通配选择器

组合器类型

选择器列表(Selector list)

如果你希望多个元素共享同一样式,可以使用该组合器,其有点类似并操作(or)。

语法和示例

以逗号分隔多个选择器。可以单行语法,或者多行语法。

单行:

h1, h2, h3 , p#main, div.yello {
  ...
}

多行

h1, 
h2, 
h3 , 
p#main, 
div.yello {
  ...
}

示例

后代组合器(Descendant combinator)

后代组合器(通常用单个空格(" ")字符表示)组合了两个选择器,如果第二个选择器匹配的元素具有与第一个选择器匹配的祖先(父母,父母的父母,父母的父母的父母等)元素,则它们将被选择。
此外,理论上单个空格,制表符,多个空格,换行符都可以用来做后代组合。

语法和示例

selector1 selector2 {
  /* property declarations */
}

示例

后代组合器组合的也是一个选择器,所以可以再进行一次后代组合 例如这样

子组合器(Child combinator)

子组合器(>)被放在两个 CSS 选择器之间。它只匹配那些被第二个选择器匹配的元素,这些元素是被第一个选择器匹配的元素的直接子元素。
注意他与后代选择器的区别是,第二个元素必须是第一个元素的儿子(直接子元素)才行,否则不行。
子组合器组合出来的也是一个选择器,因此可以再拿来进行组合。

语法和示例

元素 1 > 元素 2 { 样式声明 }

示例

实践中我发现如果子代关系是<div><p><li>,似乎 div > li 也会选中,但是不知道为什么。

相邻兄弟组合器(Adjacent sibling combinator)

相邻兄弟选择器 (+) 介于两个选择器之间,当第二个元素紧跟在第一个元素之后,并且两个元素都是属于同一个父的直接子元素,则第二个元素将被选中。

语法和示例

former_element + target_element { style properties }

示例

通用兄弟组合器(General sibling combinator)

通用兄弟组合器(~)将两个选择器分开,并匹配第二个选择器的所有迭代元素,位置无须紧邻于第一个元素,只须有相同的父级元素。
与相邻兄弟组合器(Adjacent sibling combinator)最大的区别是,会把第一个选择器后面所有的第二个选择器匹配的元素选出。

语法和示例

ormer_element ~ target_element { style properties }

示例

标签:组合,示例,Combinators,元素,combinator,语法,选择器,CSS
From: https://www.cnblogs.com/Scarlett-K/p/17471942.html

相关文章

  • jmeter005:察看结果树之以(txt、css、html、json)格式查看结果
     txt:这里就不用说了,已txt文件展示,形式比较单一,但也是用的比较多的 css:css取样测试其实与txt也差不多,区别就是比txt多了“选择器”筛选 html:html有三种模式,(HTML以基本的界面形式展示数据)、(HTMLSourceFormatted会下载图像来展示)、(HTMLSourceformatted:如果选择了HTML......
  • CSS_三大特性下_优先级
    CSS三大特性1、继承性CSS_特性继承和层叠-Bublly-博客园(cnblogs.com)2、层叠性CSS_特性继承和层叠-Bublly-博客园(cnblogs.com)3、优先级3.1基本1特性:不同选择器具有不同的优先级,优先级高的选择器样式会覆盖优先级低选择器样式2优先级公式:继承<通配符选择器<......
  • CSS_特性继承和层叠
    CSS特性1、继承性特性:1、子元素有默认继承父元素样式的特点(子承父业)2、可以继承的常见属性(文字控制属性都可以继承)1.color2.font-style、font-weight、font-size、font-family3.text-indent,text-align4.line-height注意点:可以通过调试工具判断样式是否可以继承2、层叠......
  • CSS_显示某块和标签嵌套
    一、显示模块1、块级元素特点:1.独占一行(一行只能显示一个)2.宽度默认是父元素的宽度,高度默认由内容撑开3.可以设置宽高例如:div、p、h系列、ul、li、dl、dt、dd、form、header、.nav、footer.2、行内元素特点:1.一行可以显示多个2.宽度和高度默认由内容撑开3.不可以设......
  • Python内置函数any()、map()组合运用案例一则
    Python内置函数any()用来测试某个可迭代对象中是否所有对象都等价于True,map()用来把一个函数映射到一个或多个可迭代对象上。问题描述:测试一个字符串中是否包含指定列表中的某个字符串作为子串,不允许使用循环结构。参考代码:......
  • css层
    add.css.overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5);z-index:999;}.popup{display:none;position:fixed;top:50%;left:......
  • js 实现排列组合
    组合:(不考虑顺序,无重复)//测试用例letdataArr=[1,2,3,4,5];functioncombination(dataArr,remainNum,currentArr){if(remainNum===0){console.log(...currentArr);return;}for(leti=0;i<dataArr.length+1-remainNum;i++){......
  • CSS: offsetTop offsetLeft offsetParent
     offsetParentiscontainingblock 1.position:static;offsetTop元素的上外边距到containingblock的上内边距(containingblock的padding+element.margin)<!DOCTYPEhtml><htmllang="en-US"><head><metacharset="UTF-8"&g......
  • CSS: Determine if an element has been totally scrolled
     Element:scrollHeightproperty-WebAPIs|MDN(mozilla.org) <!DOCTYPEhtml><htmllang="en-US"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge......
  • CSS: offsetWidth offsetHeight clientWidth clientHeight scrollWidth scrollHeight
       <!DOCTYPEhtml><htmllang="en-US"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"cont......