【web前端开发】CSS最常用的11种选择器

简介: CSS (Cascading Style Sheets,层叠样式表),是一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的计算机语言,CSS 文件扩展名为 .css。

1.CSS介绍


CSS (Cascading Style Sheets,层叠样式表),是一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的计算机语言,CSS 文件扩展名为 .css。

CSS的作用:给HTML里面的标签设置样式

简单点来说就是让HTML的页面变得更加好看


2.CSS的语言规则


CSS是写在 style 标签里面的,而style标签一般写在head标签里面,title标签的下面


3.CSS的引入方式


CSS共有三种引入方式,分别是内嵌式,外联式和行内式

内嵌式: CSS写在style标签中

注意:style标签可以写在页面的任意位置,但一般都会在head标签里面

外联式: CSS写在单独的.css文件里面

要通过link标签在网页中导入

行内式: CSS写在标签的style属性中

一般搭配js来使用


4.选择器


标签选择器

标签选择器(元素选择器)是指用 HTML 标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的 CSS 样式

语法:

标签名 {

     CSS属性名: 属性值

     CSS属性名: 属性值

     ...

   }

实例:

<!DOCTYPE html>

<html lang="en">

<head>

 <meta charset="UTF-8">

 <title>Title</title>

 <style>

   p {

     color: blue;

   }

 </style>

</head>

<body>

 <p>这是一个段落</p>

 <p>这是一个段落</p>

 <div>这是一个段落</div>

</body>

</html>

效果:

2.png

作用: 通过标签名,找到页面中所有这类标签,并设置样式

注意:

  • 标签选择器选择的是一类标签,而不是单独一个
  • 标签选择器无论嵌套关系有多深,都能找到对应的标签

类选择器


标签选择器是选择这一类标签并设置样式,而类选择是可以给单独的一个标签设置样式

语法:

  .类名 {

     CSS属性名: 属性值

     CSS属性名: 属性值

     ...

   }

示例:

<!DOCTYPE html>

<html lang="en">

<head>

 <meta charset="UTF-8">

 <title>Title</title>

 <style>

   .one {

     color: red;

   }

   .two {

     font-size: 30px;

   }

 </style>

</head>

<body>

 <p class="one">这是一个段落</p>

 <p class="one two">这是一个段落</p>

 <p>这是一个段落</p>

</body>

</html>

效果:

3.png

注意点:

所有的标签都有class这个属性,class属性的属性值就是类名

类名不能以数字或中横线 - 作为开头

一个标签可以有多个类名,类名之间要用空格隔开

- 类名可以重复,一个类选择器可以同时选中多个标签


id选择器


id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。

语法:

#id属性值 {

CSS属性名: 属性值

   CSS属性名: 属性值

   ...

}

示例:

<!DOCTYPE html>

<html lang="en">

<head>

 <meta charset="UTF-8">

 <title>Title</title>

 <style>

   #nav {

     color: blue;

   }

 </style>

</head>

<body>

 <p id="nav">这是一个段落</p>

 <p>这是一个段落</p>

</body>

</html>

效果:

5.png

注意:

所有的标签都有id这个属性

id是唯一的,不能重复!

id选择器只能被调用一次

id选择器通常搭配js来使用

类选择器与id选择器的区别

类选择器可以被多个标签调用

id选择器只能被调用一次


通配符选择器


找到文中所有的标签,并设置样式

语法:

* {

 CSS属性名: 属性值

 CSS属性名: 属性值

 ...

}

示例:

<!DOCTYPE html>

<html lang="en">

<head>

 <meta charset="UTF-8">

 <title>Title</title>

 <style>

   * {

     color: blue;

   }

 </style>

</head>

<body>

 <p>CSS</p>

 <span>CSS</span>

 <div>CSS</div>

 <h1>CSS</h1>

</body>

</html>

效果:

6.png

因为通配符选择器会改变所有标签的样式,在实际开发使用中用的很少


复合选择器


