#css# 【四】如何使用hover,实现父对子的样式改变?

2023-11-20

#css#如何使用hover,实现父对子的样式改变?

思路及做法:
鼠标移动到父盒子的时候,
里面所有的子盒子的样式都发生变化的,
只需要直接在hover后面加上空格,
并且加上子盒子的类名 ,里面再写其他样式


.父盒子的类名:hover .子盒子的类名 {
//这里写鼠标移入到父盒子里面,子盒子要发生的样式变化
}

温馨提示,遇到父盒子里面的子盒子过多时,可以采取简写的形式:
以下为简写形式:


.父盒子的类名 {
     //父盒子的样式1;
     //父盒子的样式2;
     //父盒子的样式3;
     //父盒子的最后一个样式;
    &:hover {
      .子盒子的类名 {
         这里写鼠标进入父盒子以后,子盒子发生的样式变化  
            }
         }
    }

示例1:

//html
<div class="learn">
     <div class="learnbottom">
         <i class="iconfont" >我是子盒子1</i>
         <p>我是子盒子2</p>
     </div>
     <div class="learnstudy">
         <span>我是子盒子4</span>
     </div>
</div>
//css

.learn {
//自行写一些样式
}
.learn .learnbottom {
//自行写一些样式
}

.learn .learnbottom .iconfont{
//自行写一些样式
}

.learn .learnbottom .iconfont p {
//自行写一些样式

}

//以下开始写鼠标移入父盒子时,子盒子的样式发生改变
.learn:hover .learn .learnbottom {
    color: #DA1A14;
    cursor: pointer;
}
.learn:hover .learn .learnbottom .iconfont {
    color: #DA1A14;
    cursor: pointer;
}

.learn:hover .learn .learnbottom .iconfont p {
    color: #DA1A14;
    cursor: pointer;
}

示例2:简写形式
温馨提示,遇到父盒子里面的子盒子过多时,可以采取简写的形式:


<div class="btn">
    点击
    <i class="el-icon-sort"/>
</div>


.btn {
    background: #ccc;
    display: inline-block;
    padding: 8px 15px;
    cursor: pointer;
    &:hover {
        color: blue;
        i {
            color: red;
        }
    }
}

示例3:一个具体的例子
原型图:
在这里插入图片描述
需求:
当鼠标移动到卡片里面时(hover),
(父盒子):卡片呈现阴影
(子盒子:)图片的悬浮放大、文字变成红色、按钮边框变成红色

代码如下:
html:

  <div class="join>
            <div class="learn-top" > //父盒子
                <div class="learn-top-sub">//以下为子盒子
                    <img :src="item.cover" :alt="item.title">
                </div>
                <h4 :title="item.title">{{item.title}}</h4>
                <div class="learn-bottom">
                    <i class="iconfont iconrenshu1"></i>
                    <p>{{ item.pv }}人学过</p>
                    <div class="study"><p>立即学习</p></div>
                </div>
            </div>
        </div>

css


.join .learn-top {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 3.1rem;
    height: 3rem;
    background: #FFFFFF;
    box-shadow: 0 0 .2rem 0 rgba(206, 206, 206, 0.5);
    margin-right: .2rem;
    margin-bottom: .2rem;
    transition: all 0.9s;
    border-radius: .05rem .05rem 0 0 ;
    overflow: hidden;
}

.join .learn-top:hover {
    box-shadow: 0 .15rem .3rem rgba(0, 0, 0, 0.2);
/// box-shadow: 水平位置 垂直位置 模糊距离 阴影尺寸(影子大小)
//内外阴影inset,默认外阴影 /
//    transform: translateY(-.08rem); //向上浮动了8个像素
    cursor: pointer;
}

