Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我如何控制我的<;h1>;在另一个样式中设置样式?_Javascript_Html_Css_Styling - Fatal编程技术网

Javascript 我如何控制我的<;h1>;在另一个样式中设置样式?

Javascript 我如何控制我的<;h1>;在另一个样式中设置样式?,javascript,html,css,styling,Javascript,Html,Css,Styling,嘿,伙计们,我想从另一套样式规则中控制我的样式。我知道如何用JavaScript实现这一点,但我想知道我是否只能用CSS实现这一点。要更好地了解我的意思,请查看以下示例: h1 { color: red; opacity: 1; } #menu:hover { /* Styling for menu bar */ /* How can I control the style of my <h1> here? I tried: h

嘿,伙计们,我想从另一套样式规则中控制我的
样式。我知道如何用
JavaScript
实现这一点,但我想知道我是否只能用
CSS
实现这一点。要更好地了解我的意思,请查看以下示例:

h1 {
     color: red;
     opacity: 1;
}

#menu:hover {
      /* Styling for menu bar */
      /* How can I control the style of my <h1> here? I tried:
     h1 {
        opacity: 0;
    }
    but this doesn't work... */
}
h1{
颜色:红色;
不透明度:1;
}
#菜单:悬停{
/*菜单栏的样式*/
/*我如何在这里控制我的风格?我尝试了:
h1{
不透明度:0;
}
但这不起作用*/
}
我希望这能让你知道我想做什么。。。使用
CSS
,这可能吗

提前感谢您的帮助

#menu:hover + h1 {
    opacity:0;
}
如果你的H1在你的菜单下

如果你的H1在你的菜单下


在一些特定情况下,您可以根据另一个元素的状态更改一个元素的样式

案例1:
#菜单的后代

#菜单:悬停h1{
颜色:#f00;
}

大字标题
只是一段话来证明一个观点

另一个表现完全相同的标题
在一些特定情况下,您可以根据另一个元素的状态更改一个元素的样式

案例1:
#菜单的后代

#菜单:悬停h1{
颜色:#f00;
}

大字标题
只是一段话来证明一个观点

另一个表现完全相同的标题

如果
h1
#菜单的后代
#菜单:hover h1{…}
是菜单中或下面的h1,如果它是页面上的下一个元素,则可以转到#菜单:hover+h1,或者如果它是一个后代,你可以按照@Vohuman所说的去做。@Crawdingle它在菜单上面……如果是这样的话:你不能。@mmgross如果它在菜单下面呢?如果
h1
菜单的后代:
菜单:悬停h1{…}
是菜单中或下面的h1,如果它是页面上的下一个元素,您可以进入#菜单:hover+h1,或者如果它是一个后代,您可以按照@Vohuman所说的去做。@Crawdingle它在菜单上方……在这种情况下:您不能。@mmgross如果它在菜单下方呢?这是可行的,但如果您先放置h1标记,则不会起作用。回答得不错,我几乎贴出了同样的东西。出于好奇,您知道如何在菜单前对元素执行此操作吗?此外,如果菜单/h1之间有其他元素,则可以将
+
替换为
~
示例:#菜单#某些内容,然后替换h1标记。是的。。。这对我有用。。。但是如果我的h1不在菜单的正下方呢?在它下面,但不是直接…@TheMan我刚刚编辑了我的评论,把
+
换成
~
,这样应该行得通@NewToJS刚刚看到你的评论,回答了我的问题!感谢各位如果h1在上面,唯一的纯CSS方法就是将h1定位在CSS中菜单的上方,这样看起来它在上面,但在标记中它在下面。这是可行的,但如果你先放置h1标记,这将不起作用。回答得不错,我几乎贴出了同样的东西。出于好奇,您知道如何在菜单前对元素执行此操作吗?此外,如果菜单/h1之间有其他元素,则可以将
+
替换为
~
示例:#菜单#某些内容,然后替换h1标记。是的。。。这对我有用。。。但是如果我的h1不在菜单的正下方呢?在它下面,但不是直接…@TheMan我刚刚编辑了我的评论,把
+
换成
~
,这样应该行得通@NewToJS刚刚看到你的评论,回答了我的问题!感谢各位如果h1在上面,唯一的纯CSS方法就是将h1放在CSS中菜单的上方,这样它看起来像在上面,但在标记中会在下面。你对此有何看法?当使用
~*
时,您不需要指定h1所在的元素,这是正确的,很好的发现,但这将影响
#menu
之后的每个
,并且是
#menu
兄弟的后代,我理解OP的方式是,只有一个特定的标题才应该被定位,但我可能错了。我只是在试验css,我发现了一些有趣的结果,有些失败了,有些可能会有一些用处。我之所以向您发布这篇文章,是因为您的答案中的细节,并且认为您可能对另一种方法感兴趣,该方法可以在另一个元素中以h1为目标,如jsfiddle中所示?当使用
~*
时,您不需要指定h1所在的元素,这是正确的,很好的发现,但这将影响
#menu
之后的每个
,并且是
#menu
兄弟的后代,我理解OP的方式是,只有一个特定的标题才应该被定位,但我可能错了。我只是在试验css,我发现了一些有趣的结果,有些失败了,有些可能会有一些用处。我之所以向您发布这篇文章,是因为您的答案中的细节,并且认为您可能对另一个方法感兴趣,该方法可以在另一个元素中以h1为目标,如jsfiddle中所示。