加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

css中匹配的方式有什么?匹配的问题如何搞定?

发布时间:2023-08-01 14:52:15 所属栏目:语言 来源:
导读:  这篇文章主要给大家介绍css中匹配的相关内容,一些朋友可能知道css中匹配方式有模糊匹配和全局匹配,但是还是会遇到一些匹配相关的问题,因此这篇文章就给大家分享一下关于匹配的问题的解决方法,感兴趣的朋友可
  这篇文章主要给大家介绍css中匹配的相关内容,一些朋友可能知道css中匹配方式有模糊匹配和全局匹配,但是还是会遇到一些匹配相关的问题,因此这篇文章就给大家分享一下关于匹配的问题的解决方法,感兴趣的朋友可以参考。
 
      问题描述
 
      众所周知在写 css的时候,会根据html 中类的定义或者 id 的定义来写相应的 css代码。给不同的类定义不同的样式,当然为了能够少写一些代码,大家就会在css 中引用匹配。匹配有模糊匹配和全局匹配。匹配的方式有几种。当然也可以在 html 中写不同的类名,或者写相同的类名,就能够实现所有的样式的匹配。但有时候类名不能够写到相同,这样就会出现冗余的代码,就会造成代码复杂度的增强。为了减少代码的冗余,就出现了类的匹配。
 
      解决方案
 
      第 1 种就是利用 div 进行匹配,但这种匹配会给所有的 div 都使用相同的样式。
 
  <div>
 
  <div  id='div1'/>
 
  <div  id='div2'/>    
 
  </div>
 
  // 如果要设置内部所有 div 样式;则使用 > 标识符
 
  .parent>div{
 
  //style//
 
  }
 
      第 2 种是利用 class 定义的类进行匹配。这种匹配就相对精确,也有两种匹配方式。第 1 种匹配方式是利用箭头符号进行匹配。例如: [class^="icon-"]
 
  <!DOCTYPE html>
 
  <html>
 
  <head>
 
  <meta charset="UTF-8">
 
  <title>Title</title>
 
  <style>
 
  [class^="icon-"]{
 
  width: 100px;
 
  height: 50px;
 
  background-color: red;
 
  }
 
  </style>
 
  </head>
 
  <body>
 
  <div>1111</div>
 
  <div>2222</div>
 
  <div>3333</div>
 
  <div>4444</div>
 
  <div>5555</div>
 
  </body>
 
  </html>

      但这种匹配方式需要类名前面为 icon- 的才可以。如果类名前面还有其他的命名,就不能够发挥相应的效果。因此就可以使用另一种匹配方式。也就是类名中的全局匹配。例如:
 
      [class*=" icon-"] ,需要注意的是在 icon 前面有一个空格。而且需要将上面的箭头换为星号,这样就能够实现相应类名的全局匹配。
 
  <!DOCTYPE html>
 
  <html>
 
  <head>
 
  <meta charset="UTF-8">
 
  <title>Title</title>
 
  <style>
 
  [class*=" icon-"]{
 
  width: 100px;
 
  height: 50px;
 
  background-color: red;
 
  }
 
  </style>
 
  </head>
 
  <body>
 
  <div>1111</div>
 
  <div>2222</div>
 
  <div>3333</div>
 
  <div>4444</div>
 
  <div class="text-success  icon-t">555</div>
 
  </body>
 
  </html>
 
      这样就能够实现,只要类名中含有 Icon 的都可以实现样式的匹配。但这种匹配,对于开始为 icon 类名的就无法实现相应的效果,所以可以将两者配合使用。这样就可以完全的实现匹配效果。
 
      对于实现上述效果,有两种方式。第一是两者的配合使用,第二就是清除 icon 前面的空格。
 
  <!DOCTYPE html>
 
  <html>
 
  <head>
 
  <meta charset="UTF-8">
 
  <title>Title</title>
 
  <style>
 
  [class^="icon-"],[class*=" icon-"]{
 
  width: 100px;
 
  height: 50px;
 
  background-color: red;
 
  }
 
  </style>
 
  </head>
 
  <body>
 
  <div>1111</div>
 
  <div>2222</div>
 
  <div>3333</div>
 
  <div>4444</div>
 
  <div class="text-success  icon-test">555</div>
 
  </body>
 
  </html>
 
      这样就能够减少代码的冗余了。
 
      在写代码的过程中一定要学会减少代码的冗余,这样的程序就能够更好的运行。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章