将鼠标悬停在图像上以显示文本框无效(html、css)
Hovering over an image to show a text box is not working (html, css)
将鼠标悬停在图片上时,应显示一个文本框。但是,它对我不起作用,我完全被卡住了。
这些是代码片段,提前致谢。
#passinfo {
height: 20px;
width: 20px;
margin-left: 130px;
margin-top: -20px;
margin-bottom: 15px;
padding: -20px;
position: absolute;
display: block;
}
#infotext {
background-color: #628ca0;
border-radius: 5px;
color: rgba(34, 34, 34, 0.829);
padding: 5px 4px 4px 4px;
position: relative;
box-shadow: 0px 1px 5px #999;
opacity: 0;
margin-left: 100px;
left: 10px;
position: absolute;
transition: .5s ease;
}
#passinfo .img:hover #infotext {
opacity: 1;
visibility: visible;
}
<h4>Password</h4>
<img src="infoicon.png" id="passinfo">
<div id="infotext">Password must be at least 8 characters and must contain an uppercase letter, a lowercase letter, and a number.</div>
改变
#passinfo .img:hover #infotext {
opacity: 1;
visibility: visible;
}
至
#passinfo:hover
opacity: 1;
visibility: visible;
}
#passinfo:hover {
opacity: 1;
visibility: visible;
}
您的选择者:
#passinfo .img:hover #infotext
正在寻找具有 id="infoText"
的元素,该元素是 class 为 img
的元素的后代,即 hovered-over,它本身是具有 id="passinfo"
.
的元素的后代
您的 <img>
元素没有 img
的 class,它 是 一个 <img>
元素并且它本身有id="passinfo"
; <img>
元素不能有任何类型的子元素或后代元素(甚至 pseudo-elements 也不行);所以这个选择器将 可以 从不应用。
相反,您正在寻找 - 并且应该使用 - 以下内容:
#passinfo:hover + #infotext
选择具有 id="infotext"
的元素,它是具有 img
的 class 元素的 immediately-adjacent 兄弟元素,即 hovered-over。
#passinfo {
height: 20px;
width: 20px;
margin-left: 130px;
margin-top: -20px;
margin-bottom: 15px;
padding: -20px;
position: absolute;
display: block;
}
#infotext {
background-color: #628ca0;
border-radius: 5px;
color: rgba(34, 34, 34, 0.829);
padding: 5px 4px 4px 4px;
position: relative;
box-shadow: 0px 1px 5px #999;
opacity: 0;
margin-left: 100px;
left: 10px;
position: absolute;
transition: .5s ease;
}
#passinfo:hover + #infotext {
opacity: 1;
visibility: visible;
}
<h4>Password</h4>
<img src="https://via.placeholder.com/150" id="passinfo">
<div id="infotext">Password must be at least 8 characters and must contain an uppercase letter, a lowercase letter, and a number.</div>
将您的#passinfo 移动到 div 包装图像和文本,并使用它来设置 :hover。
<h4>Password</h4>
<div id='passinfo'>
<img src="icon.png">
<div id="infotext">Password must be...</div>
</div>
#passinfo:hover #infotext {
opacity: 1;
}
如果您还没有听说过,W3Schools.com 是此类内容的绝佳资源。 https://www.w3schools.com/howto/howto_css_image_overlay.asp
将鼠标悬停在图片上时,应显示一个文本框。但是,它对我不起作用,我完全被卡住了。
这些是代码片段,提前致谢。
#passinfo {
height: 20px;
width: 20px;
margin-left: 130px;
margin-top: -20px;
margin-bottom: 15px;
padding: -20px;
position: absolute;
display: block;
}
#infotext {
background-color: #628ca0;
border-radius: 5px;
color: rgba(34, 34, 34, 0.829);
padding: 5px 4px 4px 4px;
position: relative;
box-shadow: 0px 1px 5px #999;
opacity: 0;
margin-left: 100px;
left: 10px;
position: absolute;
transition: .5s ease;
}
#passinfo .img:hover #infotext {
opacity: 1;
visibility: visible;
}
<h4>Password</h4>
<img src="infoicon.png" id="passinfo">
<div id="infotext">Password must be at least 8 characters and must contain an uppercase letter, a lowercase letter, and a number.</div>
改变
#passinfo .img:hover #infotext {
opacity: 1;
visibility: visible;
}
至
#passinfo:hover
opacity: 1;
visibility: visible;
}
#passinfo:hover {
opacity: 1;
visibility: visible;
}
您的选择者:
#passinfo .img:hover #infotext
正在寻找具有 id="infoText"
的元素,该元素是 class 为 img
的元素的后代,即 hovered-over,它本身是具有 id="passinfo"
.
您的 <img>
元素没有 img
的 class,它 是 一个 <img>
元素并且它本身有id="passinfo"
; <img>
元素不能有任何类型的子元素或后代元素(甚至 pseudo-elements 也不行);所以这个选择器将 可以 从不应用。
相反,您正在寻找 - 并且应该使用 - 以下内容:
#passinfo:hover + #infotext
选择具有 id="infotext"
的元素,它是具有 img
的 class 元素的 immediately-adjacent 兄弟元素,即 hovered-over。
#passinfo {
height: 20px;
width: 20px;
margin-left: 130px;
margin-top: -20px;
margin-bottom: 15px;
padding: -20px;
position: absolute;
display: block;
}
#infotext {
background-color: #628ca0;
border-radius: 5px;
color: rgba(34, 34, 34, 0.829);
padding: 5px 4px 4px 4px;
position: relative;
box-shadow: 0px 1px 5px #999;
opacity: 0;
margin-left: 100px;
left: 10px;
position: absolute;
transition: .5s ease;
}
#passinfo:hover + #infotext {
opacity: 1;
visibility: visible;
}
<h4>Password</h4>
<img src="https://via.placeholder.com/150" id="passinfo">
<div id="infotext">Password must be at least 8 characters and must contain an uppercase letter, a lowercase letter, and a number.</div>
将您的#passinfo 移动到 div 包装图像和文本,并使用它来设置 :hover。
<h4>Password</h4>
<div id='passinfo'>
<img src="icon.png">
<div id="infotext">Password must be...</div>
</div>
#passinfo:hover #infotext {
opacity: 1;
}
如果您还没有听说过,W3Schools.com 是此类内容的绝佳资源。 https://www.w3schools.com/howto/howto_css_image_overlay.asp