.join .learn-top:nth-child(4n) {
    margin-right:0;
}
.join .learn-top .learn-top-sub img {
    width: 100%;
    height: 100%;
    background-color: #666666;
    transform: scale(1.1); //原本的图片的大小,图片原来的大小不变
    transition: all 0.6s;
}
.learn-top-sub {
    width: 3.1rem;
    height: 1.75rem;
    background-color: #666666;
    overflow: hidden;
}

.join .learn-top:hover .learn-top-sub img  {
    transform: scale(1.2); 

}

//.learn-top img:hover {
//    cursor: pointer;
//}

.learn-top h4 {
    width: 2.75rem;
    height: .52rem;
    font-size: .18rem;
    font-weight: 400;
    color: #333333;
    line-height: .26rem;
    -webkit-line-clamp: 2;/** 显示的行数 **/
    overflow: hidden;
    margin: .18rem .18rem;
    font-family: SourceHanSansSC-Bold, SourceHanSansSC;
}

.join .learn-top:hover h4 {
    color: #DA1A14;
    cursor: pointer;
}

.learn-top .learn-bottom {
    position:absolute;
    left: 0;
    right: 0;
    bottom: .13rem;
    margin: auto;
    width: 2.75rem;
    height: .28rem;
}

.learn-top .learn-bottom i {
    float: left;
    line-height: .28rem;
    margin-right: .05rem;
}

.learn-top .learn-bottom p {
    float: left;
    width: .85rem;
    height: .2rem;
    font-size: .14rem;
    font-weight: 400;
    color: #999999;
    line-height: .28rem;
    font-family: SourceHanSansSC-Bold, SourceHanSansSC;

}
.learn-top .learn-bottom .study {
    float: right;
    width: 1.01rem;
    height: .28rem;
    border-radius: .23rem;
    border: .01rem solid #979797;
}

.join .learn-top:hover  .learn-bottom .study{
    cursor: pointer;
    color: #979797;
    border: .01rem solid  #DA1A14;
}

.learn-top .learn-bottom .study p {
    line-height: .28rem;
    text-align: center;
    padding-left: .08rem;
    color: #979797;
    font-family: SourceHanSansSC-Bold, SourceHanSansSC;
}

