博客园 首页 新随笔 联系 订阅 管理
  35 随笔 :: 0 文章 :: 0 评论 :: 17372 阅读

1.CSS 选择器

  (1)ID选择器

      格式:

         #elem{}

         html: <tag id="elem">content</tag> 

      注意:

        (1.1)在一个页面中,id是唯一的

        (1.2)命名规范:字母_-数字(数字不能作为开头)

        (1.3)命名方式:

              驼峰式

              短线式

              下划线式

      快捷创建: tag#id

 

  (2)Class选择器

      格式:

        .elem{}

        html <tag class="elem">content</tag>

      注意:

        (2.1)class选择器是可以复用的

        (2.2)可以添加多个class样式

        (2.3)多个样式的时候,优先级由CSS决定,而不是Class的顺序决定

       快捷创建:tag.class

 

  (3)标签选择器

      格式:

        tag{}

        html <tag></tag>

      使用场景:

        (3.1)去除某些样式的默认值

        (3.2)用于复杂的选择器中

    

  (4)群组选择器

      格式:

        可以通过逗号的方式给多个不同的选择器添加统一的CSS样式,达到代码的复用

        div,span,p{}

 

  (5)通配选择器

      格式:

        *{}

      使用场景:去掉所用样式的默认样式时

         

  (6)层次选择器

      后代 M N {}

      父子 M > N {}

      兄弟 M ~ N {} 当前M下所有的兄弟N标签(往下找N)

      相邻 M + N {} 当前M下相邻的N标签(往下找N)

 

  (7)属性选择器

      M[attribute]{}

      注:其中attribute可以为任何属性,例如:id、class、name

      例: 

1 div[name]{background-color: red;}
2 
3 <div name="box">bbbbb</div>
4 <div name="search">ccccc</div>

    解释:凡是带有name属性的标签都会被选中并设置样式

      (7.1) 完全匹配

          = :完全匹配

         M[attr="property1"]{}

         div[class="box"]{background: red;} = 所有属性为box的容器才被选中

 

      (7.2)部分匹配

          M[attr*="property1"]{}

          *= :部分匹配

          div[class*="search"]{background: red;} *=只要带有search即会被选中

 

      (7.3)起始匹配

          M[attr^="property1"]{}

          ^= :起始匹配        
          div[class^="search"]{background-color: red;}
 
      (7.4)结束匹配
          M[attr$="property1"]{}
          $= :结束匹配
          div[class$="search"]{background: red;} 
 
      (7.5)组合匹配
        M[attr1][attr2][attr3]....{ }
        组合匹配
 
        div[id][class]{background-color: red;}
   
        <div id="div1" class="div-elem">aaaa</div>
        <div id="div2">bbbb</div>

      

  (8)伪类选择器

     概念:CSS伪类用于向某些元素添加特殊效果。一般初始样式添加不上的时候,用伪类来添加

     格式:M:伪类{}

      (8.1) 鼠标伪类选择器

        :link 访问前的样式(只能添加给a标签)

        :visited 访问后的样式(只能添加给a标签)

        :hover 鼠标移入时的样式(可以添加给所有的标签)

        :active 鼠标按下时的样式(可以添加给所有的标签)

        如果四个伪类都生效,则要注意顺序,L、V、H、A

 

      (8.2) :after :before 伪类选择器

        :after 通过伪类的方式给元素增加一些内容,用content属性

        :before 通过伪类的方式给元素增加一些内容,用content属性

 

       (8.3) 表单元素伪类选择器

        :checked  input checkbox 被选中时的样式

        :disabled  input checkbox 禁用时的样式

        :focus   input text 聚焦时的样式

      (8.4) 结构伪类选择器

        :nth-of-type()

        :nth-child()

        角标是从1开始的,1代表第一项,2代表第二项,n代表无穷大

        2n代表偶数(2,4,6,8......) 2n+1代表奇数(1,3,5,7....)

        

        :first-of-type 第一个

        :last-of-type 最后一个

        only-of-type 仅有的一个

        注: :nth-of-type()和nth-child()的区别

          type:类型  child:孩子        

                  

posted on   Computer_Science  阅读(29)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示