利用CSS hover伪类改变其他元素的总结

:hover 伪类经常用于页面的一些鼠标交互、链接点击变化,增强页面的用户体验,但是可以用来改变其他元素样式,可以在不使用JS 的情况下,达到想要的页面效果。

1、hover改变自身的效果:

鼠标悬浮改变样式:

HTML

<div id="yanshi">
            演示
        </div>

CSS

       #yanshi{
                width: 100px;
                height: 100px;
                transition: background-color 0.5s,color 0.5s;
                text-align: center;
                margin: 20px auto;
                line-height: 100px;
                border: 1px solid green;

            }
            #yanshi:hover{
                background-color: green;
                color: white;

            }

2、hover改变子元素的样式

HTML

        <div id="fir">
            <div class="se"></div>
            <div class="se"></div>
            <div class="se"></div>
            <div class="se"></div>
            <div class="se"></div>
            <div class="se"></div>
            <div class="se"></div>
        </div>

CSS

            #fir{
                width: 820px;
                height: 300px;
                border: 1px solid green;
                margin: 5px auto;

            }
            #fir div{
                border: 1px dashed gray;
                width: 100px;
                height: 100px;
                float: left;
                margin: 5px;
                transition: transform 0.5s;
            }

            div#fir:hover .se{
                transform: rotate(15deg);
            }

hover直接可以批量改变内部元素的样式,这样的效果很多用在产品的展示页面,鼠标悬浮在页面的一个元素上,不同的产品图片实现位移,达到很好的交互效果。重要的一点,hover在父元素上,对子元素进行样式调整。

3、hover改变兄弟元素的样式:(需要在hover之后添加“+”)

HTML不变,变化的CSS部分

            #fir div:first-child:hover + .se{
                transform: rotate(15deg);
            }

效果:

可以看到,只有一个矩形应用到了样式,hover对兄弟元素改变样式,只对相邻的兄弟元素起作用。

总结一下:hover对同级别的元素改变样式,改变的是相邻兄弟元素的样式,即一个元素的样式;对元素的子元素应用hover改变样式,可以同时起作用。利用伪类改变其他元素的样式,其他元素须是hover元素的子元素。不当之处,请批评指出。

转https://www.cnblogs.com/engeng/p/7429095.html

原文地址:https://www.cnblogs.com/changgf/p/10356936.html

时间: 2024-10-13 20:56:22

利用CSS hover伪类改变其他元素的总结的相关文章

CSS之伪类

:hover -- CSS :hover 伪类,适用于光标(鼠标指针)指向一个元素,但此元素未被激活时的样式 语法: :hover CSS版本:CSS2 引用网址:http://www.dreamdu.com/css/pseudo-class_hover/ 说明: 适用于光标(鼠标指针)指向一个元素,但此元素未被激活时 客户端(浏览器)可以根据用户与其交互的动作改变其渲染效果,CSS为这种情况提供了三个伪类:hover.active.focus 上述三种伪类不是互斥的,一个元素同时可以适用其中的

CSS中2d转换:transition过渡放在:hover伪类中与应用在整个元素中区别

css的2d转换十分强大,能够在不使用js的情况下,实现页面的元素与用户之间更多动态的交互,增强用户体验.其中使用最多的就是hover伪类. 1.创建一个页面的div元素: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>2d转换测试</title> </head> <body> <div id="fr&

CSS中伪类及伪元素用法详解

原文:CSS中伪类及伪元素用法详解 伪类的分类及作用: 注:该表引自W3School教程 伪元素的分类及作用: 接下来让博主通过一些生动的实例(之前的作业或小作品)来说明几种常用伪类的用法和效果,其他的读者可以自己尝试: :active  大致效果为用鼠标点击时,元素增加特效,鼠标松开时,特效消失.多用在按钮的点击上. 写法: 这里id为box的是一div块,在css中首先设置了他的基本样式,下面为加入:active伪类后需要修改的样式. 未点击时: 点击之后: :active.:hover.:

关于css中伪类及伪元素的总结

css中的伪类和伪元素总是混淆,今天参考了很多资料,也查看了部分文档,现将伪类及伪元素总结如下: 一.由来: 伪类和伪元素的引入都是因为在文档树里有些信息无法被充分描述,比如CSS没有“段落的第一行”.“文章首字母”之类的选择器,而这在一些出版场景里又是必须的,这一情况下出现的.引用标准中的话: CSS introduces the concepts of pseudo-elements and pseudo-classes to permit formatting based on infor

浅谈CSS的伪类与伪元素

本文向大家展示了CSS的伪类与伪元素,介绍的非常全面,这里推荐给大家参考下. 伪类 伪类选择元素基于的是当前元素处于的状态,或者说元素当前所具有的特性,而不是元素的id.class.属性等静态的标志.由于状态是动态变化的,所以一个元素达到一个特定状态时,它可能得到一个伪类的样式:当状态改变时,它又会失去这个样式.由此可以看出,它的功能和class有些类似,但它是基于文档之外的抽象,所以叫伪类. 伪类选择器:CSS中已经定义好的选择器,不能随便取名 :link 伪类将应用于未被访问过的链接,与:v

【CSS】伪类与伪元素

一伪类 语法: selector : pseudo-class {property: value} 提示:伪类名称对大小写不敏感.    与 CSS类搭配使用 selector.class : pseudo-class {property: value} 例子:a:link {color: #FF0000} /* 未访问的链接 */a:visited {color: #00FF00} /* 已访问的链接 */a:hover {color: #FF00FF} /* 鼠标移动到链接上 */a:act

用:hover伪类代替js的hover事件

制作二级菜单要实现鼠标移动上去显示子菜单,鼠标移出子菜单隐藏,或者其他类似需求的地方,首先我会想到用jquery的hover事件来实现,如: $(".nav").hover(function(){ $("sub-nav").addClass("show"); }, function(){ $("sub-nav").removeClass("show"); }); 第一个function实现鼠标移上去的样式,

CSS的伪类

伪类 W3C:"W3C" 列指示出该属性在哪个 CSS 版本中定义(CSS1 还是 CSS2). 属性 描述 CSS :active 向被激活的元素添加样式. 1 :focus 向拥有键盘输入焦点的元素添加样式. 2 :hover 当鼠标悬浮在元素上方时,向元素添加样式. 1 :link 向未被访问的链接添加样式. 1 :visited 向已被访问的链接添加样式. 1 :first-child 向元素的第一个子元素添加样式. 2 :lang 向带有指定 lang 属性的元素添加样式.

CSS :first-child 伪类

CSS :first-child 伪类  向元素的第一个子元素添加样式,示例如下: 例 1 - 匹配第一个 <p> 元素(第一个段落显示为红色) <style type="text/css"> p:first-child { color:red }; </style> <p>I am a <em>strong</em> man. I am a <em>strong</em> man.<