一、css简介

  css(Cascading Style Sheets)层叠样式表,是一种为html文档添加样式的语言,主要有两个功能:渲染和布局。使用css主要关注两个点:查找到标签,属性操作  

二、css的引入方式

(1)行内式引入:

<div style="color:red;font-size: 16px">hello</div>

直接在html语句的属性中设置,这种方法的缺点是html代码和css代码混合在一起,耦合性太强,维护困难

(2)嵌入式引入:

 <style>
        div{
            color: red;
            font-size: 16px;
            background: grey;
        }
    </style>

在html中head部分添加css样式

(3)链接式引入:

单独写一个css文件,在html的头文件中引入。这种方式最常用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Title</title>
    <link rel="stylesheet" href="index.css">

(4)导入式:

在style标签中引入外部的css文件

 <style type="text/css">
        @import "index.css";
    </style>

导入式和链接式引入有区别:

a.加载方式不同:导入式会先导入html,再用css渲染,如果此时网络卡了,在浏览器上显示的就是没有样式的内容,然后再一点点渲染,而链接式是一块加载的

b.链接式链接文件数量没有上限,但是导入式有上限

 

三、css选择器

上面四种引入css样式的方法中,除了缺点最明显的行内式,其他三种方法都需要先找到标签,才能对标签样式进行操作

1.基本选择器

  • 通配选择器  *{color:red}
  • 标签选择器 div{background:green}
  • id选择器  #user{font-size:12px}
  • class选择器  .user{border:1px solid red}

我们在html那篇博客里提到过id,id唯一标识一个标签,但是如果我们想对一系列标签添加同样的样式,肯定不能都用id,可以用class,从字面上理解就是一类具有类似作用的标签,在选择这些标签时用“点类名”的方式,而且class 也没有不能重名的限制

通用选择器一般用在预处理,初识化的时候

2.组合选择器

有时只用基本选择器并不能让我们准确找到标签,还需要用到一些组合标签

  • c1,c2    多元素选择器,同时匹配所有的c1元素和c2元素
  • c1 c2    后代选择器,匹配所有属于c1后代的c2元素
  • c1 > c2  子代选择器,用后代选择器有个问题,所有属于c1的后代都会被选择,包括孙子代,用子代选择器就不会有这个问题,子代选择器只会选择自己的儿子这一层级
  • c1+c2    毗邻元素选择器,匹配所有紧挨着c1元素之后的同级元素
  • c1~c2    普通兄弟元素,这个和毗邻元素选择器的区别就是,没有了紧挨着的限制

3.属性选择器

对于标签的固有属性,如id和class,可以通过#或.的方式找到。

如果是自定义属性,就要通过中括号的方式

 <style>
        #cl1{
            color: #000;
        }
        .c1{
            font-size: 12px;
        }
        div[zhang]{
            background: red;
        }
    </style>
</head>
<body>
    <div class="c1" id="cl1" zhang="123">123</div>
</body>

当有多个相同的自定义属性时,还可以用属性值区分,如div[zhang="123"]{}

四、伪类

1.anchor伪类:

  我们浏览网页的时候,有时会遇到鼠标放在一个元素上时,元素会发生变化的情况,这就是通过anchor伪类实现的,不止有鼠标悬浮的样式,还可以设置点击时,以及点击后的样式

  a:link   默认状态

  a:hover    鼠标悬浮在元素上的样式

  a:visited   点击过的元素的样式

  a:active    在元素上按下鼠标时的样式

这四个标签是针对于a标签用的,但不限于a标签,其中hover是最常用的

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Title</title>
    <style>
        .out{
            width: 300px;
            height: 300px;
            background: greenyellow;
        }
        .out:hover{
            background: red;
        }
        .out:visited{
            background: white;
        }
        .out:active{
            background: black;
        }
    </style>
</head>
<body>
    <div class="out">
        <div class="c1"></div>
        <div class="c2"></div>
    </div>

</body>
</html>
View Code

相关文章: