前端——CSS的引入方式、选择器

前端——CSS的引入方式、选择器

什么是CSS?

层叠样式表(就是用来调节标签的样式)

CSS注释

/*单行注释*/

/*多行注释1
多行注释2
多行注释3
*/

注释的使用

css应该是一个独立的文件

/*页面通用样式*/
/*顶部导航栏样式*/
/*侧边菜单栏样式*/
……

css语法结构

选择器 {属性名1:属性值1;属性名2:属性值2;属性名3:属性值3;……}

css三种引入方式

  • 外部css文件(最正规的书写方式)

    /*mycss*/
    /*这是一个非常牛逼的页面的css样式文件*/
    /*公共样式*/
    p {
        color: aquamarine;
    }
    /*外部引用css文件*/
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <link rel="stylesheet" href="mycss.css">
    </head>
    <body>
    <p>秦时明月汉时关</p>
    </body>
    </html>
    
    
  • head内style标签内部直接书写css代码

    /*head内style标签内部直接书写css代码*/
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            p {
                color: blue;
            }
        </style>
    </head>
    <body>
    <p>秦时明月汉时关</p>
    </body>
    </html>
    
  • 标签内部通过style属性直接书写对应的样式(不推荐)

    /*标签内部通过style属性直接书写对应的样式*/
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <p style="color: red">秦时明月汉时关</p>
    </body>
    </html>
    

css选择器

基本选择器

  • 标签选择器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            div {   /*将页面中所有的div标签内的文本变成红色*/
                color: red;
            }
        </style>
    </head>
    <body>
    <div class="c1">我是div我的class为c1		/*---> 变红色*/
        <span>我是div内部的span</span>		/*---> 变红色*/
    </div>
    <p id="d1" class="c1">我是p我的id为d1我的class为c1</p>
    <div>我是div</div>		/*---> 变红色*/
    <span class="c1">我是span我的class为c1</span>
    <p>我是p</p>
    <span id="d2">我是span我的id为d2</span>
    </body>
    </html>
    
  • 类选择器:. 属性值 {css样式} 重点:一定记住是.

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
    
            /*类选择器*/
            .c1 {   /*将页面中具有c1类属性值的标签内部文本全部变成蓝色*/
                color: blue;
            }
        </style>
    </head>
    <body>
    <div class="c1">我是div我的class为c1		/*---> 变蓝色*/
        <br>
        <span>我是div内部的span</span>		/*---> 变蓝色*/
    </div>
    <p id="d1" class="c1">我是p我的id为d1我的class为c1</p>		/*---> 变蓝色*/
    <div>我是div</div>
    <span class="c1">我是span我的class为c1</span>		/*---> 变蓝色*/
    <p>我是p</p>
    <span id="d2">我是span我的id为d2</span>
    </body>
    </html>
    
  • id选择器:#id值{css样式} 重点:一定记住是#号

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            #d1 {       /*将页面中id为d1的标签内所有文本变成黄色*/
                color: yellow;
            }
        </style>
    </head>
    <body>
    <div class="c1">我是div我的class为c1
        <br>
        <span>我是div内部的span</span>
    </div>
    <p id="d1" class="c1">我是p我的id为d1我的class为c1</p>		/*---> 变黄色*/
    <div>我是div</div>
    <span class="c1">我是span我的class为c1</span>
    <p>我是p</p>
    <span id="d2">我是span我的id为d2</span>
    </body>
    </html>
    
  • 通用选择器:{css样式} 重点:**** 号

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            /*通用选择器*/
            * {     /*将当前页面内的所有标签内所有内容改为绿色*/
                color: green;
            }
        </style>
    </head>
    <body>
    <div class="c1">我是div我的class为c1		/*---> 变绿色*/
        <br>
        <span>我是div内部的span</span>		/*---> 变绿色*/
    </div>
    <p id="d1" class="c1">我是p我的id为d1我的class为c1</p>	/*---> 变绿色*/
    <div>我是div</div>		/*---> 变绿色*/
    <span class="c1">我是span我的class为c1</span>		/*---> 变绿色*/
    <p>我是p</p>		/*---> 变绿色*/
    <span id="d2">我是span我的id为d2</span>		/*---> 绿色*/
    </body>
    </html>
    

