Html CSS3显示另一个元素悬停时的除法
我有以下代码来显示悬停时的除法。它最初是隐藏的,我试图在另一个元素的悬停处显示一个分区Html CSS3显示另一个元素悬停时的除法,html,css,Html,Css,我有以下代码来显示悬停时的除法。它最初是隐藏的,我试图在另一个元素的悬停处显示一个分区 .topNav{ 填充:1×15%; 背景#006cb4; 颜色:白色; } .主菜单{ 列表样式类型:无; } 李先生{ 显示:内联块; 填充:3x15px; 字体大小:20px; } 主菜单李a{ 文字装饰:无; 颜色:白色; } #项目1{ 显示:块; } #项目1:悬停#项目1详细信息{ 背景:#444; 能见度:可见; } #项目1详情{ 位置:绝对位置; 顶部:152px; 左:250px; 背
.topNav{
填充:1×15%;
背景#006cb4;
颜色:白色;
}
.主菜单{
列表样式类型:无;
}
李先生{
显示:内联块;
填充:3x15px;
字体大小:20px;
}
主菜单李a{
文字装饰:无;
颜色:白色;
}
#项目1{
显示:块;
}
#项目1:悬停#项目1详细信息{
背景:#444;
能见度:可见;
}
#项目1详情{
位置:绝对位置;
顶部:152px;
左:250px;
背景:#ccc;
宽度:750px;
高度:400px;
边框:实心1px黑色;
边界半径:0 10px 10px;
可见性:隐藏;
}
-
-
-
-
-
-
-
-
一些随机内容
您必须使用javascript
<script>
function myFunction() {
if (document.getElementById("item1detail").hidden==false){
document.getElementById("item1detail").hidden = true;
}else{
document.getElementById("item1detail").hidden = false;
}
}
</script>
函数myFunction(){
if(document.getElementById(“item1detail”).hidden==false){
document.getElementById(“item1detail”).hidden=true;
}否则{
document.getElementById(“item1detail”).hidden=false;
}
}
及
-
-
-
-
-
-
-
-
一些随机内容
您必须使用javascript
<script>
function myFunction() {
if (document.getElementById("item1detail").hidden==false){
document.getElementById("item1detail").hidden = true;
}else{
document.getElementById("item1detail").hidden = false;
}
}
</script>
函数myFunction(){
if(document.getElementById(“item1detail”).hidden==false){
document.getElementById(“item1detail”).hidden=true;
}否则{
document.getElementById(“item1detail”).hidden=false;
}
}
及
-
-
-
-
-
-
-
-
一些随机内容
我会使用jQuery来实现这一点
$('#item1').hover(function(){
$('#item1detail').show();
}, function(){
$('#item1detail').hide();
});
我会使用jQuery来实现这一点
$('#item1').hover(function(){
$('#item1detail').show();
}, function(){
$('#item1detail').hide();
});
在我看来,在不接触HTML的情况下显示给定div的唯一解决方案是Javascript。。。正如其他人已经建议的那样 但是…有一个解决方案,对HTML和CSS各做一点小小的更改 主要问题是此CSS选择器:
#item1:hover #item1detail
#item1:hover #item1detail
这将转换为“悬停id item1中的id item1细节”
您可以通过将div放置在li中并将选择器更改为:
#item1:hover + #item1detail
因为div的位置是绝对的,所以它不会造成视觉上的差异。。。至少对于你的代码片段
代码片段的更新版本:
.topNav
{
填充:1×15%;
背景#006cb4;
颜色:白色;
}
.主菜单
{
列表样式类型:无;
}
李先生
{
显示:内联块;
填充:3x15px;
字体大小:20px;
}
主菜单李a
{
文字装饰:无;
颜色:白色;
}
#项目1
{
显示:块;
}
#项目1:悬停+项目1详细信息
{
背景:#444;
能见度:可见;
}
#项目1详情
{
位置:绝对位置;
顶部:152px;
左:250px;背景:#ccc;
宽度:750px;
高度:400px;
边框:实心1px黑色;
边界半径:0 10px 10px;
可见性:隐藏;
}
-
一些随机内容
在我看来,显示给定div而不触及HTML的唯一解决方案是Javascript。。。正如其他人已经建议的那样
但是…有一个解决方案,对HTML和CSS各做一点小小的更改
主要问题是此CSS选择器:
#item1:hover #item1detail
#item1:hover #item1detail
这将转换为“悬停id item1中的id item1细节”
您可以通过将div放置在li中并将选择器更改为:
#item1:hover + #item1detail
因为div的位置是绝对的,所以它不会造成视觉上的差异。。。至少对于你的代码片段
代码片段的更新版本:
.topNav
{
填充:1×15%;
背景#006cb4;
颜色:白色;
}
.主菜单
{
列表样式类型:无;
}
李先生
{
显示:内联块;
填充:3x15px;
字体大小:20px;
}
主菜单李a
{
文字装饰:无;
颜色:白色;
}
#项目1
{
显示:块;
}
#项目1:悬停+项目1详细信息
{
背景:#444;
能见度:可见;
}
#项目1详情
{
位置:绝对位置;
顶部:152px;
左:250px;背景:#ccc;
宽度:750px;
高度:400px;
边框:实心1px黑色;
边界半径:0 10px 10px;
可见性:隐藏;
}
-
一些随机内容
CSS不起作用的原因是您正在使用此选择器:
#item1:hover #item1detail
如果将#item1
元素悬停,则选择id为#item1
的元素中出现的id为#item1
的元素
在当前标记中,
#item1detail
在#item1
之外,因此与选择器不匹配。移动#item1detail
应该可以获得您想要的行为。(从那时起可能会有一些布局工作要做。)CSS不起作用的原因是因为您正在使用此选择器:
#item1:hover #item1detail
如果将#item1
元素悬停,则选择id为#item1
的元素中出现的id为#item1
的元素
在当前标记中,#item1detail
在#item1
之外,因此与选择器不匹配。移动#item1detail<