CSS选择器的理解

简介: CSS选择器的理解

       css是“层叠样式表”,是一种标准的样式表语言用于描述网页的表现形式(例如网页元素的位置、大小、颜色等)。


       CSS 的主要作用是定义网页的样式(即美化网页),对网页中元素的位置、字体、颜色、背景等属性进行精确控制。不仅可以静态地修饰网页,还可以配合 JavaScript 动态地修改网页中元素的样式。


一、常用选择器


       常用选择器是最易见到的选择器。


       1)元素选择器


       作用 : 选中对应标签中的内容;例:p{} , div{} , span{}


       2)类选择器


       语法 : .class属性值{}


       作用 : 选中对应class属性值的元素;例子:.A{}


       3)id选择器        


       语法 : #id属性值{}


       作用 : 选中对应id属性值的元素;例子:#A{}


       4)通配符选择器


       语法 : *{}


       作用 : 让页面中所有的标签执行该样式,通常用来清除间距;


二、群组选择器

       是同时对几个选择器进行相同的操作。


       语法 : 选择器1,选择器2,选择器3...{}


       作用 : 同时选中对应选择器的元素;例子:div,p,h3,.li2{ font-size: 30px; }


三、关系选择器


       是能够根据其它元素的关系选择适合的元素选择器。


       1)后代选择器


       后代选择器也叫包含选择器,祖先元素直接或间接的包含后代元素。

<style>
  /* 后代选择器(包含选择器),选择到的是box下面的所有后代p */
     .box p{
      width: 200px;
      height: 200px;
      background-color: yellow;
    } 
</style>
  <div class="box">
    <p>0000</p>
    <div>
      <p>11111</p>
      <p>22222</p>
    </div>
    <div class="box2">
      <p>333</p>
    </div>
    <p>444</p>
  </div>

      2)子代选择器

       父元素直接包含子元素,子元素直接被父元素包含。

<style>
   /*子选择器选中的是.box下所有的儿子p
   .box>p{
      width: 200px;
      height: 200px;
      background-color: yellow;
    } 
</style>
  <div class="box">
    <p>0000</p>
    <div>
      <p>11111</p>
      <p>22222</p>
    </div>
    <div class="box2">
      <p>333</p>
    </div>
    <p>444</p>
  </div>


     3)相邻兄弟选择器

       是指在另一个元素之后可以选择的元素,两者具有相同的父元素。

<style> 
   /* 相邻兄弟,会选择到box后面紧挨着的p,那么就是内容为111的p标签 */
    .box+p{
      width: 200px;
      height: 200px;
      background-color: yellow;
    } 
</style>
 <p>000</p>
  <div class="box">盒子1</div>
  <p>111</p>
  <p>222</p>
  <p>333</p>
  <div>
    <p>44444</p>
  </div>
  <p>5555</p>


       4)通用兄弟选择器

       给指定选择器后面的所有选择器选中的所有标签设置属性。

<style>
   /*通用兄弟选择器,会选择到.box后面所有的兄弟p,那么就是除了内容为'44444'以外的所有p*/
   .box~p{
      width: 200px;
      height: 200px;
      background-color: yellow;
    }
</style>
  <p>000</p>
  <div class="box">盒子1</div>
  <p>111</p>
  <p>222</p>
  <p>333</p>
  <div>
    <p>44444</p>
  </div>
  <p>5555</p>


四、属性选择器

       是通过元素的属性及属性值来选择元素的。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>属性选择器</title>
    <style>
        /* 第一种用法:选择含有指定属性的元素。
                语法:[属性名]{} */
        /*选择属性名title,设置字体颜色红色  */
        [title]{
            color:red;
        }
    </style>
</head>
<body>
    <h1 title="a">《出塞》</h1>
    <h2 title="ab">唐·王昌龄</h2>
    <p title="abc">秦时明月汉时关,</p>
    <p title="abab">万里长征人未还。</p>
    <p title="c">但使龙城飞将在,</p>
    <p>不教胡马度阴山。</p>
