• css篇


    博客园

    CSS篇

    阅读列表

    1.为什么学习css

    • html的缺陷

      • 不能够适应多种设备

      • 要求浏览器必须足够智能足够庞大

      • 数据和显示没有分开

      • 功能不够强大

    • css的优点

      • 使数据和显示分开

      • 降低网络的流量

      • 使整个网站视觉效果一致

      • 使开发效率提高了(耦合性降低,一个负责写html,一个负责写css)

    2.css的引入方法

    • 行内样式

      •  <div>
             <p style="color: green">我是一个段落</p>
         </div>
    • 内接样式

      •  <style type="text/css">
             /*写我们的css代码*/    
             span{
             color: yellow;
            }
         </style>
    • 外接样式-链接式

      •  <link rel="stylesheet" href="./index.css">html
    • 外接样式-导入式

      •  <style type="text/css">
                 @import url('./index.css');
         </style>

    3.css选择器

    • 标签选择器(标签名)

      • 标签选择器可以选中所有的标签元素,比如div,ul,li,p等,不管标签隐藏的多深,都能选中所有的标签,

    • 类选择器

      • 类就是class,任何的标签都可以加类,类可以重复,适于归类的概念,同一个标签中可以携带多个类,用空格隔开

        •  .lv{
                color: green;
           
            }
            .big{
                font-size: 40px;
            }
            .line{
              text-decoration: underline;
            }
        •  <!-- 公共类    共有的属性 -->
                <div>
                    <p class="lv big">段落1</p>
                    <p class="lv line">段落2</p>
                    <p class="line big">段落3</p>
           </div>
    • id选择器

      • 同一个页面中id不能重复,任何的标签都可以设置id,id命名规范,要以数字,下划线大小写严格区分,aa和AA就是两个不一样的属性值

      • css

         #box{
            background:green;
         }
                     
         #s1{
            color: red;
         }
         
         #s2{
            font-size: 30px;
         }

        html

         <body>
             <div id="box">娃哈哈</div>
             <div id="s1">爽歪歪</div>
             <div id="s2">QQ星</div>
         </body>
    • 高级选择器

      • 后代选择器

        • 用空格表示后代选择器

        •  .container p{
              color: red;        
           }
           .container .item p{
              color: yellow;
           }
      • 子代选择器

        • 用>表示子代选择器,比如div>p,仅仅表示的是当前div元素选中的子代(不包括孙子)元素P

        •  .container>p{
                color: yellowgreen;
           }
      • 并集选择器

        •  /*并集选择器*/
           h3,a{
              color: #008000;
              text-decoration: none;
                           
           }
        •  body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td {
                margin: 0;
                padding: 0
              }
           /*使用此并集选择器选中页面中所有的标签,页面布局的时候会使用*/
      • 交集选择器

        • 使用 . 表示交集选择器,第一个标签名必须是标签选择器,第二个标签必须是类选择器,语法:div.active,比如有一个< h4 class='active' >< h4> 这样的标签,name它表示两者选中之后元素共有的特性

        •  h4{
              100px;
              font-size: 14px;
           }
           .active{
              color: red;
              text-decoration: underline;
           }
           /* 交集选择器 */
           h4.active{
              background: #00BFFF;
           }
    • 更多选择器

      • 伪类选择器

        • 伪类悬着器一般会使用在超链接a标签中

                 /*link表示没有被访问的a标签的样式*/
                  .box ul li.item1 a:link{
                       
                      color: #666;
                  }
                  /*visited表示访问过后的a标签的样式*/
                  .box ul li.item2 a:visited{
                       
                      color: yellow;
                  }
                  /*hover表示鼠标悬停时a标签的样式*/
                  .box ul li.item3 a:hover{
                       
                      color: green;
                  }
                  /*active表示鼠标摁住的时候a标签的样式*/
                  .box ul li.item4 a:active{
                       
                      color: yellowgreen;
                  }
      • 伪标签选择器(伪元素选择器)

        •  /*设置第一个首字母的样式*/
                p:first-letter{
                      color: red;
                      font-size: 30px;
           
                  }
                   
           /* 在....之前 添加内容   这个属性使用不是很频繁 了解 使用此伪元素选择器一定要结合content属性*/
                  p:before{
                      content:'alex';
                  }
                   
                   
           /*在....之后 添加内容,使用非常频繁 通常与咱们后面要讲到布局 有很大的关联(清除浮动)*/
                  p:after{
                      content:'&';
                      color: red;
                      font-size: 40px;
                  }
      • 属性选择器

        •   /*根据for属性查找,找到所有又for属性的,设置字体颜色为红色*/
                      /*[for]{
                          color: red;
                      }*/
                       
                      /*找到for属性的值等于username的元素 字体颜色设为黄色*/
                      /*[for='username']{
                          color: yellow;
                      }*/
                       
                      /*以....开头 ^*/
                      /*[for^='user']{
                          color: #008000;
                      }*/
                       
                      /*以....结尾   $*/
                      /*[for$='vvip']{
                          color: red;
                      }*/
                       
                      /*包含某元素的标签*/
                      /*[for*="vip"]{
                          color: #00BFFF;
                      }*/
                       
                      /*指定标签的for属性
                      其中for属性的值是以空格隔开的值列表,
                      user1是值列表中的一个独立值*/
                      label[for~='user1']{
                          color: red;
                      }
                       
                      input[type='text']{
                          background: red;
                      }

    4.选择器权重

    • 当同一个标签有多重样式,遇到重叠项的设置又该听谁的呢,这就涉及到权重的问题了,

    • 行内样式 1000>id选择器 100>类选择器 10>标签选择器 1>继承样式

    • css的两大特性:继承性和层叠性

      • 继承性:给父级设置一些属性,子级继承父级的该属性,这就是css中的继承

        • 继承规则

        •  面向对象语言都会存在继承的概念,在面向对象语言中,继承的特点:继承了父类的属性和方法。那么我们现在主要研究css,css就是在设置属性的。不会牵扯到方法的层面。
           
           记住:有一些属性是可以继承下来 : color 、 font-*、 text-*、line-* 。主要是文本级的标签元素。
           
           但是像一些盒子元素属性,定位的元素(浮动,绝对定位,固定定位)不能继承
      • 层叠性:权重大的标签覆盖掉权重小的标签,谁的权重大就显示谁的标签

    • 权重比较

      • 权重一样的时候,是以后来设置的属性为准,

      • 权重都是0,那么就遵循就近原则,谁描述的近,就使用谁的属性,谁描述的近,就是选中到最内层的距离越近

    • ! import:设置为权重无限大

      • 它不影响继承来的权重,只影响选中的元素,不要随便使用,以为他会影响页面的布局

    • 使用什么选择器?

      • 不要试图用一个类将页面写完,这个标签要携带多个类,共同设置样式

      • 每个类尽可能的小,要有公共的概念,能让更多的标签使用.

      • 在css中尽可能的使用classs,除非一些特殊的情况可以用id,id一般是用在js中的,也就是说js是通过id来获取到标签

    • 选择器的选择

      • 先看标签元素有没有被选中,如果被选中了,就数数(id,class,标签的数量) 谁的权重大,就显示谁的属性,权重一样大,后来者居上

      • 如果没有被选中标签,权重为0

      • 如果属性都是被继承下来的,权重都是0,就近原则,谁描述的近就显示谁的属性

    回到顶部

  • 相关阅读:
    超级迷宫我的计划表
    不敢死队
    Let the Balloon Rise
    Hangover
    汉诺塔系列2
    Tri Tiling(递推)
    Tiling(递推,高精度)
    Color Me Less
    I Think I Need a Houseboat(圆计算)
    Kbased Numbers(递推)
  • 原文地址:https://www.cnblogs.com/W-Y-C/p/11322293.html
Copyright © 2020-2023  润新知