zoukankan      html  css  js  c++  java
  • Python学习第63天(css选择器、伪类)

      css,暂时把他比作给html加各种花里胡哨东西的插件。

      那么如果你要使用css给您的html增加一些东西,你必须得先导入他,怎么操作呢?

      一、css引入方式,以下四种方法:

        1.直接就在你的原有标签中增加style属性,用键值对去描述他。

          <p style="color:font-weight:bold;">">引入方式1</p>

        2.head标签里面增加<style>标签      

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            p{
            color:red}
        </style>
    </head>
    <body>
        <p>引入方式2</p> 
    </body>
    </html>

        3.放入文件内,使用link这种半标签进行导入(链接式引入)

          <link href="mystyle.css" rel="stylesheet" type="text/css"/>

          这里的rel参数非常重要,必须书写,不然系统是不知道你导入的文件是一个css文件的

        4.通过加载文件,只是加载方式不同(导入式引入)

          <style type="text/css"> @import"mystyle.css"; 此处要注意.css文件的路径</style> 

      引入方式3(链接式引入)和引入方式4(导入式引入的区别)

        1.使用方法3,对导入文件数量没有限制,但是导入式只能导入一个

        2.加载方式不同,使用导入式引入,浏览器会预先加在html部分在进行css部分的渲染,如果网络出现延迟会出现没有渲染效果的html,但是链接式引入使用的是预先完成css部分的效果加载之后,再同步进行输出,只要能看到,就是完整的。

        综合这些因素,后期使用比较多的就是链接式引入方式

      二、css的选择器

        成功导入了css部分之后,面临的下一个问题就是,如何找到我们要进行渲染的部分,我把伪类放到了一个单独的部分,姑且就说是三种吧

        找到了之后就可以在中括号里面进行自由的编辑了。

        1.基础选择器。

          * : 通用元素选择器,匹配任何元素 * { margin:0; padding:0; }

          E : 标签选择器,匹配所有使用E标签的元素 p { color:green; }

          .info和E.info: class选择器,匹配所有class属性中包含info的元素 .info { background:#ff0; } p.info { background:blue; }

            这里应该注意class就是一个我们给取得名字,不是Python中出现的类

          #info和E#info id选择器,匹配所有id属性等于footer的元素 #info { background:#ff0; } p#info { background:#ff0; }

            #开头就表示要找id,id又是唯一的,当然能够找到

        2.组合选择器

           E,F 多元素选择器,同时匹配所有E元素或F元素,E和F之间用逗号分隔,

            可以是两个,当然也可以是很多个,然后选择的方式很多,可以使用.class和#id的方式,混搭也是没有问题的

           E F 后代元素选择器,匹配所有属于E元素后代的F元素,E和F之间用空格分隔

            这个主要用在发生嵌套的部分,如果嵌套了很多层,他会一直找下去,各一两层都是没问题的

           E > F 子元素选择器,匹配所有E元素的子元素F

            和上面的空格进行一个区分吧,上面是不管隔了多少层都会向下找,但是这个只会找挨着的那一层,基本就是只找儿子,有点像西周的分封制,我只对自己的主子负责,我的奴隶不是我主子的奴隶

          E + F       毗邻元素选择器,匹配所有紧随E元素之后的同级元素F

            用的比较少,主要是用在确定相邻关系的时候才会用,这样以后可以直接写,相邻就发生,不相邻就不触发,还是蛮好的

        重在练习,看下演示吧!  

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
    
            .div1>p{
                background-color: aqua;
                color: deeppink;
            }
    
            .main2>div{
                background-color: blueviolet;
                color: chartreuse;
            }
        </style>
    </head>
    <body>
    
          <div class="div1">hello1
              <div class="div2">hello2
                  <div>hello4</div>
                  <p>hello5</p>
              </div>
              <p>hello3</p>
          </div>
          <p>hello6</p>
    
    <hr>
    
         <div class="main2">1
           <div>2
               <div>
               </div>
           </div>
           <div>
               </div>
         </div>
    </body>
    </html>

          注意嵌套规则

            a.块级元素可以包含内联元素或某些块级元素,但内联元素不能包含块级元素,它只能包含其它内联元素。

            b.有几个特殊的块级元素只能包含内联元素,不能包含块级元素。如h1,h2,h3,h4,h5,h6,p,dt

            c.div内可以包含div

            d.块级元素与块级元素并列、内联元素与内联元素并列。

        3.属性选择器

          属性这个东西,可以是固定的系统里面有的,也可以是你自己编的

          需要注意属性的一个问题style = “sb  dsb”表示的是style的属性可能是sb或是dsb,而不是“sb  dsb”

          E[att] 匹配所有具有att属性的E元素,不考虑它的值。(注意:E在此处可以省略,比如“[cheacked]”。以下同。) p[title] { color:#f00; }

          E[att=val] 匹配所有att属性等于“val”的E元素 div[class=”error”] { color:#f00; }

          E[att~=val] 匹配所有att属性具有多个空格分隔的值、其中一个值等于“val”的E元素 td[class~=”name”] { color:#f00; }

          E[attr^=val] 匹配属性值以指定值开头的每个元素 div[class^="test"]{background:#ffff00;}

          E[attr$=val] 匹配属性值以指定值结尾的每个元素 div[class$="test"]{background:#ffff00;}

          E[attr*=val] 匹配属性值中包含指定值的每个元素 div[class*="test"]{background:#ffff00;}

      

      三、伪类

        典型的一个案例就是,一个超链接,你悬浮在上面一个样子,正常时候一个样子,点完之后一个样子

        

    <style type="text/css">
        a:link{
            color: red;    正常时候的颜色
        }
        a:visited {
            color: blue;   访问之后的颜色
        }
        a:hover {
            color: green;  悬停时候的颜色
        }
        a:active {
            color: yellow; 触发时候的颜色
        }
    </style>
    </head>
    <body>
        <a href="01-hello-world.html">hello-world</a>
    </body>
    </html>

        a:link(没有接触过的链接),用于定义了链接的常规状态。

        a:hover(鼠标放在链接上的状态),用于产生视觉效果。

        a:visited(访问过的链接),用于阅读文章,能清楚的判断已经访问过的链接。

        a:active(在链接上按下鼠标时的状态),用于表现鼠标按下时的链接状态。

          伪类选择器 : 伪类指的是标签的不同状态:

            a ==> 点过状态 没有点过的状态 鼠标悬浮状态 激活状态

            a:link {color: #FF0000} /* 未访问的链接 */

            a:visited {color: #00FF00} /* 已访问的链接 */

            a:hover {color: #FF00FF} /* 鼠标移动到链接上 */

            a:active {color: #0000FF} /* 选定的链接 */ 格式: 标签:伪类名称{ css代码; }

        还有一个before after的伪类不是很明白,不知道到底怎么用

        暂时先不总结到这里。

        昨天的空白总算补上了,今天不是很开心,觉得自己太大度了,该小气的时候还是要小心眼一点啊。

          

  • 相关阅读:
    倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3
    android studio导入项目时一直在Grandle Build Running
    Android Studio真机测试失败-----''No target device found"
    androidSDK配置环境变量
    Android Studio真机测试
    Android Studio修改默认Activity继承AppCompatActivity
    第一次使用Android Studio时你应该知道的一切配置(二):新建一个属于自己的工程并安装Genymotion模拟器
    第一次使用Android Studio时你应该知道的一切配置
    打开Android Studio时报Unable to access Android SDK add-on list
    友盟统计小白教程:创建应用,申请appkey
  • 原文地址:https://www.cnblogs.com/xiaoyaotx/p/12776360.html
Copyright © 2011-2022 走看看