5、前端开发:CSS知识总结——常用选择器的总结

简介: 5、前端开发:CSS知识总结——常用选择器的总结

-1-  元素选择器(标签选择器)


       语法:标签名{}

h1{
}
p{
}

-2-  id选择器


       选中对应id属性值的元素


       语法:#id属性值{}


       注意:id属性值是独一无二的存在


#p1{
}

-3-  class选择器


       选中对应class属性值的元素


       语法:.class属性值{}


       注意:id选择器和class选择器很像,只不过class属性值可以复用


.p1{
}

-4-  通配选择器


       选中页面中所有的元素


       语法:*{}


-5-  复合选择器



       基本语法格式:元素1,元素2{样式声明}


       注意:


       元素1元素2之间用逗号隔开

       逗号可以理解为和的意思

       并集选择器通常用于集体声明

       例:


       要求1:把熊大熊二改成蓝色

       要求2:把熊大熊二改成蓝色且把小猪佩奇一家

       同时改成蓝色


       html代码如下(示例):


     <body>
        <!--并集选择器-->
        <div class="nav1">
            熊大
        </div>
        <p>熊二</p>
        <span>光头强</span>
        <ul class="pig">
            <li>小猪佩奇</li>
            <li>猪爸爸</li>
            <li>猪妈妈</li>
        </ul>
     </body>    

       代码如下(示例):


           /*并集选择器,可以选择多组标签,同时为他们定义相同样式*/

           /*要求1:把熊大熊二改成蓝色*/

         

            /*并集选择器,可以选择多组标签,同时为他们定义相同样式*/
            /*要求1:把熊大熊二改成蓝色*/
            /*.nav1,p {
                color: blue;
            }*/
            /*要求2:把熊大熊二改成蓝色且把小猪一家改成蓝色*/
            .nav,p,.pig li {
                color: blue ;
            }

交集选择器又称标签指定式选择器


作用:选择出同时符合两个标签的内容


格式:1.由两个选择器构成,其中第一个为标签选择器,第二个为class选择器或id选择器;2.两个选择器之间不能有空格


例如:老师要求他的班级中所有学生把头发染成红色


div.student{
    color: red;
}

-6-  关系选择器


后代选择器(以空格     分隔)

子元素选择器(以大于 > 号分隔)

相邻兄弟选择器(以加号 + 分隔)

普通兄弟选择器(以波浪号 ~ 分隔)

       后代选择器用于选取某元素的后代元素。


       以下实例选取所有

元素插入到

元素中:


div p
{
  background-color:yellow;
}

       子元素选择器(Child selectors)只能选择作为某元素直接/一级子元素的元素。


       以下实例选择了

元素中所有直接子元素


div>p
{
  background-color:yellow;
}

       相邻兄弟选择器(Adjacent sibling selector)可选择紧接在另一元素后的元素,且二者有相同父元素。


       如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。


       以下实例选取了所有位于

元素后的第一个

元素:

div+p
{
  background-color:yellow;
}

       后续兄弟选择器选取所有指定元素之后的相邻兄弟元素。


       以下实例选取了所有

元素之后的所有相邻兄弟元素

:


div~p
{
  background-color:yellow;
}

-7-  属性选择器


       具有特定属性的HTML元素样式不仅仅是class和id。


       注意:IE7和IE8需声明!DOCTYPE才支持属性选择器!IE6和更低的版本不支持属性选择器。


[title]
{
    color:blue;
}
[title=runoob]
{
    border:5px solid green;
}


-8-  伪类选择器


       -伪类用来描述一个元素的特殊状态


       比如:第一个元素,被点击的元素,鼠标移入的元素···


       -特点:一般请情况下,使用:开头


       1、 :first-child 第一个子元素


       2、 :last-child 最后一个子元素


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


               特殊值: n 所有的


               2n或even 选中偶数


               2n+1或odd 选中奇数


       —以上这些伪类都是根据所有的子元素进行排序


       1、:first-of-type


       2、:last-of-type


       3、:nth-of-type()


       功能跟上面相似,


       —不同的是,这是在同类型的子元素中去选择

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      /*去掉项目符号*/
      ul {
        list-style: none;
      }
      /* 需求一:将ul里的第一个li自动一直设置为红色 */
      /* ul>li:first-child{color:red} */
      /* ul>li:last-child{color:blue} */
      /* ul>li:not(:nth-child(3)){color: green;} */
      /* ul>li:not(:nth-of-type(3)){color: green;} */
      /* li:nth-child(1) {
        color: pink;
      } */
      /* li:nth-of-type(1){
        background-color: red;
      } */
      li:not(:first-of-type){
        font-size: 50px;
      }
    </style>
  </head>
  <body>
    <h1>沁园春·雪</h1>
    <h3>毛泽东</h3>
    <ul>
      <span>测试</span>
      <p>北国风光,千里冰封,万里雪飘。</p>
      <li>望长城内外,惟余莽莽;大河上下,顿失滔滔。</li>
      <li>山舞银蛇,原驰蜡象,欲与天公试比高。</li>
      <li>须晴日,看红装素裹,分外妖娆。</li>
      <li>江山如此多娇,引无数英雄竞折腰。</li>
      <li>惜秦皇汉武,略输文采;唐宗宋祖,稍逊风骚。</li>
      <li>一代天骄,成吉思汗,只识弯弓射大雕。</li>
    </ul>
  </body>
</html>

 

沁园春·雪

 

