伪类hover的进阶用法

伪类在各位前端攻城狮的眼里肯定不陌生,但是你以为hover伪类只能修改当前元素本身?
那你就错了,来看看吧!

:hover伪类的定义

定义和用法

:hover 伪类在鼠标移到元素上时向此元素添加特殊的样式。

说明

这个伪类应用处于“悬停状态”的元素。悬停定义为用户指示了一个元素但没有将其激活。对此最常见的例子是将鼠标指针移到 HTML 文档中一个超链接的边界范围内。

正题

当鼠标悬停在某个元素的时候,你想触发另外一个元素的效果,一般人想到的是使用js来搞定这个问题。
当然,一些动过脑筋的同学们一定会想如果能有:hover伪类搞定就好了,可是看了看:hover的定义,就打消了这个念头。


其实如果只改变该元素内其他元素的样式我们是可以做到的,聪明的你可能已经想到了办法。



两个嵌套的div,我们把鼠标悬停在外部的div,改变内部div的样式。
开始的时候是这样的:

        <div class="big">
            <div class="small"></div>
        </div>
       .big{
            position: relative;
            width: 200px;
            height: 200px;
            background: red;
        }
        .small{
            position:absolute;
            left:50%;
            top:50%;
            margin-left:-50px;
            margin-top:-50px;
            width: 100px;
            height: 100px;
            background: orange;
            
        }
初始样式

我们鼠标悬停在大的div里,改变里面小的div样式,当鼠标悬停时我们来把小的div改成蓝色。

鼠标悬停样式

上代码!

       .big{
            position: relative;
            width: 200px;
            height: 200px;
            background: red;
        }
        .big:hover .small{
            background: blue;
        }
        .small{
            position:absolute;
            left:50%;
            top:50%;
            margin-left:-50px;
            margin-top:-50px;
            width: 100px;
            height: 100px;
            background: orange;         
        }

直接在伪类后面加上内部元素的类名,达到了我们的效果。
怎么样?比写js或者jq来的简单吧,css玩好了我们照样6的飞起。

知识补充

锚伪类一共有四个属性,分别是:未被访问状态,已访问状态,鼠标悬停状态和活动状态。

a:link {color: #FF0000}     /* 未访问的链接 */
a:visited {color: #00FF00}  /* 已访问的链接 */
a:hover {color: #FF00FF}    /* 当有鼠标悬停在链接上 */
a:active {color: #0000FF}   /* 被选择的链接 */

但是在设置的时候,如果不注意细节会导致设置无效化。
书写时应该按以下顺序来写:

:link > :visited > :hover > :active

同一元素的锚伪类,低级的不能写在高级的前面,否则代码不会生效。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文转载自:众成翻译译者:为之漫笔链接:http://www.zcfy.cc/article/239原文:http...
    极乐君阅读 7,527评论 1 62
  • 1.class 和 id 的使用场景? 类选择器允许以一种独立于文档元素的方式来指定样式。该选择器可以单独使用,也...
    草鞋弟阅读 2,551评论 0 1
  • Bootstrap是什么? 一套易用、优雅、灵活、可扩展的前端工具集--BootStrap。GitHub上介绍 的...
    凛0_0阅读 11,078评论 3 184
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,042评论 1 92
  • 1. class 和 id 的使用场景: id:id选择器,使用#name定义(name为id名,可任意取名),使...
    石林涛阅读 430评论 0 1

友情链接更多精彩内容