点击父元素 子元素发生变化

今天学到css的动画animation 和 过渡transition
动画没什么说的,
在使用过度这个属性时,发现 :hover 必须要悬停在设置的div上才动,比如旋转,有时候就给你卡在那,不会让你的鼠标停在空白的地方。
所以 应该是有悬停在父元素上 而子元素动的功能的。css就是这样,不知道就不会,知道就会。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        #div1{
            width: 100px;
            height:100px;
            background-color: aqua;
            /* transform: rotate(360deg); */
            transition: 
            width 4s,
            transform 4s;
        }
        /* #div:hover{
            width: 400px;
            transform: rotate(180deg);
        } */
        /* 点击父元素 子元素发生变化 */
        #div2:hover #div1{
            width: 400px;
            transform: rotate(180deg);
        }
        #div2{
            width: 800px;
            height: 500px;
            background-color: blueviolet;
        }
    </style>
</head>
<body>
        <!-- transition: property duration timing-function delay;   
        
        property:执行过渡的属性  
        duration:执行过渡的持续时间  
        timing-function:执行过渡的速率模式  
        delay:延时多久执行  



        link表示链接在正常情况下(即页面刚加载完成时)显示的颜色。

visited表示链接被点击后显示的颜色。

hover表示鼠标悬停时显示的颜色。

focus表示元素获得光标焦点时使用的颜色,主要用于文本框输入文字时使用(鼠标松开时显示的颜色)。

active表示当所指元素处于激活状态(鼠标在元素上按下还没有松开)时所显示的颜色。

注:伪类的顺序应为link--visited--hover--focus--active。
         -->
         <div id="div2">
                <div id="div1">

                    </div>
         </div>
        
</body>
</html>

css这语法 熟悉了也很有趣。
通过父元素能操作子元素,那应该通过同级的也能操作,但是发现一个问题
:hover 只能向下 不能向上

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        #div1{
            width: 100px;
            height:100px;
            background-color: aqua;
            /* transform: rotate(360deg); */
            transition: 
            width 4s,
            transform 4s;
        }
        /* #div:hover{
            width: 400px;
            transform: rotate(180deg);
        } */
        /* 点击父元素 子元素发生变化 */
        #div2:hover + #div1{
            width: 400px;
            transform: rotate(180deg);
        }
        #div2{
            width: 800px;
            height: 500px;
            background-color: blueviolet;
        }
    </style>
</head>
<body>
        <!-- transition: property duration timing-function delay;   
        
        property:执行过渡的属性  
        duration:执行过渡的持续时间  
        timing-function:执行过渡的速率模式  
        delay:延时多久执行  



        link表示链接在正常情况下(即页面刚加载完成时)显示的颜色。

visited表示链接被点击后显示的颜色。

hover表示鼠标悬停时显示的颜色。

focus表示元素获得光标焦点时使用的颜色,主要用于文本框输入文字时使用(鼠标松开时显示的颜色)。

active表示当所指元素处于激活状态(鼠标在元素上按下还没有松开)时所显示的颜色。

注:伪类的顺序应为link--visited--hover--focus--active。
         -->
        
                
                <div id="div2">
                </div>
                <div id="div1">

                    </div>
        
</body>
</html>

我这个div1只能放在div2下面
参考:
https://blog.csdn.net/qq_42039281/article/details/81660531

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值