CSS主要知识点总结---选择器

    技术2022-07-14  87

    在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素。

    1)基本选择器

    通用选择器:适用于所有元素,例如:* { margin:0; padding:0; }标签选择器:匹配所有使用该标签的元素,例如:p{font-size:1px}id选择器:匹配所有id属性等于当前名字的元素,例如:#info { background:#ff0; } <div id='info'></div>class选择器:匹配所有class属性中包含当前名字的元素,例如:.iinfo { background:#ff0; } <div class='info'></div>

    2)组合选择器

    复合选择器:两个或两个以上选择器组合在一起,以便更精确的设置某一个或某一类标签,中间不用分割符号,例如: <head> <style> p.msg { color: blue; } p#msg { color: red; } </style> </head> <body> <p class="msg">hello</p> <p id="msg">world</p> </body> 后代选择器 :不管嵌套几层,只要在父代选择器所在的标签包裹内,都可以被设置,父代选择器和后代选择器中间用空格分割 <head> <style> /* 后代和父代选择器之间一定要有空格 */ .list ul { color: red; } .list ol { color: blue; } </style> </head> <body> <div class="list"> <ul> <li>1</li> <li>2</li> </ul> <ol> <li>3</li> <li>4</li> </ol> </div> </body> 子代选择器:控制离父代标签最近的那一代标签,不能控制更深层次嵌套的标签,用>表示 <head> <style> div > p { color: red; } li > p { color: blue; } </style> </head> <body> <div> <p>我是子代标签1</p> <ul> <li> <p>我是重孙代标签1</p> </li> </ul> </div> </body> 多元素选择器:同时匹配所有E元素或F元素,E和F之间用逗号分隔 <head> <style> h1, h2, h3, p { color: red;} </style> </head> <body> <h1>1</h1> <h2>2</h2> <h3>3</h3> <p>4</p> </body>

    3、属性选择器 

    给某一类标签中带有特定属性(id、class、name等)的某一个标签设置样式,用[]表示,css3中加了模糊匹配 <head> <!-- CSS2属性选择器用中括号表示 --> <style> h1[id] { color: red; } input[type="text"] { background-color:red; } </style> <!-- CSS3属性选择器用中括号表示 --> <style> h1[id] { color: red; } input[type^="t"] { background-color: red; } input[type$="t"] { background-color: blue; } input[type*="e"] { background-color: blue; } </style> </head> <body> <h1 id="fir_head">标题1</h1> <h1>标题2</h1> <input type="text"> <input type="password"> </body>

    4、伪类:同一个标签,根据其不同的种状态,有不同的样式。这就叫做“伪类”。伪类用冒号来表示。

    比如div是属于box类,这一点很明确,就是属于box类。但是a属于什么类?不明确。因为需要看用户点击前是什么状态,点击后是什么状态。所以,就叫做“伪类”。

    伪类选择器分为两种。

    (1)静态伪类:只能用于超链接的样式。如下:

    :link 超链接点击之前:visited 链接被访问过之后

    PS:以上两种样式,只能用于超链接。

    (2)动态伪类:针对所有标签都适用的样式。如下:

    :hover “悬停”:鼠标放到标签上的时候:active “激活”: 鼠标点击标签,但是不松手时。:focus 是某个标签获得焦点时的样式(比如某个输入框获得焦点)

    PS:以上三种样式,只能用于超链接。

    /*让超链接点击之前是红色*/ a:link{ color:red; } /*让超链接点击之后是绿色*/ a:visited{ color:orange; } /*鼠标悬停,放到标签上的时候*/ a:hover{ color:green; } /*鼠标点击链接,但是不松手的时候*/ a:active{ color:black; }

    参考博客:

    https://www.jianshu.com/p/f56240e64f1b

    https://www.cnblogs.com/1463069300limingzhi/p/11361718.html

    https://www.cnblogs.com/1463069300limingzhi/p/11361709.html

    Processed: 0.014, SQL: 9