css

html、css、js思维导图——https://www.processon.com/view/link/5ad1c2d0e4b0b74a6dd64f3c
 
css介绍:
现在的互联网前端分三层:
  HTML:超文本标记语言。从语义的角度描述页面结构。
  CSS:层叠样式表。从审美的角度负责页面样式。
  JS:Javascript。从交互的角度描述页面的行为。
CSS:Cascading Style Sheet,层叠样式表。CSS的作用就是给HTML页面标签添加各种样式,定义网页的显示效果。CSS将网页内容和显示样式进行分离,提高了显示功能。
  css的最新版本是css3,现在整理的是css2.1.
为什么有css的出现:
  HTML的缺陷:
    1、不能使用多种设备
    2、要求浏览器必须智能化足够庞大
    3、数据和显示没有分开
    4、功能不够强大
  CSS的优点:
    1、使数据和显示分开
    2、降低网络流量
    3、使整个网站视觉效果一致
    4、使开发效率提高了(耦合性降低,一个人负责写html,一个人写css)
 

一、css的引入方式

  1、行内样式:

<div>
    <p style="color:green">我是张无忌</p>
</div>

  2、内接样式:在head标签中,用style标签声明

    <style type="text/css">
        /*写我们的css代码*/
        span{
            color: yellow;
        }
    </style>

  3、外接样式:在head标签中,用link链接另外的一个css文件(解耦)

    链接式:(主要用链接式)

    <link rel="stylesheet" href="./testcss.css">

    导入式:

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

 

二、css基础选择器

    1、标签选择器:所有,找出共性的内容  不管藏了多深都能选中

    标签选择器可以选中所有的标签元素,比如div、ul、li、p等等,不管标签藏多深,都能选中,选中的时所有,而不是一个,所以说共性而不是特性。

        body{
            color: gray;
            font-size: 12px;
        }
        /*标签选择器*/
        p{
            color: red;
            font-size: 20px;
        }
        span{
            color: blue;
        }

  2、id选择器:选择唯一的标签,因为id是唯一的

    #选中id

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

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

  3、类选择器:选中所有,找到有共性

    所谓类就是class。class与id非常相似,任何的标签都可以加类,但是类是可以重复的,属于归类的概念。同一个标签中可以携带多个类,用空格隔开。

.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>

 

总结:

  不要试图用一个类将我们的网页写完,这个标签要携带多个类,共同设置样式。

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

  一般尽可能的用class,一些特殊情况可以使用id(id一般用在js,js是通过id来获取标签的。)

 

三、高级选择器

  1、后代选择器:

    使用空格表示后代选择器。父元素的后代(包括儿子、孙子、重孙子)

        .container p{
            color: red;
        }
        .item .container p{
            color: #df5000;
        }

  2、子代选择器:

    使用>表示子代选择器。比如div>p,仅仅表示的是当前div元素选中的子代(不包含孙子...)元素p。

        .container>p{
            color: yellowgreen;
        }

  3、并集(组合)选择器:

    多个选择器之间使用逗号隔开,表示选中的页面中的多个标签。一些共性的元素,可以说使用并集选择器。

        h3,a,div{
            color: #df5000;
            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
   }
 

  4、交集选择器:表示两者选中之后元素共有的特性

    使用.表示交集选择器。第一个标签必须是标签选择器,第二个标签必须是类选择器 语法:div.active

    例如有一个<h4 class="active"></h4>

        h4{
            width: 100px;
            font-size: 16px;
        }
        .active{
            color: #df5000;
            text-decoration: underline;
        }
        /*交集选择器*/
        h4.active{
            background: #b0b0b0;
        }

 

四、属性选择器

  属性选择器就是根据标签中的属性选中当前的标签。

        /*根据属性查找*/
        [for]{
            color: red;
        }
        /*找到for属性的等于username的元素,字体颜色设为红色*/
        [for="username"]{
            color: red;
        }
        /*以.......开头*/
        [for^='user']{
            color: #ffecec;
        }
        /*以......结尾*/
        [for$='vvip']{
            color: red;
        }
        /*包含某元素的标签        */
        [for*="vip"]{
            color: #b0b0b0;
        }
        /*指定单词的属性*/
        label[for~="userll"]{
            color: red;
        }
        input[type="text"]{
            background: black;
        }

 

