css - 使用 CSS 而不是 Javascript 将类添加到父级

标签 css html

如果选中复选框,则在不使用 Javascript 的情况下向父级添加 CSS 类。

这里是试过的代码:

CSS 代码:

span:focus~.to-be-changed {
  color: red;
}

HTML代码:

<p class="to-be-changed">I'm going to be red! It's gonna be legen... Wait for it...</p>
<span tabindex="0">Click me!</span>
<p class="to-be-changed">I'm going to be red! It's gonna be legen... Wait for it...</p>

最佳答案

如果您允许更改您的 html 标记,则有一种方法。在父容器中使用 flex 及其 order 属性来随机排列子元素。

span:focus~.to-be-changed {
  color: red;
}

div {
  display: flex;
  flex-direction: column;
}

span {
  order: 2;
}
<div>
  <span tabindex="0">Click me!</span>
  <p class="to-be-changed">I'm going to be red! It's gonna be legen... Wait for it...</p>
  <p class="to-be-changed" style="order:3;">I'm going to be red! It's gonna be legen... Wait for it...</p>
</div>

关于css - 使用 CSS 而不是 Javascript 将类添加到父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54454761/

相关文章:

javascript - 影响布局的CSS子菜单

javascript - 网页上的文本框输出 H1 到 H6 并重复

CSS grid-template-columns 的行为方式与我不同

html - Bulma:如何让按钮在盒子中居中?

jquery - 如何获取具有脆格式的 div 的 'hidden' 属性?

html - block 元素会忽略 float 元素吗?

javascript - 获取 HTML 元素的完整(原始)文本

html - <ul> 悬停的 CSS <ul> 右侧丢失

html - 如何纠正意外的 "table overflow"?

html - 宽度:100% child 比 parent 大