html&CSS-----高级选择器

这篇具有很好参考价值的文章主要介绍了html&CSS-----高级选择器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 目录

前言

伪类选择器

状态类

结构类

 伪元素选择器

属性选择器 


前言

        前面我们学习了CSS中的相关选择器(链接html&CSS-----CSS选择器(上)_灰勒塔德的博客-CSDN博客    html&CSS-----CSS选择器(下)_灰勒塔德的博客-CSDN博客)今天我们接着学习比较高级的选择器,下面就一起来去看看吧!

伪类选择器

当你希望元素在特定的状态下发生样式的变化时,可以使用伪类选择器。

  • 状态类

    写法 介绍 举例
    :hover 鼠标悬停 a:hover{color:pink;}
    :link 未被访问的链接(特指a标签) a:link{color:red};
    :visited 被访问过的链接(特指a标签) a:visited{color:blue;}
    :active 被点击按下状态 a:active{color:green;}

 :hover :active 不仅仅能用在a标签上。

:hover最为常用最为重要。

可以进一步在伪类后进行选择,比如:#wrap:hover .nav{display:none;

写法 介绍 举例
:focus 获得焦点状态(接收键盘事件或其他用户输入的元素都允许 :focus 选择器。) input:focus{border:1px solid blue;}
:checked (单选/多选)表单被勾选状态 input:checked{background-color:#aaa;}

 下面看个示例

<!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>
        *{
            font-size: 30px;
        }
       .first ul li:hover{
            color: violet;
       }
       .second a:link{
        /* 这里可以改变未被访问时的a标签颜色(样式) */
            color: red;
       }
       .third{
            color: green;
       }
       .forth:active{
            color: blue;
       }
    </style>
</head>
<body>
    <!-- :hover选择器 -->
    <div class="first">
        <ul>
            <li>《Re:从零开始的异世界生活》</li>
            <li>《来着新世界》</li>
            <li>《紫罗兰永恒花园》</li>
        </ul>
    </div>
    <!-- :link选择器 -->
    <div class="second">
        <a href="www.baidu.com">访问百度</a>
    </div>
    <!-- :visited选择器 -->
    <div class="third">
        <a href="www.baidu.com" target="_blank">访问baidu</a>
    </div>
    <!-- :active选择器 -->
    <div class="forth">
        点我变颜色,看看吧
    </div>
</body>
</html>

 效果如下:

1691821211078

结构类

写法 介绍 举例
E:nth-child(n) 这个表示选择列表中的倒数第n个标签 p:nth-child(2){color:red;}
E:nth-of-type(n) E元素父级的第n个E元素,无视其他元素 p:nth-of-type(2){color:red;}
E:first-child E元素父级的第一个子元素(该子元素需要满足E的选择规则,不满足则不会选中任何元素) p:first-child{color:red;}
E:last-child E元素父级的最后一个子元素(该子元素需要满足E的选择规则,不满足则不会选中任何元素) p:last-child{color:red;}

上述选择器 n 所表示的可以是一个 数字 或者 奇数odd 或者 偶数even 或者 一个表达式。

 :nth-child(n) :nth-of-type(n)有对应的“倒着数”属性 :nth-last-child(n) :nth-last-of-type(n)

 下面看个示例:

<!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>
        *{
            font-size: 30px;
        }
        ul li:first-child{
            color: red;
        }
        ul li:last-child{
            color: red;
        }
    </style>
</head>
<body>
    <ul>
        <div>start</div>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <!-- <div>end</div> -->
    </ul>
</body>
</html>

效果:html&CSS-----高级选择器,html和css框架,html,css,前端,css3 这里要注意first-child和last-child这两个选择器的使用,因为这里作用的标签必须是父类元素的第一个或者最后一个,否则不起效果,如上所示。

 伪元素选择器

伪类选择器相当于在某种情况下添加一个虚拟类名,而伪元素选择器则是相当于创建了一个虚拟元素。

写法 介绍 举例
E::before 相当于在E元素的最前面添加一个额外的子元素 #wrap::before{content:"Hello World!"}
E::after 相当于在E元素的最后面添加一个额外的子元素 #wrap::after{content:"Hello World!"}

必须拥有 content 样式,上述两个伪元素才会生效。

创建的子元素是一个行内元素

::after常用来清除浮动。

content 除了写文字之外,还可以用url指定一张图片等其他写法。

        /* 消除浮动自适应问题的写法 */
        E::after{
            content: '';
            display: block;
            clear: both; 
        }

属性选择器 

这一类选择器跟正则匹配搭配使用,实际上并不是怎么用到,比较少用的那种,我们可以去选择性的去使用 

[attr] 属性选择器(拥有attr标签属性) [title]{ color:red; }
[attr=val] 属性选择器(拥有标签属性attr并值为val) [target=_blank]{ color:red; }
[attr*=val] 属性选择器(拥有标签属性attr并值包含val) [src*=baidu]{border:5px solid pink;}
[attr$=val] 属性选择器(拥有标签属性attr并值以val结尾) [src~=jpg]{ border:5px solid pink; }
[attr^=val] 属性选择器(拥有标签属性attr并值以val开头) [class^=nav]{ background:pink; }
选择规则1选择规则2 复合选择器(多个规则来匹配元素) div.nav.left{ width:100px; } 有nav和left类名的div标签

 下面看个示例:

<!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>
        *{
            font-size: 30px;
        }
        /* 这里匹配到的是含有o字母的选择器 */
        div[class*='o']{
            color: blueviolet;
        }
    </style>
</head>
<body>
    <div class="hhh">哈喽哦</div>
    <div class="food">吃饭了吗</div>
    <div class="look">快看快看</div>
</body>
</html>

效果:html&CSS-----高级选择器,html和css框架,html,css,前端,css3

 好了,以上就是今天的全部内容了,我们下一期再见!

分享一张壁纸:

html&CSS-----高级选择器,html和css框架,html,css,前端,css3文章来源地址https://www.toymoban.com/news/detail-650016.html

到了这里,关于html&CSS-----高级选择器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包