HTML 如何使父级Div激活子Div的鼠标悬停和点击样式

HTML 如何使父级Div激活子Div的鼠标悬停和点击样式

在本文中,我们将看到如何使父级Div在鼠标悬停和点击时激活子Div的样式。我们可以使用伪类(如:hover和:active)来实现这一点。

实现父级Div激活子Div鼠标悬停和点击样式的方法

  • 纯CSS方法:使用伪类
  • CSS和JavaScript方法:不使用伪类

方法1:使用纯CSS

伪类

伪类是CSS中用于定义HTML元素在用户交互或元素状态下的特殊状态的关键字,而无需额外的类或JavaScript

  • :hover: 当用户将鼠标指针悬停在元素上时,该伪类将选择该元素。
  • :active: 当元素正在被激活时,通常是用户点击该元素时,该伪类将选择该元素。

示例: 在这个示例中,我们将使用CSS伪选择器使父级Div在鼠标悬停和点击时激活子Div的样式。

HTML

<!DOCTYPE html> 
<html> 
  
<head> 
    <style> 
        .parent-div { 
          width: 200px; 
          height: 200px; 
          background-color: lightgray; 
        } 
          
        .child-div { 
          width: 100px; 
          height: 100px; 
          background-color: skyblue; 
          margin: 50px; 
          transition: background-color 0.3s; 
        } 
          
        .parent-div:hover .child-div { 
          background-color: lightgreen; 
        } 
          
        .parent-div:active .child-div { 
          background-color: coral; 
        } 
    </style> 
</head> 
  
<body> 
    <div class="parent-div"> 
        <div class="child-div">Hover and Click Me</div> 
    </div> 
</body> 
  
</html>

输出:

HTML 如何使父级Div激活子Div的鼠标悬停和点击样式

方法2:使用CSS和JavaScript

例子: 在本文中,我们将使用CSS和JavaScript来使父级div在鼠标悬停和选中时激活子级div的样式。

HTML

<!DOCTYPE html> 
<html> 
  
<head> 
    <style> 
        .parent-div { 
          width: 200px; 
          height: 200px; 
          background-color: lightgray; 
        } 
          
        .child-div { 
          width: 100px; 
          height: 100px; 
          background-color: skyblue; 
          margin: 50px; 
        } 
          
        .child-div.active { 
          background-color: coral !important; 
        } 
    </style> 
</head> 
  
<body> 
    <div class="parent-div"> 
        <div class="child-div"> 
              Hover and Click Me 
          </div> 
    </div> 
  
    <script> 
        const parentDiv =  
                  document.querySelector('.parent-div'); 
        const childDiv =  
                  parentDiv.querySelector('.child-div'); 
          
        parentDiv.addEventListener('click', () => { 
              childDiv.classList.toggle('active'); 
        }); 
          
        parentDiv.addEventListener('mouseover', () => { 
              childDiv.style.backgroundColor = 'lightgreen'; 
        }); 
          
        parentDiv.addEventListener('mouseout', () => { 
              childDiv.style.backgroundColor = 'skyblue'; 
        }); 
          
    </script> 
  
</body> 
  
</html>

输出:

HTML 如何使父级Div激活子Div的鼠标悬停和点击样式

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程