组合选择器(重点记住特殊符号)

  • 后代选择器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>组合选择器</title>
        <style>
            /*后代选择器*/
            div span {      /*空格表示div内部的  没有层级限制*/
                color: red;
            }
        </style>
    </head>
    <body>
    <span>div上面的span</span>
    <br>
    <span>div上面的span</span>
    <div>
        <span>div内部第一个span</span>		/*---> 变红色*/
        <p>div内部的p
            <br>
            <span>div内部的p的span</span>	/*---> 变红色*/
        </p>
        <span>div内部最后一个span</span>		/*---> 变红色*/
    </div>
    <span>div下面的span</span>
    <br>
    <span>div下面的span</span>
    <br>
    <span>div下面的span</span>
    <br>
    <span>div下面的span</span>
    <br>
    <div>弟弟舔她
        <p>放开那个女孩,让我来!</p>
    </div>
    <span>我会把你活活sao死</span>
    </body>
    </html>
    
  • 儿子选择器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>组合选择器</title>
        <style>
            /*儿子选择器*/
            div > span {    /*> 表示div内部的儿子  有层级限制*/
                color: blue;
            }
        </style>
    </head>
    <body>
    <span>div上面的span</span>
    <br>
    <span>div上面的span</span>
    <div>
        <span>div内部第一个span</span>		/*---> 变蓝色*/
        <p>div内部的p
            <br>
            <span>div内部的p的span</span>
        </p>
        <span>div内部最后一个span</span>		/*---> 变蓝色*/
    </div>
    <span>div下面的span</span>
    <br>
    <span>div下面的span</span>
    <br>
    <span>div下面的span</span>
    <br>
    <span>div下面的span</span>
    <br>
    <div>弟弟舔她
        <p>放开那个女孩,让我来!</p>
    </div>
    <span>我会把你活活sao死</span>
    </body>
    </html>
    
  • 毗邻选择器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>组合选择器</title>
        <style>
            /*毗邻选择器*/
            div + span {
                color: green;
            }
        </style>
    </head>
    <body>
    <span>div上面的span</span>
    <br>
    <span>div上面的span</span>
    <div>
        <span>div内部第一个span</span>
        <p>div内部的p
            <br>
            <span>div内部的p的span</span>
        </p>
        <span>div内部最后一个span</span>
    </div>
    <span>div下面的span</span>		/*---> 变绿色*/
    <br>
    <span>div下面的span</span>
    <br>
    <span>div下面的span</span>
    <br>
    <span>div下面的span</span>
    <br>
    <div>弟弟舔她
        <p>放开那个女孩,让我来!</p>
    </div>
    <span>我会把你活活sao死</span>		/*---> 变绿色*/
    </body>
    </html>
    
  • 弟弟选择器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>组合选择器</title>
        <style>
            /*弟弟选择器*/
            div ~ span {        /*同级别下的所有标签*/
                color: yellow;
            }
        </style>
    </head>
    <body>
    <span>div上面的span</span>
    <br>
    <span>div上面的span</span>
    <div>
        <span>div内部第一个span</span>
        <p>div内部的p
            <br>
            <span>div内部的p的span</span>
        </p>
        <span>div内部最后一个span</span>
    </div>
    <span>div下面的span</span>		/*---> 变黄色*/
    <br>
    <span>div下面的span</span>		/*---> 变黄色*/
    <br>
    <span>div下面的span</span>		/*---> 变黄色*/
    <br>
    <span>div下面的span</span>		/*---> 变黄色*/
    <br>
    <div>弟弟舔她
        <p>放开那个女孩,让我来!</p>
    </div>
    <span>我会把你活活sao死</span>		/*---> 变黄色*/
    </body>
    </html>
    

属性选择器(根据属性或属性值来选择标签)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>属性选择器</title>
    <style>
        /*属性选择器*/
        [username] {    /*找到页面上所有具有username属性名的标签*/
            color: green;
        }

        [username='kang'] {     /*找到页面上所有具有username属性名并且属性值为kang的标签*/
            color: red;
        }

        input[username='a'] {       /*找到页面上所有具有username属性名并且属性值为kang的input标签*/
            background-color: yellow;
        }
    </style>
</head>
<body>
<input type="text" username="a">
<input type="text" username="b">
<input type="text" username="c">
<p username="kang">秦时明月汉时关,万里长征人未还</p>
<div username="zhao">秦时明月汉时关,万里长征人未还</div>
<span username="li">秦时明月汉时关,万里长征人未还</span>
</body>
</html>

分组与嵌套

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>分组与嵌套</title>
    <style>
        /*div, span, p {*/
            /*color: blue;*/
        /*}*/

        /*.c1, #d1, p {*/
            /*color: red;*/
        /*}*/

        .c1 h2 {    /*找具有c1属性值标签的后代h2*/
            color: aquamarine;
        }
    </style>
</head>
<body>
<div class="c1">找工作,拿高薪,牛皮~~
    <h2>我是h标签</h2>
</div>
<span id="d1">找工作,拿高薪,牛皮~~</span>
<p>你好骚啊~~</p>
</body>
</html>

伪类选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>伪类选择器</title>
    <style>
        a:link {    /*未点击过为红色*/
            color: red;
        }

        a:hover {   /*鼠标悬浮在上面是绿色*/
            color: green;
        }

        a:active {  /*点击过后为黄色*/
            color: yellow;
        }

        input:focus {   /*聚焦时 背景为粉色*/
            background-color: deeppink;
        }
    </style>
</head>
<body>
<a href="https://www.baidu.com">百度</a>
<a href="https://lcxy.sougou.com/">搜狗</a>
<a href="https://www.LOL.com">撸啊撸</a>

<input type="text">
</body>
</html>

伪元素选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>伪元素选择器</title>
    <style>
        div:before {    /*在div标签内容前添加*/
            content: '瞬间爆炸';
            color: red;
        }

        div:after {     /*在div标签内容后添加*/
            content: '啊啊啊我死了!';
            color: yellow;
        }
    </style>
</head>
<body>
<div>奥术大师大所大大所大所大所大</div>
</body>
</html>

选择器优先级问题

选择器相同

就近原则

选择器不同

行内 > id选择器 > 类选择器 > 元素选择器

posted @ 2019-12-26 19:35  小小小小小小小小小白  阅读(326)  评论(0编辑  收藏  举报