</body>
</html>

       其他用法:

            <a href="http://www.baidu.com" target="_blank" class=" links item first" id="first" title="link">1</a>
      <a href="" class="links active item" title="test website" target="_blank" lang="zh">2</a>
      <a href="sites/file/test.html" class="links item" title="link-1 aa" lang="zh-cn">3</a>
      <a href="sites/file/test.png" class="links item" target="_balnk" lang="zh-tw">4</a>
      <a href="sites/file/image.jpg" class="links item" title="link-23 aa">5</a>
      <a href="mailto:baidu@hotmail" class="links item" title="website link" lang="zh">6</a>
      <a href="/a.pdf" class="links item" title="open the website" lang="cn">7</a>
      <a href="/abc.pdf" class="linksitem" title="close the website" lang="en-zh">8</a>
      <a href="abcdef.doc" class="links item" title="http://www.sina.com">9</a>
      <a href="abd.doc" class="linksitem last" id="last">10</a>
      <style>
            /* 属性选择器的权重是0010   */
      /* 写法1 某某[属性] 选择到a标签且有title属性的变*/
      /* a[title]{
        background: yellow;
      } */
      /* a[lang][target]{
        background: yellow;
      } */
      /*重点: 写法2: 某某[属性=属性值] 选择到有某某标签有指定属性且属性值必须一摸一样的也有的多一个空格都不行 */
      /* a[lang="zh"]{
        background: yellow;
      } */
      /* a[title="this is a link"]{
        background: yellow;
      } */
      /* class名字是item的,且有属性lang且属性值必须一模一样是zh-cn的 */
      /* .item[lang="zh-cn"]{
        background: yellow;
      } */
      /* id是last且有title属性且有class属性,属性值只能是links的变 */
      /* #last[title][class="links"]{
        background: yellow;
      } */
      /* 写法3: 某某[属性^=属性值] */
      /* a标签有class属性且属性值是li开头的 */
      /* a[class^=" li"]{
        background-color: yellow;
      } */
      /* a[title^="this"][lang]{
        background-color: yellow;
      } */
      /* 写法4 某某[属性$=属性值] */
      /* a标签有class属性且属性值结尾是t的变 */
      /* a[class$="t"]{
        background-color: yellow;
      }  */
      /* a[href$=".pdf"]{
        background-color: yellow;
      }
      a[href$=".doc"]{
        background-color: red;
      }
      a[href$=".png"]{
        background-color: green;
      } */
      /* 写法5 某某[属性*=属性值] */
      /* 选择到a标签且有href属性且只要有字母b就可以 */
      /* a[href*="b"]{
        background-color: green;
      } */
      /* 写法6 某某[属性~=属性值] */
      /* 选择到的是a标签且有class属性,且属性值有完整的itme词的变 */
      /* a[class~="item"]{
        background-color: green;
      } */
      /* 写法7 某某[属性|=属性值] */
      /* 这个是选择到有a标签,且有属性title,且属性值只有1个是link的或者属性值有多个但是得是link-开头的变 */
      a[title|="link"]{
        background-color: green;
      }
       </style>


五、伪类选择器


       是选择器的一种,它用于选择处于特定状态的元素。


       1)常用的伪类选择器


       :first-child()   第一个子元素


       :last-child()    最后一个子元素


       :nth-child()   选中第n个元素


       2)否定伪类


       :not()  将符号条件的元素去除


       3)元素的伪类


       :link        表示未访问过的a标签

       :visited    表示访问过的a标签

       :hover        鼠标移入后元素的状态

       :active        鼠标点击后,元素的状态


六、伪元素选择器


       是用于向某些元素设置特殊效果。


       常见的几个伪元素:


               ::first-letter    表示第一个字母


               ::first-line       表示第一行


               ::selection     表示选中的元素


               ::before         元素开始的位置前


               ::after            元素结束的位置后


相关文章
|
1月前
|
XML 前端开发 数据格式
css核心组成部分包括选择器、属性和值。
【4月更文挑战第5天】css核心组成部分包括选择器、属性和值。
18 7
|
1月前
|
前端开发 开发者
提升你的CSS技能:深入理解伪类选择器和伪元素选择器!
【4月更文挑战第2天】 提升你的CSS技能:深入理解伪类选择器和伪元素选择器!
32 12
|
2月前
|
前端开发
CSS语言的选择器
CSS语言的选择器
|
2月前
|
前端开发
web前端开发---CSS基础选择器
web前端开发---CSS基础选择器
22 1
|
1天前
|
前端开发
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
|
5天前
|
前端开发
CSS选择器
CSS选择器
10 1
|
11天前
|
前端开发 开发者
【专栏:CSS基础篇】CSS选择器详解:精准定位网页元素
【4月更文挑战第30天】本文介绍了CSS选择器在Web开发中的重要性,详细阐述了基础选择器(元素、类、ID、属性和伪类/伪元素)及复杂选择器(后代、子元素、相邻兄弟和一般兄弟)的用法。通过理解并巧妙运用这些选择器,开发者能更高效地控制页面样式,提高代码的可维护性。CSS预处理器如Sass、LESS进一步增强了选择器的功能,助力创建优雅且强大的样式表,实现精准的网页设计。
|
12天前
|
前端开发 容器
【Web 前端】css选择器有哪些?
【4月更文挑战第22天】【Web 前端】css选择器有哪些?
|
25天前
|
前端开发
css的选择器,优先级和示例
css的选择器,优先级和示例
9 1
|
26天前
|
移动开发 前端开发 JavaScript
CSS选择器 前端开发入门笔记(十)
CSS选择器 前端开发入门笔记(十)
22 1