zoukankan      html  css  js  c++  java
  • css简介

    1.CSS的概述

    CSS Cascading Style Sheet 层叠样式表

    CSS 作用就是给HTML页面标签添加各种样式

    为什么用CSS?

    1HTML的缺陷:

      1. 不能够适应多种设备

      2. 要求浏览器必须智能化足够庞大

      3. 数据和显示没有分开

      4. 功能不够强大

    2CSS 优点:

      1.使数据和显示分开

      2.降低网络流量

      3.使整个网站视觉效果一致

      4.使开发效率提高了

    HTMLCSSJavaScript的关系:

    1HTML用于排版,处理逻辑

    2CSS用于美化,处理修饰

    3JavaScript用于动态,处理动画

    注意:用开发工具创建的HTMLCSSJavaScrip文件都是HTML文件

    2.CSS和HTML结合的方式

    CSS代码理论上位置是任意的,但通常写在style标签里

    CSSHTML的结合方式有3种:

      方式一:行级样式表:采用html标签的style属性,范围只针对此标签适用

      方式二:内嵌样式表:采用<style>标签完成。范围针对此页面

      方式三:外部样式表: 采用建立样式表文件。针对多个页面.

    引入样式表文件的方式:

    1):采用<link>标签

      eg:<link rel = "stylesheet" type = "text/css" href = "a.css"></link>

    2):采用import,必须写在<style>标签中,并且必须是第一句

      eg: @import url(a.css) ;

    两种引入方式的区别:

      外部样式表中不能写<link>标签,但是可以写import语句

    2.1.方式一:使用html标签的style属性

    方式一:行级样式表:采用html标签的style属性,范围只针对此标签适用

    语法格式:<标签名称 style="key : value ; "> 内容 </标签名称>

    属性与值之间用 隔开,不同属性用 隔开,同一属性的多个值之间用 空格 隔开;属性名和冒号之间最好不要有空格;

    注意:此标签在<body>

     

    缺点:

    1、html代码和css代码仍然耦合在一起,样式过多,难以维护

    2、冗余代码过多所以测试代码时经常用,实际开发中使用较少

     

    演示:

    <head>

        <title>htmlcss的结合方式一</title>

    </head>

    <body>

     <!--需求:书写divspan,设置样式为字体为红色,边框为1px 实线 红色的。-->

         <div style="color: red ; border: 1px solid red;">这是div1</div>

         <span style="color: red;border: 1px solid red;">这是span1</span>

    </body>

     

    2.2.方式二:在head标签使用style标签设置

    方式二:内嵌样式表:采用<style>标签完成。范围针对此页面适用

    语法格式:

    <style>

      标签名称{

        keyvalue

        keyvalue

      }

    </style>

    注意:若多个标签名称之间用  隔开;且此标签在<head>内同一页面内,设置多个标签拥有的共同页面效果

     

    优点:数据在body标签内,修饰在head标签内. 层次分明,显示清晰.

    缺点:只能在本页面使用,无法提高多页面样式的复用性

     

    演示:

    <head>

        <title>htmlcss的结合方式二</title>

      <!-- head标签中使用style标签设置  -->

      <!-- 需求:统一设置页面的divspan的数据 字体颜色为黄色,边框:1像素 实线 蓝色;-->

      <style type="text/css">

        div,span {

          color: yellow;

          border: 1px solid blue;

        }

      </style>

    </head>

    <body>

        <div>这是div1</div>

        <span>这是span1</span>

    </body> 

     

    2.3.方式三:外部引入方式

    方式三:外部样式表: 采用建立样式表文件。针对多个页面适用.

    引入样式表文件的方式:

    1):采用import,必须写在<style>标签中,并且必须是第一句

      eg: @import url("a.css") ;

    2):采用<link>标签

      eg:<link rel = "stylesheet" type = "text/css" href = "a.css"></link>

    两种引入方式的区别:外部文件中不能写<link>标签,但是可以写import语句

    因为定义效果的代码都在外部文件中,任何页面想使用这种页面效果都可以引入此外部文件

    2.3.1.采用@import,必须写在<style>标签中且必须是第一句

    语法格式:

    <style type="text/css">

      @import url("css文件的地址");

    </style>

     

    演示:

    <head>

        <title>htmlcss的结合方式三</title>

      <!-- head标签中使用style标签使用@import(外部导入)  -->

      <!-- 需求:统一设置页面的divspan的数据 字体颜色为黄色,边框:1像素 实线 蓝色; -->

      <style type="text/css">

      /* 方式1:

        @IMPORT url("div.css");

        @IMPORT url("span.css");

      */

      /* 方式2:

        @IMPORT url("all.css");  

      */

      </style>

    </head>

    <body>

         <div>这是div1</div>

         <span>这是span1</span>

    </body>

     

    外部文件:

    div.css

    div{

      color: yellow;

      border: 1px solid blue;

    }

     

    span.css

    span{

      color: yellow;

      border: 1px solid blue;

     }

     

    all.css

    @IMPORT url("div.css");

    @IMPORT url("span.css");

     

    2.3.2.采用<link>标签

    语法格式:

    <link rel="stylesheet" type="text/css" href="css文件路径" />

     

    演示:

    <head>

        <title>htmlcss的结合方式三</title>

      <!-- head标签中使用link标签  -->

      <!-- 需求:统一设置页面的divspan的数据 字体颜色为黄色,边框:1像素 实线 蓝色; -->

      <link rel="stylesheet" type="text/css" href="all.css">  //此处演示使用的外部文件是all.css

    </head>

    <body>

         <div>这是div1</div>

         <span>这是span1</span>

    </body>

     

    2.4.三种结合方式的对比

    适用范围:

    方式一:行级样式表,范围只针对此标签适用.

    方式二:内嵌样式表,范围针对此页面适用.

    方式三:外部样式表,针对多个页面适用.

    所以我们测试一般使用前两种方式,实际开发中使用方式三;

    书写位置:

    方式一书写在<body>内,方式二和方式三书写在<head>内;

    3.css选择器

    作用:就是通过css代码选择要添加效果html中的标签

    选择器主要分为两大类:

    1.基本选择器

     1) 标签选择器指的就是选择器的名字代表html页面上的标签

      p{

        color:red ;

        border:1px dashed green;

      }

    2) id选择器:规定用 # 来定义

      #one{

        cursor:hand;

      }

    3) class选择器:规定用圆点 . 来定义

      .one{

       }

    区别:标签选择器针对的是页面上的一类标签.

        类选择器可以供多种标签使用.

        ID选择器是值供特定的标签(一个). ID是此标签在此页面上的唯一标识。

    4) 通用选择器:  * 定义,代表页面上的所有标签。

      *{

        font-size:30px;

        margin-left:0px;

        margin-top:0px;

      }

     

    2.扩展选择器

    5) 组合选择器:采用逗号隔开

      p,h1,h2,.one,#two{color:red ; }

    6) 关联选择器(后代选择器): 采用空格隔开

      h4 span i{color:red ; } 

      表示h4标签中的span标签中的i标签的样式

      h4spani标签不一定是紧挨着的。

    7) 伪类选择器

     (1) 静态伪类:规定是用:来定义.只有两个.只能用于超链接.

        :link表示超链接点击之前的颜色

        :visited表示链接点击之后的颜色

      eg:  a:link{color:red ;}

             a:visited{color:yellow;}

      注意: a:link{}定义的样式针对所有的写了href属性的超链接(不包括锚)

             a{}定义的样式针对所有的超链接(包括锚)

     (2) 动态伪类 : 针对所有的标签都适用

        :hover : 是移动到某个标签上的时候

       :focus : 是某个标签获得焦点的时候

       :active : 点击某个标签没有放松鼠标时

      eg: label:hover{color:#00ff00; }

        input:focus{

          border:1px solid red;

        }

        a:active{

          color:blue;

        }

     

    3.1.标签选择器

    语法格式:

    标签名称{

      css代码

    多个标签需要用  隔开;

    注意:使用标签选择器,本页面内此类标签的所有代码会全部操作; 

     

    需求:

    <head>

        <style type="text/css">

      /* 需求取消input标签的默认边框 */

      input {

        border : none;

      }

      </style>

    </head>

      

     <body>

      用户名: <input type="text"/>

      <hr/>

      <table border="1px" cellpadding="10px" cellspacing="0px" width="25%">

        <tr>

          <td><input type="text"/></td>

          <td><input type="text"/></td>

        </tr>

      </table>

     </body>

     

     

    3.2.id选择器

    语法格式:

    #id属性值 {

      css代码;

    使用:给需要操作的标签一个id属性;

    注意:id值在此页面内必须是唯一的;

     

    演示:

    <head>

        <title>id选择器</title>

        <meta http-equiv="content-type" content="text/html; charset=UTF-8">

      <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

        <style type="text/css">

      /*需求:将id="i001"input标签背景变为xx。 */

       #i001 {

         }

        </style>

     </head>

     <body>

      <table cellpadding="10px" cellspacing="0px" border="1px" width="90%">

         <tr>

           <td id="i001">1,1</td>

           <td>1,2</td>

           <td>1,3</td>

         </tr>

         <tr>

           <td id="i021">2,1</td>

           <td>2,2</td>

           <td id="i023">2,3</td>

         </tr>

      </table> 

    </body>

     

    3.3.class选择器

    语法格式:

    .Class属性值 {

      css代码;

    使用:给需要操作的标签一个class属性;

    注意:class值可以在多个标签中是相同的,操作的是同一个class属性值的多个标签;

     

     <head>

        <title>model.html</title>

        <meta http-equiv="content-type" content="text/html; charset=UTF-8">

      <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

        <style type="text/css">

      /*    需求1、表格的奇数行背景为红色,偶数行为蓝色 */

      .odd {

        }

      .even {

       }

    </style>

    </head>

      <body>

         <table cellpadding="10px" cellspacing="0px" border="1px" width="90%">

          <tr class="odd">

           <td>1,1</td>

           <td>1,2</td>

           <td>1,3</td>

         </tr>

         <tr class="even">

           <td>2,1</td>

           <td>2,2</td>

           <td>2,3</td>

         </tr>

         <tr class="odd">

           <td>3,1</td>

           <td>3,2</td>

           <td>3,3</td>

         </tr>

         <tr class="even">

           <td>4,1</td>

           <td>4,2</td>

           <td>4,3</td>

         </tr>

       </table> 

     </body>

     

    3.4.组合选择器

    4) 组合选择器:采用逗号隔开

      p,h1,.one,#two{color:red ; }

     相当于上面三种方式中任意几种方式组合起来,中间需要用逗号隔开;

     

    语法格式:

    标签名,.class属性值,#id属性值{

      css代码

    }

     

    <html>

     <head>

        <title>组合选择器</title>

      <meta http-equiv="content-type" content="text/html; charset=UTF-8">

        <style type="text/css">

      /*  需求1. 选择id=div1divclass=xxspan,所有背景颜色为黄色 */

      #div1,.span1,p {

      }

      </style>

     </head>

     <body>

        <div id="div1">div的数据1</div>

      <div>div的数据2</div>

      <div>div的数据3</div>

      <span class="span1">span的数据1</span>

      <span>span的数据2</span>

      <span class="span1">span的数据3</span>

      <p>p的数据1</p>

      <p>p的数据2</p>

      <p>p的数据3</p>

      </body>

    </html>

     

    3.5.关联选择器

    5) 关联选择器(后代选择器): 采用空格隔开

      eg: h4 span i{color:red}

      表示h4标签中的span标签中的i标签的样式

      h4和span和i标签不一定是紧挨着的。

       相当于操作嵌套标签中的某个内部标签;

     

    语法格式:

    标签名 后代标签名 {

      css代码;

     

    <html>

      <head>

        <title>关联选择器</title>

      <meta http-equiv="content-type" content="text/html; charset=UTF-8">

        <style type="text/css">

      /*     需求: div内所有的字体颜色变成蓝色。 */

      div p {

        color : blue;

      }

        </style>

    </head>

     <body>

        <div>

           AAAA BBB

           <p>p111111111</p>

           CCCC

           <p>p222222222</p>

        </div>

        <p>p33333333</p>

      </body>

    </html>

     

     

    3.6.伪元素选择器

     6) 伪类选择器

     (1) : 静态伪类:规定是用 : 来定义.只有两个.只能用于超链接.

        :link表示超链接点击之前的颜色

        :visited表示链接点击之后的颜色

      eg:  a:link{color:red ;}

            a:visited{color:yellow;}

      注意: a:link{}定义的样式针对所有的写了href属性的超链接(不包括锚)

         a{}定义的样式针对所有的超链接(包括锚)

     (2) : 动态伪类 : 针对所有的标签都适用

    :hover : 是移动到某个标签上的时候

    :focus : 是某个标签获得焦点的时候

    :active : 点击某个标签没有放松鼠标时

    eg: label:hover{color:#00ff00; }

    input:focus{

      border:1px solid red;

    }

    a:active{

      color:blue;

    }

    演示超链接案例:

    语法格式:

    选中的标签:伪元素名称 {

      css代码

    }

     

    伪元素名称

    link 某个html标签未被点击之前的状态

    visible 鼠标点击之后,松开了

    hover 鼠标悬浮式

    active 鼠标点击但没有松开

    注意:上述4个伪元素是由先后顺序的。L V H A如果顺序乱了可能会出现不一样的效果

     

    需求:超链接 未点击背景红色,悬浮时背景为绿色,点击未松开背景为蓝色,鼠标点击之后为黄色

    <html>

      <head>

        <title>锚伪类</title>

      <meta http-equiv="content-type" content="text/html; charset=UTF-8">

        <style type="text/css">

      /*  超链接 未点击字体红色,悬浮时字体为绿色, 点击未松开字体为蓝色,鼠标点击之后为黄色 */

      a:link {color: red}        /* 超链接未被点击的状态样式 */

      a:visited {color: yellow}   /* 点击之后的状态样式 */

      a:hover {color: green}    /* 鼠标悬浮在超链接上的状态样式 */

      a:active {color: blue}     /* 鼠标点击超链接,但未松开 */

        </style>

      </head>

      <body>

        <a href="01.html">01页面</a>

        <a href="02.html">02页面</a>

      </body>

    </html> 

    4.边框(盒子模型)

    需求1、先创建一个div,他的内部也创建一个div,同时设置边框

    需求2、外层div背景色蓝色,内部div背景色为绿色

    需求3、设置内部div的外边距10px,内边距为50px

    <html>

      <head>

        <title>model.html</title>

       <meta http-equiv="content-type" content="text/html; charset=UTF-8">

        <style type="text/css">

           #myimg {

           padding : 20px;

         }

      /* 需求1、先创建一个div,他的内部也创建一个div,同时设置边框 */

      /* 需求2、外层div背景色蓝色,内部div背景色为绿色 */

      /* 需求3、设置内部div的外边距10px,内边距为50px */

      #outer{

        border : 1px solid red;

        height : 400px;

    }

      #inner{

        border : 1px solid blue;

        height : 200px;

        margin: 10px;

        padding: 20px;

      }

        </style>

     </head>

      <body>

      <!--     <img src="img1.jpg" width="500px" id="myimg" border="1px"/> -->

         <hr/>

         <div id="outer">

         <div id="inner">39期 大牛班</div>

        </div>

      </body>

    </html>

     

     扩展需求: 3div

    注意:相同的属性效果可以用class选择器封装在一起,不同的属性效果可以用id选择器分别封装;

    <html>

      <head>

        <title>model.html</title>

        <meta http-equiv="content-type" content="text/html; charset=UTF-8">

        <style type="text/css">

         .divClass {

           border : 1px solid red;

           width : 900px;

           margin: 10px;

           margin-left: auto;

           margin-right: auto;

         }

         #div1{

           height: 100px;

         }

         #div2{

           height: 400px;

         }

         #div3{

           height: 100px;

         }

        </style>

      </head>

      <body>

       <div id="div1" class="divClass"></div>

       <div id="div2" class="divClass"></div>

       <div id="div3" class="divClass"></div>

      </body>

    </html>

  • 相关阅读:
    博客园CSS备份4
    博客园css备份3
    CSS透明滚动条效果
    AHK
    修改网页css的插件stlylebot
    欧陆词典CSS修改
    油猴脚本修改网页默认字体
    博客园上传css,js文件并引用
    CSS添加本地字体文件
    博客园css备份
  • 原文地址:https://www.cnblogs.com/dongfangshenhua/p/6707031.html
Copyright © 2011-2022 走看看