两个相同的div id,只修改一个

时间:2016-03-28 16:01:24

标签: html css css-selectors

所以代码是这样的:

<div id="logo"><img src="logourl"></div>
<div id="logo"><img src="logourl"></div>

我正在尝试第二个display: none。不幸的是,我被阻止修改html,我也无法使用js。我坚持使用CSS来尝试解决这个问题。

我想也许#logo:last-child { display: none; }可能有用,但由于它们在技术上处于不同的div中,所以只有相同的ID,我似乎无法实现这一点。任何意见,将不胜感激。我知道HTML很糟糕,但我无法解决这个问题。我已多次告诉我的老板......

2 个答案:

答案 0 :(得分:5)

根据您问题中的代码,

#logo:last-child { display: none; }应该有效。

但考虑到您的HTML无效,您可以尝试以下方法:

div:last-child { display: none; }

div:last-child > img { display: none; }

div:last-of-type { display: none; }

您已经提到HTML很糟糕,您无法控制它。但只是为了记录,每个ID在文档中应该是唯一的。拥有两个具有相同值的ID是无效的HTML。

答案 1 :(得分:-2)

id必须是唯一标识符。 使用一个类或多个类:

<div class="top" …
<div class="top left" …

第二个例子将匹配“top”和“left”类。