.join .learn-top:hover  .study p {
    color: #DA1A14;

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

#css# 【四】如何使用hover,实现父对子的样式改变? 的相关文章

随机推荐

  • Vue.observable的理解

    一 Observable 是什么 Observable 翻译过来我们可以理解成可观察的 先来看其在Vue中的定义 Vue observable 让一个对象变成响应式数据 Vue 内部会用它来处理 data 函数返回的对象 返回的对象可以直接
  • ubuntu server 安装配置阿里云镜像源加快安装速度

    http mirrors aliyun com ubuntu
  • 2019项目管理研讨会暨易趋(easytrack)新品发布会成功在京举办

    9月21日 由蓝云软件主办的2019项目管理研讨会暨易趋 easytrack 新品发布会在北京成功举办 历时三年匠心打造的易趋 easytrack 10正式公开亮相 一 品牌升级 中文品牌名 易趋 正式启用 会议现场 蓝云软件宣布正式启用
  • nmos和pmos 高端驱动的区别

    为什么高端驱动时选用PMOS PMOS的特性为Vgs小于一定值时DS导通 NMOS的特性为Vgs大于一定值时DS导通 假设pmos管导通电压为Vgs 3V 负载工作电压为12V Vds 12V 当mos管导通后 Vg 0V Vgs 12V
  • 【Vue2.0源码学习】内置组件篇-keep-alive

    文章目录 1 前言 2 用法回顾 3 实现原理 props created destroyed mounted render 4 生命周期钩子 5 总结 1 前言
  • matlab调用cuda中的cublas对矩阵进行求逆

    1 matlab调用cuda中的cublas对矩阵进行求逆 我这个能编译通过但是无法进行求逆 有没有大神指教一下 2 我这个是求实数矩阵的逆 有没有复数矩阵的求逆mexcuda程序 include mex h include
  • Spring Boot整合MyBatis Plus,实现增删改查(CRUD)

    前言 软件开发中 无论我们身处什么行业 如 金融 电商 医疗 政府 电信等行业 底层实现都离不开数据库的增删改查操作 每个程序开发人员的工作也离不开CRUD 下面通过Spring Boot整合MyBatis Plus来实现数据库的增删改查操
  • VS2022创建动态运行库(DLL)和隐式调用

    创建动态运行库 一 打开VS2022 新建一个DLL工程 二 在项目中新建一个头文件 输入以下代码 pragma once ifdef BUILD DLL 当源文件中有 define BUILD DLL时执行dllexport BUILD
  • 高德地图实现聚合点功能实例

    在进地图API开发时 有时会出现海量数据展示 这里就不得不使用聚合点功能 减少页面初始化过程中加载过多数据而导致卡顿现象 这里通过高德地图API为例 通过简单实例 带大家了解下聚合点实现方法 一 引入相关资源
  • 网站架构探测&chrome插件用于信息收集

    文章目录 0x01 网站架构探测 云悉 潮汐指纹 0x02 chrome插件用于信息收集 添加插件的方法 官网添加方法 开发者模式添加 Wappalyzer 下载方法 功能 FOFA Pro view 下载方法 ModHeader 0x01
  • 博客搭建二:NexT主题相关设置beta

    安装NexT 在你的博客根目录 git clone https github com iissnan hexo theme next themes next 不同版本的NexT配置文件略有不同 本次使用的是hexo theme next 7
  • 多线程(九):JUC组件

    在来时juc组件前 我们先把上一章遗漏的部分给补上 synchronized 实现策略 锁升级 无锁 gt 偏向锁 gt 轻量级锁 gt 重量级锁 还有一个 锁消除 锁消除即删除不必要的加锁操作 JVM在运行时 对一些 在代码上要求同步 但
  • sort快速排序

    sort快速排序 使用sort必须要有相应的头文件 include
  • 中标麒麟系统把玩记录

    1 指令发送邮件 echo content mail vs this is title a a sh XXX XX com 其中 content代表发送的内容 thisistitle代表邮件主题 a sh为附件 2 开机运行脚本 在etc
  • 田忌赛马java代码算法,AcWing 1489. 田忌赛马——Java版代码

    import java io import java util public class 田忌赛马 public static void main String args throws IOException BufferedReader
  • Thrift快速入门

    文章目录 Thrift的安装 windows下安装 Linux下安装 Thrift的使用 编写IDL文件 命名空间 namespace 基本数据类型 类型定义 typedef 结构体类型 struct 枚举类型 enum 异常类型 exce
  • MybatisX简介

    MybatisX简介 前言 一 什么是MybatisX 二 如何使用 1 安装插件 2 创建一个mybatis项目或者于项目中引入mybatis依赖 3 快速生成示例 3 1 快速生成mapper方法 3 2 MybatisX Genera
  • 使用lattice包的bwplot函数绘制箱图比较多个模型在不同指标上的性能差异(R语言)

    使用lattice包的bwplot函数绘制箱图比较多个模型在不同指标上的性能差异 R语言 箱图是一种常用的数据可视化方法 用于表示一组数据的分布特征 包括中位数 四分位数 异常值等 在比较多个模型在多个指标上的性能差异时 箱图可以提供直观的
  • NCCL相关笔记

    本文仅代表个人观点 不保证正确性 一 NCCL简介 1 什么是NCCL NCCL是NVIDIA集合通信库 NVIDIA Collective Communications Library 的简称 是用于加速多GPU之间通信的库 能够实现集合
  • #css# 【四】如何使用hover,实现父对子的样式改变?

    css 如何使用hover 实现父对子的样式改变 思路及做法 鼠标移动到父盒子的时候 里面所有的子盒子的样式都发生变化的 只需要直接在hover后面加上空格 并且加上子盒子的类名 里面再写其他样式 父盒子的类名 hover 子盒子的类名 这