Blogger Information
Blog 70
fans 4
comment 5
visits 103798
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
选择器优先级/前端组件样式模块化原理与实现/常用伪类选择器的使用方式(模块化元素组件)
JiaJieChen
Original
873 people have browsed it

一.选择器优先级

选择器 语法
id选择器 语法是 #+di名称{} id选择器与元素属性选择器不同的是,id选择器选择id的时候需要在前面加上#号
class选择器 语法是 .+类名称{} class选择器的前缀名是英文句号.可以给不同的属性改变样式只要是类名一致就行
标签/元素选择器 语法是 元素名称+{}元素选择器是找到或选择到相同类型的元素去改变内部样式,如果不是同类元素则不会改变基本样式

1.标签/元素选择器

元素标签优先级: 标签选择器在style出现多个同名称元素属性也一样,样式则按照从上到下顺序进行变化

2.class和id选择器

由此可以看出class和id选择器权重大于标签选择器,那么class和id选择器谁大谁小呢?请看下图

由此可以看出id选择器权重比class选择器还要大,因此我们可以得出一个结论:id选择器>class选择器>标签/元素选择器

3.代码块

       
  1. lang="en">
  2. charset="UTF-8"/>
  3. http-equiv="X-UA-Compatible"content="IE=edge"/>
  4. name="viewport"content="width=device-width, initial-scale=1.0"/>
  5. </span><span class="pln">选择器优先级</span><span class="tag">
  6. type="text/css">
  7. *{
  8. padding:0;
  9. margin:0;
  10. }
  11. /* 1.标签/元素选择器
  12. 标签选择器在style出现多个同名称元素属性也一样,样式则按照从上到下顺序进行变化 */
  13. /* div {
  14. border: 1px solid;
  15. background: cyan;
  16. }
  17. div {
  18. border: 1px solid;
  19. background: lightpink;
  20. }
  21. div {
  22. border: 1px solid;
  23. background: limegreen;
  24. } */
  25. /* 2.class和id选择器 */
  26. /* 由此可以看出class和id选择器权重大于标签选择器 */
  27. /* #box1 {
  28. border: 1px solid;
  29. background: cyan;
  30. }
  31. .box {
  32. border: 1px solid;
  33. background: lightpink;
  34. }
  35. div {
  36. border: 1px solid;
  37. background: limegreen;
  38. } */
  39. /* 3.class和id选择器权重比较 */
  40. /* 由此可以看出id选择器权重比class选择器还要大 */
  41. #box1 {
  42. border:1pxsolid;
  43. background:cyan;
  44. }
  45. .box{
  46. border:1pxsolid;
  47. background:lightpink;
  48. }
  49. div{
  50. border:1pxsolid;
  51. background:limegreen;
  52. }
  53. id="box1"class="box">box1
  • box2
  • box3
  • box4
  • box5

  • 二.前端组件样式模块化原理与实现

    样式表 语法
    link外部样式表 外部样式表link是标签是在head内部使用,引入css样式 rel是必须要输入的属性 内容是stylesheet表示引入的是一个css样式表文件,type填text/css说明是标准固定的css文件,href属性表示的是css文件路径 引入html外部的css文件
    @impord外部样式表 url()内部输入css文件路径
    style=””内部样式表 内部样式表 style type=”text/css”是写在 head中
    style=””行内样式表 行内样式表 style 不同的是是写在body 行元素中

    1.行内样式表

    行内样式表我们把style写在body标签中去改变每一行的样式

           
    1. style="background:plum">box1
  • style="background:lightpink">box2
  • style="background:lightsalmon">box3
  • style="color:rgb(250,250,250);background:rgb(98,212,31)">
  • box4
  • style="background:lightskyblue">box5
  • 2.内部样式表

    内部样式表是把style写在head里面,可以定义元素的样式,可以用选择器选择属性去改变样式,我用了元素选择器,id选择器,class选择器

           
    1. charset="UTF-8"/>
    2. http-equiv="X-UA-Compatible"content="IE=edge"/>
    3. name="viewport"content="width=device-width, initial-scale=1.0"/>
    4. </span><span class="pln">内部样式表</span><span class="tag">
    5. type="text/css">
    6. /* 内部样式表是把style写在head里面,可以定义元素的样式,可以用选择器选择属性去改变样式 */
    7. div{
    8. border:1pxsolid;
    9. width:300px;
    10. height:2em;
    11. text-align:center;
    12. background:lightpink;
    13. }
    14. .box{
    15. background:limegreen;
    16. }
    17. #box1 {
    18. background:red;
    19. }

    3.外部样式表(模块化)

    这里采用的是内部样式表,可以看到在一段文字中,加入了太多样式会觉得看起代码来很复杂,接下来我们用外部样式表看看如何去简化我们的代码

    ①创建一个css文件

    ②把写好的样式放到css文件中

    ③html引入外部css文件

    这里我们用@importurl()引入外部的css文件,就可以把我们的样式给引入进去啦,这样代码看起来会更简洁!!!

    3.代码块

           
    1. lang="en">
    2. charset="UTF-8"/>
    3. http-equiv="X-UA-Compatible"content="IE=edge"/>
    4. name="viewport"content="width=device-width, initial-scale=1.0"/>
    5. </span><span class="pln">外部样式表</span><span class="tag">
    6. type="text/css">
    7. /* @imoprt url 引入外部css文件 */
    8. @importurl(外部样式表.css);
    9. “有规划的人生叫蓝图,没有规划的人生叫拼图。”

    三.常用伪类选择器的使用方式(模块化元素组件)

    伪类 含义
    :nth-of-type(n) 选择任何一个元素
    :first-of-type 选择第一个元素
    :last-of-type 选择最后一个元素
    :nth-last-of-type() 选择倒数某一个元素
    :only-of-type 唯一子元素的元素

    1.:nth-of-type(n),选择任何一个元素

    只要拿到了元素的入口,就可以用 伪类选择器:nth-of-type(n)元素里面的任何一个元素

    2.:first-of-type,选择第一个元素

    :first-of-type 选择第一个元素

    3.:last-of-type,选择第最后一个元素

    :last-of-type 选择最后一个元素

    4.nth-last-of-type(),选择倒数某一个元素

    :nth-last-of-type(2)选择倒数第二个元素

    4.:only-of-type,唯一子元素的元素

    :only-of-type 选择唯一的子元素

    5.:代码块

           
    1. lang="en">
    2. charset="UTF-8"/>
    3. http-equiv="X-UA-Compatible"content="IE=edge"/>
    4. name="viewport"content="width=device-width, initial-scale=1.0"/>
    5. </span><span class="pln">常用伪类选择器的使用方式</span><span class="tag">
    6. type="text/css">
    7. div{
    8. border:1pxsolid;
    9. width:400px;
    10. text-align:center;
    11. }
    12. /* 1.只要拿到了元素的入口,就可以用 伪类选择器:nth-of-type(n)元素里面的任何一个元素 */
    13. /* #box > div:nth-of-type(2) {
    14. background: aqua;
    15. } */
    16. /*2. first-of-type 选择第一个元素 */
    17. /* #box div:first-of-type {
    18. background-color: pink;
    19. } */
    20. /* 3.last-of-type 选择最后一个元素 */
    21. /* #box div:last-of-type {
    22. background-color: red;
    23. } */
    24. /* 4.nth-last-of-type(2)选择倒数第二个元素 */
    25. /* #box div:nth-last-of-type(2) {
    26. border: seashell;
    27. background: plum;
    28. } */
    29. /* 5.only-of-type 选择唯一的子元素 */
    30. #box span:only-of-type {
    31. background-color:plum;
    32. }
    33. id="box">
    34. box1
    35. box2
    36. box3
    37. box4
    38. box5
    Correcting teacher:天蓬老师天蓬老师

    Correction status:qualified

    Teacher's comments:极用心,非常棒,照这样的学习态度 ,不成功都难
    Statement of this Website
    The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
    All comments Speak rationally on civilized internet, please comply withNews Comment Service Agreement
    0 comments
    Author's latest blog post
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!