CSS hover伪类改变其他元素的样式

摘要:
重要的一点,hover在父元素上,对子元素进行样式调整。也可以#firdiv:hover~.se改变所有同级的元素总结一下:hover对同级别的元素改变样式,改变的是相邻兄弟元素的样式,即一个元素的样式;对元素的子元素应用hover改变样式,可以同时起作用。利用伪类改变其他元素的样式,其他元素须是hover元素的子元素。

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

1、hover改变自身的效果:

鼠标悬浮改变样式:

HTML

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

CSS

复制代码
       #yanshi{
                 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{
                 820px;
                height: 300px;
                border: 1px solid green;
                margin: 5px auto;
                
            }
            #fir div{
                border: 1px dashed gray;
                 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:hover + .se{
                transform: rotate(15deg);
            }

效果

CSS hover伪类改变其他元素的样式第7张

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

也可以 #fir div:hover ~ .se 改变所有同级的元素

CSS hover伪类改变其他元素的样式第8张

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

免责声明:文章转载自《CSS hover伪类改变其他元素的样式》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇什么是MBS,ABS和CDO.gitignore模板下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CSS3之边框图片border-image

CSS3中有关border的属性,还有很多,今天我将为大家介绍一个很好玩的属性——Border-image。有了CSS3之边框图片Border-image,我们可以轻松搞定圆角,轻松搞定很多之前难搞的东东。 一、border-image的语法 1、border-image-source border-image-source:url(image);/*im...

css如何画出类似原生的线条?

做前端的程序猿特别是移动端的,都很头疼遇到一种情况就是需要div底部加一个线条但是 1px的效果很粗,跟设计案上的不符合。 我的一个伙伴查找出来的一个解决方法: 在需要加上的线条的地方加上一个div class是一下对应的类,(使用的时候自己试试就知道了) css代码: .list-up-down-line:before { content: " "; p...

修改KindEditor的CSS文件

KindEditor 编辑器带有一个 css 文件,以规范编辑器的背景色和字体大小,具体文件内容如下: .ke-content {  font-size: 10px;  background-color: #ffffff;} 字 体规格定义为10个像素,如果觉得太小了,可以根据需要修改,单位可以用 px ,也可以用 pt ,看需要而定吧。同样的,背景色...

浏览器的渲染原理

参考1:https://coolshell.cn/articles/9666.html#comments 参考2:https://blog.fundebug.com/2019/01/03/understand-browser-rendering/ 思维导图 浏览器工作大流程   从上面这个图中,我们可以看到那么几个事: 1)浏览器会解析三个东西: 一个是...

让CSS更简洁、高效些,别再想当然了

用了这么多年的CSS,现在才明白CSS的真正匹配原理,不知道你是否也跟我一样?看1个简单的CSS: DIV#divBox p span.red{color:red;},按习惯我们对这个CSS 的理解是,浏览器先查找id为divBox的DIV元素,当找到后,再找其下的所有p元素,然后再查找所有span元素,当发现有span的class为red的时候,就应用该...

css3弹性盒子

弹性盒子:Flex Box 弹性盒子,就是将元素放在盒子中,自行选择里面元素的位置和间距边距   1.flex-direction:属性指定了弹性子元素在父容器中的位置 row:横向从左到右排列(左对齐),默认的排列方式 row-reverse:反转横向排列(右对齐,从后往前排,最后一项排在最前面 column:纵向排列 column-reverse:反...