复合选择器中有 后代选择器和子代选择器


后代选择器


作用:根据HTML标签的嵌套关系,选择父元素"后代中"所有满足条件的标签

语法:

选择器1 选择器2{

   CSS属性名: 属性值

   CSS属性名: 属性值

   ...

}

效果:在选择器1中找到标签的后代(儿子,孙子,重孙子...)中,找到满足选择器2的标签,并设置样式

选择器和选择器之间用空格隔开

只要是后代(儿子,孙子,重孙子...)就会被选中

示例:

<!DOCTYPE html>

<html lang="en">

<head>

   <meta charset="UTF-8">

   <title>Title</title>

   <style>

       div p{

         color: #f00;

       }

   </style>

</head>

<body>

<div>

   <p>这是一个段落</p>

   <span>

       <p>这也是一个段落</p>

   </span>

   <h4>这是一个小标题</h4>

</div>

</body>

</html>

效果:

7.png


子代选择器


作用:根据HTML标签的嵌套关系,选择父元素"子代中"所有满足条件的标签

语法:

选择器1>选择器2{

   CSS属性名: 属性值

   CSS属性名: 属性值

   ...

}

效果:在选择器1中找到标签的子代中,找到满足选择器2的标签,并设置样式

这里的子代是只有儿子

选择器与选择器之间用 > 隔开

示例

<!DOCTYPE html>

<html lang="en">

<head>

   <meta charset="UTF-8">

   <title>Title</title>

   <style>

       div > p{

           color: blue;

       }

   </style>

</head>

<body>

<div>

   <p>这是一个段落</p>

   <span>

       <p>这也是一个段落</p>

   </span>

</div>

</body>

</html>

效果:

4.png

并集选择器


作用:同时选择多组标签,并设置样式

语法:

选择器1,选择器2,...{

   CSS属性名: 属性值

   CSS属性名: 属性值

   ...

}

效果:找到选择器1和选择器2所选中的标签,并设置样式

选择器和选择器中间用 , 隔开

选择器可以有多个

示例:

<!DOCTYPE html>

<html lang="en">

<head>

   <meta charset="UTF-8">

   <title>Title</title>

   <style>

       .one {

           font-size: 50px;

       }

       div,

       .one,

       span{

           color: blue;

       }

   </style>

</head>

<body>

   <div>这是一个div</div>

   <p class="one">这是一个段落</p>

   <span>这是一个span标签</span>

</body>

</html>

效果:

8.png


交集选择器


作用:找到 HTML中同时满足选择器的标签

语法:

选择器1选择器2...{

CSS属性名: 属性值

   CSS属性名: 属性值

   ...

}

效果:找到 包含上述选择器的标签,并设置样式

选择器可以有多个

示例:

<!DOCTYPE html>

<html lang="en">

<head>

   <meta charset="UTF-8">

   <title>Title</title>

   <style>

       .one {

           color: blue;

       }

       .two {

           font-style: italic;

       }

       p.one.two{

           font-size: 30px;

       }    

   </style>

</head>

<body>

   <div class="one">这是一个div</div>

   <p class="one two">这是一个p标签</p>

   <span>这是一个span标签</span>

</body>

</html>

效果:

9.png


伪类选择器


伪类是 W3C 制定的一套选择器的特殊状态,通过伪类您可以设置元素的动态状态


hover伪类选择器


作用:将鼠标悬停在元素上,并设置样式

语法:

选择器:hover {

CSS属性名: 属性值

   CSS属性名: 属性值

   ...

}

效果:鼠标悬停在设置的元素时,会出现样式

示例:

<!DOCTYPE html>

<html lang="en">

<head>

   <meta charset="UTF-8">

   <title>Title</title>

   <style>

     a:hover{

       color: red;

     }

   </style>

</head>

<body>

<a href="#">这是一个超链接</a>

<br>

<a href="#">这也是一个超链接</a>

</body>

</html>

效果:

我这里鼠标其实是悬浮在第二个标签上的,但是截图的时候不显示的鼠标了

