鱼C论坛

 找回密码
 立即注册
查看: 790|回复: 1

[已解决]伪类选择器后跟群组选择器不生效问题

[复制链接]
发表于 2023-3-3 17:12:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 wlHy 于 2023-3-3 17:12 编辑

小白,目前在自学html,在写案例的时候发现一个问题,不得其解。
问题描述:
        想对.box的div标签设置一个hover,当鼠标放上去的时候能够显示子标签中的.icon-hover 和 p标签内容。
        但是当我写成群组选择的时候只有.icon-hover生效了,p标签没有生效
  1.         .box:hover .icon-hover,p{
  2.             display: block;
  3.         }
复制代码

        当我把两个拆开写的时候就都可以正常生效了,这是为什么呢?
  1.         .box:hover .icon-hover{
  2.             display: block;
  3.         }

  4.         .box:hover p{
  5.             display: block;
  6.         }
复制代码

完整代码如下。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.     <title>Document</title>
  8.     <style>
  9.         *{
  10.             margin: 0;
  11.             padding: 0;
  12.         }
  13.         .container{
  14.             width: 912px;
  15.             height: 600px;
  16.             margin: 0 auto;
  17.             background: yellow;
  18.             /* position: relative; */
  19.         }
  20.         .box{
  21.             width: 275px;
  22.             height: 275px;
  23.             border: 6px solid #cccccc;
  24.             position: relative;
  25.             background: red;
  26.             /* padding: 7px 5px; */
  27.         }

  28.         .box .pic{
  29.             width: 100%;
  30.             height: 100%;
  31.         }

  32.         .box .icon{
  33.             position: absolute;
  34.             left: 7px;
  35.             bottom: 7px;
  36.         }

  37.         .box .icon-hover{
  38.             display: none;
  39.         }



  40.         .box p{
  41.             position: absolute;
  42.             left: 0;
  43.             top: 0;
  44.             color: white;
  45.             padding: 7px 5px;
  46.             display: none;
  47.         }
  48.         
  49.         .box:hover .icon-hover,p{
  50.             display: block;
  51.         }

  52.         /* .box:hover p{
  53.             display: block;
  54.         } */

  55.     </style>
  56. </head>
  57. <body>
  58.     <div class="container">
  59.         <div class="box">
  60.             <img src="../img/026-定位案例/img001.jpg" alt="" class="pic">
  61.             <img src="../img/026-定位案例/tu.gif" alt="" class="icon">
  62.             <img src="../img/026-定位案例/tu2.gif" alt="" class="icon icon-hover">
  63.             <p>
  64.                 <img src="../img/026-定位案例/logo.gif" alt="">
  65.                 <span>好好快写,写会了一会好下课。好好快写,写会了一会好下课。</span>
  66.             </p>
  67.         </div>
  68.         <div></div>
  69.         <div></div>
  70.         <div></div>
  71.         <div></div>
  72.         <div></div>
  73.     </div>
  74. </body>
  75. </html>
复制代码
最佳答案
2023-3-3 17:54:52
在你的代码中,.box:hover .icon-hover,p 这一行实际上是两个选择器:.box:hover .icon-hover 和 p。这意味着当 .box 处于悬停状态时,.icon-hover 将显示,而 p 标签将始终显示。

要使其正常工作,你应该将其更改为 .box:hover .icon-hover, .box:hover p。这样,在 .box 处于悬停状态时,.icon-hover 和 p 标签都将显示。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-3 17:54:52 | 显示全部楼层    本楼为最佳答案   
在你的代码中,.box:hover .icon-hover,p 这一行实际上是两个选择器:.box:hover .icon-hover 和 p。这意味着当 .box 处于悬停状态时,.icon-hover 将显示,而 p 标签将始终显示。

要使其正常工作,你应该将其更改为 .box:hover .icon-hover, .box:hover p。这样,在 .box 处于悬停状态时,.icon-hover 和 p 标签都将显示。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 04:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表