五、伪类选择器

   伪类选择器一般会用在超链接啊标签中,使用a标签的伪类选择器,一定要遵循“暗恨准则LoVe HAte

   暗恨准则(LoVe HAte)
                a:link{}     没有访问过的
                a:visited{}  访问过后的
                a:hover{}   悬浮的时候
                a:active{}  摁住的时候

    /*没有被访问过的a标签的样式*/
    .box ul li.item1 a:link{
        color: #666;
    }
    /*访问过后的a标签的样式*/
    .box ul li.item2 a:visited{
        color: yellowgreen;
    }
    /*鼠标悬停时a标签的样式*/
    .box ul li.item3 a:hover{
        color: lawngreen;
    }
    /*鼠标摁住的时候a标签的样式*/
    .box ul li.item4 a:active{
        color: #795da3;
    }

 

css3的选择器nth-child()

    /*选中第一个元素*/
    div ul li:first-child{
        fone-size:20px;
        color: red;
    }
    /*选中最后一个元素*/
    div ul li:last-child{
        font-size: 30px;
        color: yellow;
    }
    /*选中当前指定的元素  数值从1开始*/
    div ul li:nth-child(3){
        font-size: 30px;
        color: purple;
    }
    /*n表示选中所有,这里面必须时n,从0开始的 0的时候表示没有选中*/
    div ul li:nth-child(n){
        font-size: 40px;
        color: red;
    }
    /*偶数*/
    div ul li:nth-child(2n){
        font-size: 40px;
        color: green;
    }
    /*奇数*/
    div ul li:nth-child(2n-1){
        font-size: 50px;
        color: red;
    }
    /*隔几行换色 隔行换色  隔4换色 就是5n+1 隔3换色就是4n+1*/
    div ul li:nth-child(5n+1){
        font-size: 60px;
        color: red;
    }

 

六、伪元素选择器

 

    /*设置第一个首字母的样式*/
    p:first-letter{
        color: red;
        font-size: 30px;
    }


    /*在...什么之前添加内容 使用此伪元素选择器一定结合content属性*/
    p:before{
        content: "周芷若,我喜欢你";
    }


    /*在...什么之后添加内容*/
    p:after{
        content: "我是赵敏,我喜欢张无忌";
        color: red;
        font-size: 40px;
    }

 

七、css的继承性和层叠性

1、css有两大特性:继承性和层叠性

  (1)继承性:

    面向对象语言都会存在继承的概念,在面向对象语言中,继承的特点:继承了父类的属性和方法。

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

    有这些属性可以继承:color、font-*、text-*、line-*。主要是文本级的标签元素。

    一些盒子元素属性不能继承,定位的元素(浮动,绝对定位,固定定位)不能继承

  (2)层叠性:

    权重大的标签覆盖了权重小的标签

    权重:谁的权重大,浏览器就会显示谁的属性。

    数权重:id的数量、class的数量、标签的数量,顺序不能乱

    /*1 0 0 显示红色*/
    #box1{
        color: red;
    }
    /*0 1 0*/
    .container{
        color: yellow;
    }
    /*0 0 1*/
    p{
        color: green;
    }
</style>

</head>
<body>
    <div >
        <p id="box1" class="container">我是张无忌</p>
    </div>
</body>

 

 

八、层叠性权重相同处理

九、盒模型

十、padding(内边距)

十一、border(边框)

十二、简单认识margin

十三、标准文档流

十四、块级元素和行内元素

十五、浮动

十六、margin的用法

十七、文本属性和字体属性

十八、超链接导航案例

十九、background

二十、定位

二十一、z-index

 
posted @ 2018-09-25 09:38  LW-5208  阅读(407)  评论(0)    收藏  举报