2019-01-22 web day2 css基础和选择器

2019-01-22  本文已影响0人  woming

CSS是web标准中的表现标准,主要用来对网页中的内容设置布局和样式
通过:
选择器{属性名1:属性值1;属性名2:属性值2...}
的方式来进行设置


选择器是想要设置样式的标签
选择器分为:
元素选择器(标签选择器)
id选择器
class选择器(类选择器)
*通配符
群组选择器
层级选择器(后代选择器)


选择器的权重:
通配符:0001(1)
元素选择器:0001(1)
class选择器:0010(2)
id选择器:0100(4)
群组选择器:分开看每个选择器的权重
后代选择器:用空格分开的所有选择器的权重之和

01 什么是CSS

1.什么是CSS(层叠样式表,简称样式表)
CSS是web标准中的表现标准,主要用来设置网页中内容的布局和样式

2.怎么写CSS(语法)
a.语法
选择器{属性名1:属性值1;属性名2:属性值2...}

b.说明
选择器 - 选中想要设置样式的标签
{} - 固定写法
属性 - 属性名和属性值用冒号连接,多个属性之间用分号隔开(如果没有分号,会导致后面的样式都无效)
        属性名必须是CSS提供的属性(大概两百多个)
        属性值:表示大小的数值必须加单位,px - 像素,em - 空格数;也可以使用百分百(相对父标签),100%,20%

c.常用属性
color - 字体颜色
background-color - 背景颜色
font-size - 字体大小
width - 宽度
height - 高度

3.CSS写在哪儿
a.内联样式表:将样式表写在标签的style属性中;注意,这种样式表不需要写"选择器{}",直接给属性赋值
b.内部样式表:将样式表写在style标签中(这个标签可以放在head中,也可以放在body中)
c.外部样式表:将样式表写在一个CSS文件中,然后在head中通过link导入

内联样式表不管在什么情况下,优先级都是最高的
内部样式和外部样式,谁后写,谁的优先级高

4.CSS中的值
颜色:颜色的英文单词,#16进制颜色值,rgb(255,255,255),rgba(红,绿,蓝,透明度);透明度的范围:0-1

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <!--3.外部样式表
            link标签 - 导入外部文件
            rel属性 - 导入的文件的作用,stylesheet->样式表,icon->设置网页图标
            type属性 - 导入的文件的类型说明,类型/文件后缀
                        text/css - 导入一个文本文件,文件后缀是css
            href属性 - 文件路径
        -->
        <!--导入一个外部样式表-->
        <link rel="stylesheet" type="text/css" href="css/css基础.css"/>
        <!--设置网页图标-->
        <link rel="icon" type="img/ico" href="img/aaa.ico"/>
        
        <!--2.内部样式表-->
        <style type="text/css">
            /*在这儿写CSS代码*/
            div{
                background-color: darkgray;
            }
            /*一个style标签中可以写多个样式表*/
            p{
                color: cornflowerblue;
            }

            
        </style>
    </head>
    <body>
        <!--1.内联样式表-->
        <div style="color: rgba(0,255,0,1);font-size: 40px;background-color: lightcyan;">
            我是div1
            div1
        </div>
        
        <p>我是段落</p>
        
        <div id="">
            我是div2
        </div>
        
        <h1>我是标题</h1>
    </body>
</html>

02 选择器

选择器(选中标签)
1.元素选择器(标签选择器)
直接将标签名作为选择器,选中所有指定标签
例如:div{},p{},a{}...

2.id选择器
将标签的id属性值前面加#作为选择器,选中id属性值是指定的值的标签
注意:一个页面中id值要唯一(不同标签的id值不一样)
例如:#p2{}

3.class选择器(类选择器)
将标签的class属性值前面加.作为选择器,选中所有class属性值是指定的值的标签

4.*(通配符)
直接将*作为选择器,选中当前页面中所有的标签
例如:*{}

5.群组选择器
将多个选择器用逗号隔开作为一个选择器,选中每个单独的选择器选中的所有标签
例如:a,p{}  - 选中所有的a标签和p标签
      #p1,div{}  - 选中id值是p1的标签和所有的div标签
      .C1,#p1,a{}  - 选中所有class值是C1和id值是p1和所有a标签
6.层级选择器(后代选择器)
将多个选择器用空格隔开作为一个选择器,按层级选中最后一个选择器选中的标签
例如:div .c1{}  - 选中所有在div标签中的class是c1的标签
        .c .c2 #d1{}  - 选中在class是c1中class是c2中id是d1的标签
        
7.选择器的权重
不同的选择器的权重值不一样,权重值越大,优先级越高。在权重相同的时候,谁后写谁优先级高。
不管什么情况,内联样式优先级最高
通配符:0001(1)
元素选择器:0001(1)
class选择器:0010(2)
id选择器:0100(4)
群组选择器:分开看每个选择器的权重
后代选择器:用空格分开的所有选择器的权重之和

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            /*通配符*/
            *{
                width: 300px;
                height: 100px;
            }
            /*元素选择器*/
            p{
                color: firebrick;
            }
            div{
                background-color: aquamarine;
            }
            /*id选择器*/
            #p2{
                color: deeppink;
            }
            /*class选择器*/
            .C1{
                color: mediumblue;
                font-size: 30px;
            }
            .C2{
                background-color: deepskyblue;
            }
            .C1,.C2{
                background-color: yellowgreen;
            }
        </style>
    </head>
    <body>
        <h1 class="C1">标题1</h1>
        <div id="">
            <div id="">
                <p class="C2">段落1</p>
            </div>
            <!--一个标签可以拥有多个class值,多个class值用空格隔开-->
            <h2 class="C1 C2">标题2</h2>
        </div>
        <div id="">
            <p id="p2">段落2</p>
        </div>
        
    </body>
</html>

03 伪类选择器

普通选择器是选中某一个标签,伪类选择器是选中标签某种状态
1.语法:
普通选择器:状态{}

2.常见状态
a.link - 初始状态(对于a标签来说,初始状态指的是标签对应的地址没有成功访问过的时候)
b.visited - 访问后的状态(一般针对a标签有效)
c.hover - 鼠标悬停在标签上的时候对应的状态
d.active - 鼠标按住标签不放的时候对应的状态

注意:1.状态前不是只能写元素选择器,更不是只能写a标签
      2.需要遵守'爱恨'原则,'LoVeHAte'

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            /*设置a标签所有状态的样式*/
            /*a{
                color: red;
            }*/
            a:link{
                color: green;
            }
            a:visited{
                color: dodgerblue;
            }
            a:hover{
                color: seagreen;
                background-color: gainsboro;
                font-size: 20px;
            }
            a:active{
                color: darkorchid;
            }
            font:hover{
                color: chocolate;
                font-size:20px;
            }
            font:active{
                background-color:aliceblue;
            }
            
        </style>
    </head>
    <body>
        <a href="04css基础.html">百度一哈</a>
        <font>我是段落</font>
    </body>
</html>
上一篇下一篇

猜你喜欢

热点阅读