首页 前端知识 HTML入门第五课(css)

HTML入门第五课(css)

2024-08-07 00:08:52 前端知识 前端哥 731 412 我要收藏

今天二白连续再更一篇,把上篇文章剩下的一些小知识再说一说

一、属性选择器

      语法:[属性名]{} 选择含有指定属性的元素

                 [属性名=属性值]{} 选择含有指定属性和属性值的元素

                 [属性名^=属性值]{} 选择属性值以指定值开头的元素  

                 [属性名$=属性值]{} 选择属性值以指定值结尾的元素

                 [属性名*=属性值]{} 选择属性值含有某值的元素

例:需求:有title属性的标签,颜色变为红色

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 需求:有title属性的p标签,颜色变为红色 */
        [title]{
            color: red;
        }
        
    </style>
</head>
<body>
    <h1 title="a" id="abcd" class="ss">满江红·写怀</h1>
    <h3 title="ab">怒发冲冠,凭栏处、潇潇雨歇。</h3>
    <p title="abc">抬望眼,仰天长啸,壮怀激烈。</p> 
    <div title="abcdab">三十功名尘与土,八千里路云和月。</div>
    <div>莫等闲,白了少年头,空悲切!</div>
    <p>靖康耻,犹未雪。臣子恨,何时灭!</p>
    <p>驾长车,踏破贺兰山缺。</p>
    <p>壮志饥餐胡虏肉,笑谈渴饮匈奴血。</p>
    <p>待从头、收拾旧山河,朝天阙。</p>
</body>
</html>

二、伪类选择器

1.伪类(不存在的类,特殊的类)

                不是指特定的某个元素,而是指某个状态,例如第一个,最后一个,鼠标移入,鼠标点击 等等

                在所有的元素中进行排序  

                    :first-child  第一个元素

                    :last-child 最后一个元素

                    :nth-child(n) 选中第n个元素

                        n 所有的元素

                        2n/even 选中偶数元素

                        2n+1/odd 选中奇数元素

                在同类型的元素中进行排序    

                    :first-of-type 第一个元素

                    :last-of-type 最后一个元素

                    :nth-of-type(n) 选中第n个元素

2.:not()否定伪类

                将符合条件的元素从选择器中去除

三、元素的伪类

这里就用代码演示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 需求:鼠标移入,字体变大到30px */
        /* :hover 用来表示鼠标移入的状态 */
        p:hover{
            font-size: 30px;
            color: red;
        }
        /* 需求:鼠标点击后,增加背景色pink */
        /* :link,:visited 是超链接a标签独有的两种状态,由于隐私问题,这两种状态只能被设置字体颜色 */
        /* :active 鼠标点击后的状态 */
        a:active{
            background-color: orange;
        }
        /* 表示没有被点击过的链接 */
        a:link{
            color: orange;
        }
        /* 表示被访问过的链接 */
        a:visited{
            color: green;
        }
        /* 面试题:a标签的四种状态,在设置时有没有先后顺序?
        :link :hover :active :visited
        */
        
    </style>
</head>
<body>
    <p>反大貂二得的导五甲。</p>
    <a href="#">可人种而,天者如土。</a>
</body>
</html>

四、伪元素选择器

伪元素,表示页面中一些特殊的并不真实存在的元素(元素的位置)

        ::first-letter 表示第一个字符

        ::first-line 表示第一行

        ::selection 选中的内容

        ::before 元素的开始位置

        ::after 元素的结束位置

        before和after必须要结合content(添加)使用

五、继承

样式的继承(继承祖先的资产)

           定义:为一个元素设置的样式,同时也会应用到它的后代元素上

           优势:方便我们开发,将一些通用的样式统一设置到共同的祖先元素上,子元素的样式都可以获取到样式

           注意:并不是所有的样式都会被继承,比如:背景相关的

继承性

            可继承: font-size font-family color line-height ;

            不可继承 :border padding margin width height ;

六、选择器的权重

样式冲突:通过不同的选择器选中同一个元素,进行一样的样式设定

                  发生样式冲突时,应用哪一个样式由选择器的权重(优先级)决定

分享个面试题:

面试题:你平时都用哪些选择器,这些选择器的优先级能不能说一说

答:

行内样式,标签选择器,id选择器,class选择器,关系选择器,属性选择器

            选择器权重

                内联样式            1000

                id选择器            100

                属性选择器/类选择器  10

                标签选择器           1

                通配选择器           0

                继承样式            没有

这里的数字仅代表大小,不是实际存在的

            注意:

            1、如果选择器权重一样,谁靠下就执行谁

            2、如果选择器是交集选择器,那么需要将选择器的权重相加,最后谁重就听谁的

            3、如果选择器是并集选择器,则分别计算选择器的权重,谁高听谁的

            4、选择器的权重再累加,也不会超过它的上一级选择器的权重

            5、通过!important 将选择器的权重提至最高

                一般情况下,!important 要慎用

                    可以用来检测bug,检测是否是权重问题

                    用来更改各种css框架的样式

                给一个元素设置样式,怎么设置都没有反应

                    选择器权重问题

                    选择器没有选中当前元素

分享个小练习

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .w{
            color: blue;
            font-size: 22px;
        }
        .f{
            color: brown;
            font-size: 18px;
        }
        #down{
            position: relative;
            top: 6px;
        }
    </style>
</head>
<body>
    <div>
        <center>
            <img src="./img1.jpg" alt="海报"><br>
        <img id="down" src="./ic_new.png" alt="新">
        <strong><span class="w">血红海岸</span> <span class="f">7.2</span></strong>
        </center> 
    </div>
</body>
</html>

二白今天就写这么多

转载请注明出处或者链接地址:https://www.qianduange.cn//article/14905.html
标签
评论
发布的文章

安装Nodejs后,npm无法使用

2024-11-30 11:11:38

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!