• css3-选择器


    目录

    1.三种基本选择器

    1.1 标签选择器

    1.2 类选择器 class

    1.3 id选择器

    2. 层次选择器

    2.1 后代选择器

    2.2 子选择器

    2.3 相邻兄弟选择器

    2.4 通用选择器

    3.结构伪类选择器 

    4. 属性选择器


    1.三种基本选择器

    作用:选择页面上的某一个或者某一类元素

    1.1 标签选择器

    ​格式: 标签 { }

    弊端:如果存在多个相同标签(如多个h1),只能做到要变一起变,无法进行单独设置

    目录结构:

     html结构:

    1. html>
    2. <html lang="en" xmlns:th="http://www.thymeleaf.org">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>标签选择器title>
    6. <link rel="stylesheet" href="css/style.css">
    7. head>
    8. <body>
    9. <h1>Javah1>
    10. <h1>biuh1>
    11. <p>数据结构p>
    12. body>
    13. html>

    css样式:

    1. /*标签选择器会选择到页面上所有这个标签的元素*/
    2. h1{
    3. color: blueviolet;
    4. background: beige;
    5. border-radius: 24px;
    6. }
    7. p{
    8. font-size: 16px;
    9. }

    1.2 类选择器 class

    选择所有class一致的标签,跨标签

    ​格式: .类名{}

    好处:可以对多个标签进行归类,实现了复用

    1. html>
    2. <html lang="en" xmlns:th="http://www.thymeleaf.org">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Titletitle>
    6. <style>
    7. /*类选择器格式: .class的名称{}
    8. 好处:可以多个标签归类,实现了复用
    9. */
    10. .biu{
    11. color: aquamarine;
    12. }
    13. .lwy{
    14. color: blueviolet;
    15. }
    16. style>
    17. head>
    18. <body>
    19. <h1 class="biu">aaah1>
    20. <h1 class="lwy">bbbh1>
    21. <h1 class="biu">ccch1>
    22. <p class="lwy">dddp>
    23. body>
    24. html>

    1.3 id选择器

    全局唯一

    ​格式: #id名{}

    不遵循就近原则,id选择器 > class选择器 > 标签选择器 

    1. html>
    2. <html lang="en" xmlns:th="http://www.thymeleaf.org">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Titletitle>
    6. <style>
    7. /*id选择器格式: #id名称{}
    8. id必须保证全局唯一,不可被复用
    9. 不遵循就近原则 id选择器 > class选择器 > 标签选择器
    10. */
    11. #biu{
    12. color: deepskyblue;
    13. }
    14. .style1{
    15. color: greenyellow;
    16. }
    17. h1{
    18. color: bisque;
    19. }
    20. style>
    21. head>
    22. <body>
    23. <h1 id="biu">标题1h1>
    24. <h1 class="style1">标题2h1>
    25. <h1 class="style1">标题3h1>
    26. <h1>标题4h1>
    27. body>
    28. html>

    2. 层次选择器

    2.1 后代选择器

    在某个元素的后面起作用

    控制body后的所有p标签元素:

    1. html>
    2. <html lang="en" xmlns:th="http://www.thymeleaf.org">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Titletitle>
    6. <style>
    7. /*后代选择器*/
    8. body p{
    9. background: deepskyblue;
    10. }
    11. style>
    12. head>
    13. <body>
    14. <p>p1p>
    15. <p>p2p>
    16. <p>p3p>
    17. <ul>
    18. <li>
    19. <p>p4p>
    20. li>
    21. <li>
    22. <p>p5p>
    23. li>
    24. <li>
    25. <p>p6p>
    26. li>
    27. ul>
    28. body>
    29. html>

    2.2 子选择器

    控制某一代元素(网站都是树形层次结构)

    1. html>
    2. <html lang="en" xmlns:th="http://www.thymeleaf.org">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Titletitle>
    6. <style>
    7. /*子选择器*/
    8. body>p{
    9. background: beige;
    10. }
    11. style>
    12. head>
    13. <body>
    14. <p>p1p>
    15. <p>p2p>
    16. <p>p3p>
    17. <ul>
    18. <li>
    19. <p>p4p>
    20. li>
    21. <li>
    22. <p>p5p>
    23. li>
    24. <li>
    25. <p>p6p>
    26. li>
    27. ul>
    28. body>
    29. html>

    2.3 相邻兄弟选择器

    同辈之间,对上不对下

    1. html>
    2. <html lang="en" xmlns:th="http://www.thymeleaf.org">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Titletitle>
    6. <style>
    7. /*兄弟选择器*/
    8. .active+p{
    9. background: deeppink;
    10. }
    11. style>
    12. head>
    13. <body>
    14. <p>p0p>
    15. <p class="active">p1p>
    16. <p>p2p>
    17. <p>p3p>
    18. <ul>
    19. <li>
    20. <p>p4p>
    21. li>
    22. <li>
    23. <p>p5p>
    24. li>
    25. <li>
    26. <p>p6p>
    27. li>
    28. ul>
    29. <p class="active">p7p>
    30. <p>p8p>
    31. body>
    32. html>

    2.4 通用选择器

    当前选中元素的向下所有兄弟元素

    1. html>
    2. <html lang="en" xmlns:th="http://www.thymeleaf.org">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Titletitle>
    6. <style>
    7. /*后代选择器*/
    8. /*body p{*/
    9. /* background: deepskyblue;*/
    10. /*}*/
    11. /*子选择器*/
    12. /*body>p{*/
    13. /* background: beige;*/
    14. /*}*/
    15. /*兄弟选择器*/
    16. /*.active+p{*/
    17. /* background: deeppink;*/
    18. /*}*/
    19. /*通用选择器*/
    20. .active~p{
    21. background: lightblue;
    22. }
    23. style>
    24. head>
    25. <body>
    26. <p>p0p>
    27. <p class="active">p1p>
    28. <p>p2p>
    29. <p>p3p>
    30. <ul>
    31. <li>
    32. <p>p4p>
    33. li>
    34. <li>
    35. <p>p5p>
    36. li>
    37. <li>
    38. <p>p6p>
    39. li>
    40. ul>
    41. <p class="active">p7p>
    42. <p>p8p>
    43. body>
    44. html>

    3.结构伪类选择器 

    伪类:过滤一些条件判断 

    nth-child(1):选中当前元素父级的第一个元素,且必须是当前元素才生效(即java中的一对一关系)

    • 举例:p:nth-child(1) :首先定位到p标签的父级元素,然后再选中该父级元素下的第一个元素(且必须为p标签)

    nth-of-type(2):选择父元素里面第二个指定类型的元素

    • 举例:p:nth-of-type(2):首先定位到p标签的父级元素,然后再选中该父级元素下第二个类型为p的元素 
    1. html>
    2. <html lang="en" xmlns:th="http://www.thymeleaf.org">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Titletitle>
    6. <style>
    7. /*选中ul的第一个子元素*/
    8. ul li:first-child{
    9. background: lightblue;
    10. }
    11. /*选中ul的最后一个子元素*/
    12. ul li:last-child{
    13. background: deeppink;
    14. }
    15. /*选中p1 -> 定位到父元素,选择当前的第一个元素
    16. nth-child:选中当前元素父级的第一个元素
    17. */
    18. p:nth-child(2){
    19. background: beige;
    20. }
    21. /*nth-of-type(2):选择父元素里面第二个指定类型的元素*/
    22. p:nth-of-type(2){
    23. background: lavender;
    24. }
    25. a:hover{
    26. background: darkblue;
    27. }
    28. style>
    29. head>
    30. <body>
    31. <a href="">123a>
    32. <h1>h1h1>
    33. <p >p1p>
    34. <p>p2p>
    35. <p>p3p>
    36. <ul>
    37. <li>li1li>
    38. <li>li2li>
    39. <li>li3li>
    40. ul>
    41. body>
    42. html>

    4. 属性选择器

    本质:id+class的结合

    1)选中存在id属性的元素

    格式:标签[属性]{样式}

    页面效果:

    编码实现:

    1. html>
    2. <html lang="en" xmlns:th="http://www.thymeleaf.org">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Titletitle>
    6. <style>
    7. .demo a{
    8. float: left;
    9. display: block;
    10. height: 50px;
    11. width: 50px;
    12. border-radius: 10px;
    13. background: deepskyblue;
    14. text-align: center;
    15. color: gainsboro;
    16. text-decoration: none;
    17. margin-right: 5px;
    18. font:bold 20px/50px Arial;
    19. }
    20. /*选中存在id属性的元素 格式:标签[属性]{样式}*/
    21. a[id]{
    22. background: beige;
    23. }
    24. style>
    25. head>
    26. <body>
    27. <p class="demo">
    28. <a href="http:www.baidu.com" class="links item first" id="first">1a>
    29. <a href="" class="links item active" target="_blank " title="test">2a>
    30. <a href="images/123.html" class="links item">3a>
    31. <a href="images/1.png" class="links item">4a>
    32. <a href="images/1.jpg" class="links item">5a>
    33. <a href="abc" class="links item">6a>
    34. <a href="/a.pdf" class="links item">7a>
    35. <a href="/abc.pdf" class="links item">8a>
    36. <a href="abc.doc" class="links item">9a>
    37. <a href="abcd.doc" class="links item last">10a>
    38. p>
    39. body>
    40. html>

    2)选中存在id属性为first的元素

    格式:标签[属性名=属性值]{样式}

    在上述代码中做如下修改:

    1. /*选中存在id属性为first的元素*/
    2. a[id=first]{
    3. background: deeppink;
    4. }

    3)选中class中带有‘links’的元素 

    =:绝对等于

    *=:相当于通配符,包含关系

    1. /*选中class中带有‘links’的元素*/
    2. a[class*="links"]{
    3. background: chartreuse;
    4. }

    4)选中href中以‘https’开头的元素 -> 正则表达式

    以....开始:^=

    1. /*选中href中以'https'开头的元素*/
    2. a[href^=https]{
    3. background: lavender;
    4. }

    5)选中href以‘pdf’结尾的元素

    以...结尾:$=

    1. /*选中href以‘pdf’结尾的元素*/
    2. a[href$=pdf]{
    3. background: bisque;
    4. }
  • 相关阅读:
    《数据结构》八大排序(详细图文分析讲解)
    Spark On Yarn基本原理及部署
    使用pystaller打包qy图形界面遇到的问题:This application failed to start...
    dreamweaver动漫HTML网站制作——海贼王主题网页1页海贼王我当定了(HTML+CSS)
    $watch实例方法
    【PAT(甲级)】1072 Gas Station
    课程设计 | 教学设备管理系统
    R语言统计与绘图:生存率的比较
    (免费分享)基于javaweb,ssm旅游景点预定系统
    数说方法论:针对个体消费者做批量定制化营销
  • 原文地址:https://blog.csdn.net/qq_61727355/article/details/126486007