11.png


任何一个元素都可以悬停,都可以设置样式


active伪类选择器


作用:将鼠标点击元素时,并设置样式

语法:

选择器:avtive {

CSS属性名: 属性值

   CSS属性名: 属性值

   ...

}

示例:

<!DOCTYPE html>

<html lang="en">

<head>

   <meta charset="UTF-8">

   <title>Title</title>

   <style>

     p:active{

         color: skyblue;

     }

   </style>

</head>

<body>

<p>这是一个段落</p>

<p>这是一个段落</p>

</body>

</html>

13.png


结构伪类选择器


作用:根据HTML的结构关系查找元素

选择器 描述
E:first-child{ } 找到父元素中第一个子元素E
E:last-child{} 找到父元素中最后一个子元素E
E:first-child(n){ } 找到父元素第n个子元素E
E:last-child(n){} 找到父元素中倒数第n个子元素E


结语


选择器在前端开发中还是很常用的

实践为主,理论为辅 建议大家可以自己去尝试着使用一下

相关文章
|
16天前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
30 3
|
13天前
|
监控 前端开发 JavaScript
探索微前端架构:构建可扩展的现代Web应用
【10月更文挑战第29天】本文探讨了微前端架构的核心概念、优势及实施策略,通过将大型前端应用拆分为多个独立的微应用,提高开发效率、增强可维护性,并支持灵活的技术选型。实际案例包括Spotify和Zalando的成功应用。
|
12天前
|
Web App开发 前端开发 JavaScript
揭秘!前端大牛们如何巧妙利用CSS3,打造炫酷视觉效果!
【10月更文挑战第31天】前端开发面临复杂布局的挑战,本文介绍了几种提升开发效率和代码质量的工具和技术。基础的HTML和CSS可以应对大部分布局需求,而Firefox开发者工具、VS Code、Vue、React等则能应对更复杂的布局,帮助开发者构建高性能、用户友好的网页应用。
22 4
|
17天前
|
前端开发 JavaScript
Bootstrap Web 前端 UI 框架
Bootstrap 是快速开发 Web 应用程序的前端工具包。
30 3
|
17天前
|
前端开发 安全 应用服务中间件
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第26天】随着互联网的快速发展,前端性能调优成为开发者的重要任务。本文探讨了HTTP/2与HTTPS在前端性能优化中的应用,介绍了二进制分帧、多路复用和服务器推送等特性,并通过Nginx配置示例展示了如何启用HTTP/2和HTTPS,以提升Web应用的性能和安全性。
17 3
|
17天前
|
前端开发 JavaScript API
前端框架新探索:Svelte在构建高性能Web应用中的优势
【10月更文挑战第26天】近年来,前端技术飞速发展,Svelte凭借独特的编译时优化和简洁的API设计,成为构建高性能Web应用的优选。本文介绍Svelte的特点和优势,包括编译而非虚拟DOM、组件化开发、状态管理及响应式更新机制,并通过示例代码展示其使用方法。
33 2
|
6月前
|
前端开发
web前端开发---CSS基础选择器
web前端开发---CSS基础选择器
47 1
|
2月前
|
前端开发
前端基础(四)_CSS层叠样式表_什么是css_css样式的引入方式_样式表的优先级_样式选择器
本文详细介绍了CSS(层叠样式表)的基本概念、语法规则、引入方式、样式表的优先级和样式选择器。文章解释了CSS的作用,展示了如何在HTML中通过行内样式、内部样式和外部样式引入CSS,讨论了不同CSS选择器的优先级和如何确定最终的样式应用。此外,还强调了使用`!important`规则时的优先级高于行内样式。
85 1
|
4月前
|
前端开发
前端 CSS 经典:好用的 CSS 选择器
前端 CSS 经典:好用的 CSS 选择器
28 0
|
6月前
|
前端开发
前端 css 经典:选择器速记
前端 css 经典:选择器速记
45 0