代码之家  ›  专栏  ›  技术社区  ›  Daniel Porteous

缩小悬停扩展区域的界限

  •  1
  • Daniel Porteous  · 技术社区  · 8 年前

    考虑一下这个例子。我有两个div,其中一个当你悬停在上面时会变大两倍。当您将鼠标移出展开框的边缘时,它将恢复为正常大小。

    我已经读了一些其他的问题,我想也许伪元素是前进的方向,但我想不出来。例如,当图元收缩时保持边界框大小,但当图元扩展时不保持边界框大小。

    .left {
    width:300px; float:left;
    }
    
    .right {
    width:300px; float:right; background-color: red;
    }
    
    .right:hover {
        transform: scale(2);
    }
    <br>
    </br>
    <div style="width:800px">
        <div class="left">foo</div>
        <div class="right">bar</div>
    </div>
    1 回复  |  直到 8 年前
        1
  •  0
  •   pretzelhammer Paras Bhattrai    8 年前

    添加 pointer-events: none; div 你想要改变。应用 :hover 对父母的影响 部门 包装转换 . 例子:

    html, body {
      height: 100%;
    }
    
    body {
      display: flex;
      justify-content: center;
      align-items: center;
    }
    
    .box {
      height: 100px;
      width: 100px;
      background: tomato;
      pointer-events: none;
    }
    
    .parentBox:hover .box {
      transform: scale(2);
    }
    <div class="parentBox">
      <div class="box"></div>
    </div>

    也可以通过将事件处理程序放在长方体的父对象上,使长方体对事件作出反应,例如单击:

    html,正文{
    }
    
    身体{
    显示:flex;
    对齐内容:居中;
    
    .盒子{
    高度:100px;
    背景:番茄;
    }
    
    .parentBox:悬停.box{
    }
    <div class="parentBox" onclick="alert('You clicked the box!');">
      <div class="box"></div>
    </div>