单击时同时更改两个脚注链接的背景颜色?
Simultaneously change background-color of both footnote links on click?
我有脚注 link,我想在单击时更改两个 link 的背景颜色。
<p id='text1'>Text1<sup><a href='#footnote1'>[1]</a></sup></p>
<ol>
<li><sup id='footnote1'><a href='#text1'>[1]</a></sup>Footnote1</li>
</ol>
这是我尝试过的,但它显然只改变了 ol 列表 link:
ol li sup a:active {background-color:yellow}
如何在单击任何 link 时同时更改 p 和 ol link 的背景颜色,如果可能,仅使用纯 CSS?
不幸的是,<a>
元素是 transparent, and as such, cannot have a background color. What you're looking for is to target the <sup>
element instead. Unfortunately, there's no way to target the <sup>
element based on the condition of the <a>
tag with raw CSS, as CSS has no parent selector。
因此,您只有两个选择。
选项 1:重组您的 HTML,使 <a>
标签包含 <sup>
标签,而不是反过来:
a sup {
background: green;
}
a:visited sup {
background: cyan;
}
<p id='text1'>
Text1
<a href='#footnote1'>
<sup>[1]</sup>
</a>
</p>
<ol>
<li>
<a href='#text1'>
<sup id='footnote1'>[1]</sup>
</a>Footnote1
</li>
</ol>
选项 2:使用 JavaScript:
var elements = document.getElementsByTagName('a');
for (var i = 0; i < elements.length; i++) {
document.getElementsByTagName('a')[i].parentNode.style.backgroundColor = "cyan";
}
<p id='text1'>
Text1
<sup>
<a href='#footnote1'>[1]</a>
</sup>
</p>
<ol>
<li>
<sup id='footnote1'>
<a href='#text1'>[1]</a>
</sup>Footnote1
</li>
</ol>
希望对您有所帮助! :)
我有脚注 link,我想在单击时更改两个 link 的背景颜色。
<p id='text1'>Text1<sup><a href='#footnote1'>[1]</a></sup></p>
<ol>
<li><sup id='footnote1'><a href='#text1'>[1]</a></sup>Footnote1</li>
</ol>
这是我尝试过的,但它显然只改变了 ol 列表 link:
ol li sup a:active {background-color:yellow}
如何在单击任何 link 时同时更改 p 和 ol link 的背景颜色,如果可能,仅使用纯 CSS?
不幸的是,<a>
元素是 transparent, and as such, cannot have a background color. What you're looking for is to target the <sup>
element instead. Unfortunately, there's no way to target the <sup>
element based on the condition of the <a>
tag with raw CSS, as CSS has no parent selector。
因此,您只有两个选择。
选项 1:重组您的 HTML,使 <a>
标签包含 <sup>
标签,而不是反过来:
a sup {
background: green;
}
a:visited sup {
background: cyan;
}
<p id='text1'>
Text1
<a href='#footnote1'>
<sup>[1]</sup>
</a>
</p>
<ol>
<li>
<a href='#text1'>
<sup id='footnote1'>[1]</sup>
</a>Footnote1
</li>
</ol>
选项 2:使用 JavaScript:
var elements = document.getElementsByTagName('a');
for (var i = 0; i < elements.length; i++) {
document.getElementsByTagName('a')[i].parentNode.style.backgroundColor = "cyan";
}
<p id='text1'>
Text1
<sup>
<a href='#footnote1'>[1]</a>
</sup>
</p>
<ol>
<li>
<sup id='footnote1'>
<a href='#text1'>[1]</a>
</sup>Footnote1
</li>
</ol>
希望对您有所帮助! :)