为什么我的 CSS 不透明度过渡不起作用?
Why is my CSS opacity transition not working?
我刚开始学习 CSS 和 运行 解决工具提示的不透明度 t运行 问题。我做了一个例子,只包含适用于这个问题的代码。我创建了一些工具提示,并想为工具提示的某些变体添加不透明度 t运行sition,但我无法让它工作。
悬停文本时可见性触发正常,但是当向控制悬停不透明度的元素添加第二个 class 时没有任何反应,我尝试重写它以仅使用一个 class但这产生了相同的结果。从我发现和阅读的所有文档来看,这应该是有效的,所以我很沮丧。
任何解决此问题的建议都将不胜感激。
<!DOCTYPE html>
<html>
<style>
.tooltip {
position: relative;
display: inline-block;
border-bottom: 1px dotted black;
text-align: center;
}
.tooltip_content{
visibility: hidden;
width: 120px;
background-color: black;
color: orangered;
text-align: center;
padding: 5px 0;
border-radius: 6px;
}
#tooltip_content_demo_8{
position: absolute;
z-index: 1;
top: -10px;
left: 105%;
opacity: 0.1;
transition: opacity 1s;
}
#tooltip_content_demo_8::after{
content: " ";
position: absolute;
top: 50%;
right: 100%; /* To the left of the tooltip */
margin-top: -5px;
border-width: 5px;
border-style: solid;
border-color: transparent black transparent transparent;
}
.tooltip:hover .tooltip_content{
visibility: visible;
}
.tooltip:hover .tooltip_content_styled{
opacity: 1;
}
</style>
<body style="text-align:center;">
<h2>Fade In Tooltip on Hover</h2>
<p>When you move the mouse over the text below, the tooltip text will fade in and take 1 second to go from nearly invisible to visible.</p>
<div class="tooltip" id="tooltip_demo_8">Hover over me to tooltip
<span class="tooltip_content tooltip_content_styled" id="tooltip_content_demo_8">This is the tooltip text content</span>
</div><br/>
</body>
</html>
ID选择器总是由class支配。因此,必须添加特殊条件 !important
才能使 opacity: 1
起作用。下面是一个例子。
body {
text-align: center;
}
.tooltip {
position: relative;
display: inline-block;
border-bottom: 1px dotted black;
text-align: center;
}
.tooltip_content {
visibility: hidden;
width: 120px;
background-color: black;
color: orangered;
text-align: center;
padding: 5px 0;
border-radius: 6px;
}
#tooltip_content_demo_8 {
position: absolute;
z-index: 1;
top: -10px;
left: 105%;
opacity: 0.1;
transition: opacity 1s;
}
#tooltip_content_demo_8::after {
content: " ";
position: absolute;
top: 50%;
right: 100%;
/* To the left of the tooltip */
margin-top: -5px;
border-width: 5px;
border-style: solid;
border-color: transparent black transparent transparent;
}
.tooltip:hover .tooltip_content {
visibility: visible;
}
.tooltip:hover .tooltip_content_styled {
opacity: 1 !important;
}
<h2>Fade In Tooltip on Hover</h2>
<p>When you move the mouse over the text below, the tooltip text will fade in and take 1 second to go from nearly invisible to visible.</p>
<div class="tooltip" id="tooltip_demo_8">Hover over me to tooltip
<span class="tooltip_content tooltip_content_styled" id="tooltip_content_demo_8">This is the tooltip text content</span>
</div><br/>
我刚开始学习 CSS 和 运行 解决工具提示的不透明度 t运行 问题。我做了一个例子,只包含适用于这个问题的代码。我创建了一些工具提示,并想为工具提示的某些变体添加不透明度 t运行sition,但我无法让它工作。
悬停文本时可见性触发正常,但是当向控制悬停不透明度的元素添加第二个 class 时没有任何反应,我尝试重写它以仅使用一个 class但这产生了相同的结果。从我发现和阅读的所有文档来看,这应该是有效的,所以我很沮丧。
任何解决此问题的建议都将不胜感激。
<!DOCTYPE html>
<html>
<style>
.tooltip {
position: relative;
display: inline-block;
border-bottom: 1px dotted black;
text-align: center;
}
.tooltip_content{
visibility: hidden;
width: 120px;
background-color: black;
color: orangered;
text-align: center;
padding: 5px 0;
border-radius: 6px;
}
#tooltip_content_demo_8{
position: absolute;
z-index: 1;
top: -10px;
left: 105%;
opacity: 0.1;
transition: opacity 1s;
}
#tooltip_content_demo_8::after{
content: " ";
position: absolute;
top: 50%;
right: 100%; /* To the left of the tooltip */
margin-top: -5px;
border-width: 5px;
border-style: solid;
border-color: transparent black transparent transparent;
}
.tooltip:hover .tooltip_content{
visibility: visible;
}
.tooltip:hover .tooltip_content_styled{
opacity: 1;
}
</style>
<body style="text-align:center;">
<h2>Fade In Tooltip on Hover</h2>
<p>When you move the mouse over the text below, the tooltip text will fade in and take 1 second to go from nearly invisible to visible.</p>
<div class="tooltip" id="tooltip_demo_8">Hover over me to tooltip
<span class="tooltip_content tooltip_content_styled" id="tooltip_content_demo_8">This is the tooltip text content</span>
</div><br/>
</body>
</html>
ID选择器总是由class支配。因此,必须添加特殊条件 !important
才能使 opacity: 1
起作用。下面是一个例子。
body {
text-align: center;
}
.tooltip {
position: relative;
display: inline-block;
border-bottom: 1px dotted black;
text-align: center;
}
.tooltip_content {
visibility: hidden;
width: 120px;
background-color: black;
color: orangered;
text-align: center;
padding: 5px 0;
border-radius: 6px;
}
#tooltip_content_demo_8 {
position: absolute;
z-index: 1;
top: -10px;
left: 105%;
opacity: 0.1;
transition: opacity 1s;
}
#tooltip_content_demo_8::after {
content: " ";
position: absolute;
top: 50%;
right: 100%;
/* To the left of the tooltip */
margin-top: -5px;
border-width: 5px;
border-style: solid;
border-color: transparent black transparent transparent;
}
.tooltip:hover .tooltip_content {
visibility: visible;
}
.tooltip:hover .tooltip_content_styled {
opacity: 1 !important;
}
<h2>Fade In Tooltip on Hover</h2>
<p>When you move the mouse over the text below, the tooltip text will fade in and take 1 second to go from nearly invisible to visible.</p>
<div class="tooltip" id="tooltip_demo_8">Hover over me to tooltip
<span class="tooltip_content tooltip_content_styled" id="tooltip_content_demo_8">This is the tooltip text content</span>
</div><br/>