当有人将鼠标悬停在文本上时,我希望文本完全改变.我发现在线代码应该可行,但事实并非如此.有什么建议?
<span class="show">
<p>if { <br /></p>
<p>yourSite < awesome; <br /></p>
<p>solution = aislingDouglas (HTML5 + CSS3 + <br /></p>
<p>JavaScript + PHP); <br /></p>
<p>} <br /></p>
<p>else { <br /></p>
<p>solution = null; <br /></p>
<p>} </p>
</span>
<span class="noshow">
<p>Need a website? <br /></p>
<p>You found your dream developer! <br /></p>
<p>And hey - I already helped you on the web, <br /></p>
<p>why not let me help you <br /></p>
<p>build an amazing site! <br /></p>
</span>
Run Code Online (Sandbox Code Playgroud)
这是CSS:
.noshow, p:hover .show { display: none }
p:hover .noshow { display: inline }
Run Code Online (Sandbox Code Playgroud)
我不反对使用JavaScript(编码建议欢迎),但我更喜欢它留在CSS中.
提前致谢!
你有正确的想法,有点......
目标是拥有一个容纳两个文本部分的容器元素.
当该元素被覆盖时,它被赋予伪类:hover.使用此选择器,您可以适当地重新设置子项(下方.first和.second)的样式.
请注意,我已经使用<span>了下面的文本和<p>父级,但如果你想使用更多元素的块级别子项<p>,那么你应该使用它<div>作为父级.
HTML:
<p class="hovertext">
<span class="first">This is what you see first</span>
<span class="second">But this shows up on mousehover</span>
</p>
Run Code Online (Sandbox Code Playgroud)
CSS:
/* Hide the second piece of text by default */
p.hovertext .second {
display:none;
}
/* Hide the first piece of text on hover */
p.hovertext:hover .first {
display:none;
}
/* Re-show the second piece of text on hover */
p.hovertext:hover .second {
display:inline;
}
Run Code Online (Sandbox Code Playgroud)