美文网首页
CSS hover、focus 父对子、子对父、同级之间的控制

CSS hover、focus 父对子、子对父、同级之间的控制

作者: keknei | 来源:发表于2021-04-15 16:31 被阅读0次

父级hover控制子级样式

html代码
<div class="div1">
   <h1>我是h1 1</h1>
   <h1>我是h1 2</h1>
   <p>我是无辜的</p>
 </div>
css代码
.div1:hover h1{
   color:red;
}
效果图
父级hover控制子级样式

兄弟元素hover控制同级元素两种方式

  1. 用+号控制兄弟元素,但是只能控制一个元素,并且是相邻的后面的兄弟元素
html代码
<div class="div1"></div>
<div class="div2"></div>
<div>我是div</div>
<p>我是p1</p>
<p>我是p2</p>
css代码
.div1:hover + div{
   color:red;
}
效果图
hover控制兄弟元素
  1. 用~号来控制兄弟元素,可以控制后面的所有兄弟元素,不用是相邻的元素
html代码
<div class="div1"></div>
<div class="div2"></div>
<div>我是div</div>
<p>我是p1</p>
<p>我是p2</p>
css代码
.div1:hover ~ p{
   color:red;
}
效果图
用~号来控制兄弟元素.png

如果想要子级hover或者focus控制父级元素的样式,用css是控制不了的,只能用js,一般只有input或者textarea等输入框标签才有focus伪类选择器,也有focus、blur事件,但是像div、p等标签是没有的,如果想要加上这种事件,需要在标签上加上tabindex;
tabindex 属性规定元素的 tab 键控制次序(当 tab 键用于导航时)

html代码
  <div class="div1">
    <h1>我是h1 1</h1>
    <h1>我是h1 2</h1>
    <p tabindex="1">我是无辜的</p>
  </div>
  <div class="div2">
    <h2>我是h2 1</h2>
    <h2>我是h2 2</h2>
  </div>

比如说有一个需求,需要第一个div里面的p标签focus的时候,第二个div改变样式,失去焦点的时候,第二个div再恢复原来的样式,如果用点击事件的话,就比较麻烦了,因为还有给document加上点击事件来给第二个div再恢复原来的样式,如果给p标签加上tabindex属性的话,就能用focus和blur事件,就很简单

js代码
  const p=document.querySelector("#p");
  const div=document.querySelector("#div");
  p.addEventListener("focus",()=>{
    div.style.border="1px solid red";
  });
  p.addEventListener("blur",()=>{
    div.style.border="none";
  });
focus控制父级或者别的元素

相关文章

  • CSS hover、focus 父对子、子对父、同级之间的控制

    父级hover控制子级样式 html代码 css代码 效果图 兄弟元素hover控制同级元素两种方式 用+号控制兄...

  • 控制父级别hover + 兄弟元素控制

    改动点: 控制父级别hover + 兄弟元素控制 -------------------------源码-----...

  • spring的父子容器及配置

    spring父子容器 spring总的上下文容器有父子之分,父容器和子容器。** 父容器对子容器可见,子容器对父容...

  • React事件传递

    事件传递: 父传子、子传父; 父传子 简单实例: 子传父 简单实例: 同级组件传值 简单实例: 方法一: 通过父...

  • react组件之间的通讯

    背景故事很简单:父组件对子组件传递信息,直接使用props即可;子组建对父组件传递信息,参考自React 组件之间...

  • Sass

    1、父选择器 & 这里&代表父级a的hover 这里的&.icon-right是给.g-button加一个同级的c...

  • react子组件向父组件传值

    相关资料:react 父组件怎么获取子组件的这个值React组件间信息传递方式react同级组件之间传值 • 父...

  • 兄弟组件之间的通信

    原理 兄弟之间传值借助的是子组件->父组件 父组件->子组件 css: 在 A组件 中添加点击事件 在父组件声明一...

  • Vue.js--组件通信

    vue组件之间的通信包括三种: 1.父组件向子组件通信 2.子组件向父组件通信 3.同级组件之间的通信 首先,看一...

  • css hover控制同级元素css样式

    参考地址:https://blog.csdn.net/guanguan0_0/article/details/11...

网友评论

      本文标题:CSS hover、focus 父对子、子对父、同级之间的控制

      本文链接:https://www.haomeiwen.com/subject/xqpchltx.html