毛泽东

 

        测试

       

    北国风光,千里冰封,万里雪飘。

       

  • 望长城内外,惟余莽莽;大河上下,顿失滔滔。
  •    

  • 山舞银蛇,原驰蜡象,欲与天公试比高。
  •    

  • 须晴日,看红装素裹,分外妖娆。
  •    

  • 江山如此多娇,引无数英雄竞折腰。
  •    

  • 惜秦皇汉武,略输文采;唐宗宋祖,稍逊风骚。
  •    

  • 一代天骄,成吉思汗,只识弯弓射大雕。
  •  

     


    -9-  伪元素选择器

    ::first-letter表示第一个字母,例如:p::first-letter{}

        <style>
            p::first-letter{
                font-size: 30px;
                color: blueviolet;
            }
        </style>

    ::first-line表示第一行(第一行内容根据屏幕大小来决定显示多少字),例如: p::first-line{}

        <style>
            p::first-line{
                color: blue;
            }
        </style>

    ::selection表示选中的内容


    p::selection{
                color: aqua;
            }
    ::bef

    ore表示元素的开始,::after表示元素的最后,before和after必须结合content属性来使用


    p::after{
                content: "hahaha";
                color: red;
            }
            p::before{
                content: "hehehe";
                color: coral;
            }
    相关文章
    |
    21小时前
    |
    前端开发
    |
    3天前
    |
    前端开发
    【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
    【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
    |
    7天前
    |
    前端开发
    CSS选择器
    CSS选择器
    11 1
    |
    12天前
    |
    JavaScript 前端开发
    【Web 前端】 jQuery 里的 ID 选择器和 class 选择器有何不同?
    【5月更文挑战第1天】【Web 前端】 jQuery 里的 ID 选择器和 class 选择器有何不同?
    |
    13天前
    |
    缓存 移动开发 前端开发
    【专栏:HTML与CSS前端技术趋势篇】HTML与CSS在PWA(Progressive Web Apps)中的应用
    【4月更文挑战第30天】PWA(Progressive Web Apps)结合现代Web技术,提供接近原生应用的体验。HTML在PWA中构建页面结构和内容,响应式设计、语义化标签、Manifest文件和离线页面的创建都离不开HTML。CSS则用于定制主题样式、实现动画效果、响应式布局和管理字体图标。两者协同工作,保证PWA在不同设备和网络环境下的快速、可靠和一致性体验。随着前端技术进步,HTML与CSS在PWA中的应用将更广泛。
    |
    13天前
    |
    前端开发 JavaScript 开发者
    【专栏:HTML与CSS前端技术趋势篇】前端框架(React/Vue/Angular)与HTML/CSS的结合使用
    【4月更文挑战第30天】前端框架React、Vue和Angular助力UI开发,通过组件化、状态管理和虚拟DOM提升效率。这些框架与HTML/CSS结合,使用模板语法、样式管理及组件化思想。未来趋势包括框架简化、Web组件标准采用和CSS在框架中角色的演变。开发者需紧跟技术发展,掌握新工具,提升开发效能。
    |
    13天前
    |
    前端开发 JavaScript UED
    【专栏:HTML 与 CSS 前端技术趋势篇】Web 性能优化:CSS 与 HTML 的未来趋势
    【4月更文挑战第30天】本文探讨了CSS和HTML在Web性能优化中的关键作用,包括样式表压缩、选择器优化、DOM操作减少等策略。随着未来趋势发展,CSS模块系统、自定义属性和响应式设计将得到强化,HTML新特性也将支持复杂组件构建。同时,应对浏览器兼容性、代码复杂度和性能功能平衡的挑战是优化过程中的重要任务。通过案例分析和持续创新,我们可以提升Web应用性能,创造更好的用户体验。
    |
    13天前
    |
    移动开发 前端开发 UED
    【专栏:HTML与CSS前端技术趋势篇】渐进式增强与优雅降级在前端开发中的实践
    【4月更文挑战第30天】前端开发中的渐进式增强和优雅降级是确保跨浏览器、跨设备良好用户体验的关键策略。渐进式增强是从基础功能开始,逐步增加高级特性,保证所有用户能访问基本内容;而优雅降级则是从完整版本出发,向下兼容,确保低版本浏览器仍能使用基本功能。实践中,遵循HTML5/CSS3规范,使用流式布局和响应式设计,检测浏览器特性,并提供备选方案,都是实现这两种策略的有效方法。选择合适策略优化网站,提升用户体验。
    |
    13天前
    |
    前端开发 开发者 UED
    【专栏:HTML与CSS前端技术趋势篇】网页设计中的CSS Grid与Flexbox之争
    【4月更文挑战第30天】本文对比了CSS Grid和Flexbox两种布局工具。Flexbox擅长一维布局,简单易用,适合导航栏和列表;CSS Grid则适用于二维布局,能创建复杂结构,适用于整个页面布局。两者各有优势,在响应式设计中都占有一席之地。随着Web标准发展,它们的结合使用将成为趋势,开发者需掌握两者以应对多样化需求。
    |
    13天前
    |
    前端开发 JavaScript 搜索推荐
    【专栏:HTML 与 CSS 前端技术趋势篇】HTML 与 CSS 在 Web 组件化中的应用
    【4月更文挑战第30天】本文探讨了HTML和CSS在Web组件化中的应用及其在前端趋势中的重要性。组件化提高了代码复用、维护性和扩展性。HTML提供组件结构,语义化标签增进可读性,支持用户交互;CSS实现样式封装、布局控制和主题定制。案例展示了导航栏、卡片和模态框组件的创建。响应式设计、动态样式、CSS预处理器和Web组件标准等趋势影响HTML/CSS在组件化中的应用。面对兼容性、代码复杂度和性能优化挑战,需采取相应策略。未来,持续发掘HTML和CSS潜力,推动组件化开发创新,提升Web应用体验。