Html 使用链接包装的图像上的同级选择器

Html 使用链接包装的图像上的同级选择器,html,css,Html,Css,我正在尝试选择兄弟图像。有一系列的图片都是用链接包装的,我想选择除第一个以外的所有图片 img { max-width: 50px; } .content img { max-width: 400px; } img.a ~ img.a { border: 1px #333 solid; } 这是一把小提琴: 为什么img.a~img.a不选择紧跟在a类图像之后的所有a类图像?据我所知,他们都是共同元素的孩子。出了什么问题,如何实现?同级选择器仅适用于同级。每一张照片都有

我正在尝试选择兄弟图像。有一系列的图片都是用链接包装的,我想选择除第一个以外的所有图片

img {
    max-width: 50px;
}
.content img {
    max-width: 400px;
}
img.a ~ img.a {
    border: 1px #333 solid;
}
这是一把小提琴:


为什么img.a~img.a不选择紧跟在a类图像之后的所有a类图像?据我所知,他们都是共同元素的孩子。出了什么问题,如何实现?

同级选择器仅适用于同级。每一张照片都有自己的父母。他们是表亲,而不是兄弟姐妹。

兄弟姐妹选择器仅适用于兄弟姐妹。每一张照片都有自己的父母。他们是近亲,而不是兄弟姐妹。

要被视为兄弟姐妹,元素需要是同一直接父级的子级,而不仅仅是一个共同的祖先,因为所有DOM元素都作为一个祖先共享主体。考虑这样的事情:

a ~ a > img.a {
    /* styles */
}

要被视为兄弟,元素需要是同一个直接父元素的子元素,而不仅仅是一个共同的祖先,因为所有DOM元素都作为一个祖先共享主体。考虑这样的事情:

a ~ a > img.a {
    /* styles */
}

另一种方法是将边框应用于所有图像,然后覆盖第一个图像。您可以使用:first-child选择器获取第一个锚点并将其中的图像作为目标

img {
    max-width: 50px;
}
.content img {
    max-width: 400px;
}
img.a  {
    border: 1px #333 solid;
}
.content a:first-child img {
    border:none;
}

另一种方法是将边框应用于所有图像,然后覆盖第一个图像。您可以使用:first-child选择器获取第一个锚点并将其中的图像作为目标

img {
    max-width: 50px;
}
.content img {
    max-width: 400px;
}
img.a  {
    border: 1px #333 solid;
}
.content a:first-child img {
    border:none;
}

这真的是一件事吗?更具体地说,没有“啃侄子/侄女”选择器。有没有一种方法可以用css指示它对象中包含图像的整个a>img链接?请看Don的回答,我想这就是你想要做的。另外,如果你只是不想匹配第一个,你可以使用“`a:nth childn+2 img.a{border:1px 333 solid;}”``这是一件事吗,真的吗?更具体地说,没有“啃侄子/侄女”选择器。有没有一种方法可以用css指示整个a>img链接和对象中的图像?参见don的答案,我想这就是你想要做的。另外,如果你只是不想匹配第一个,你可以做``a:nth childn+2 img.a{border:1px 333 solid;}``我明白了!我想我把孩子和后代混淆了。我也不知道你可以像那样组合组合,它工作得很完美。谢谢我懂了!我想我把孩子和后代混淆了。我也不知道你可以像那样组合组合,它工作得很完美。谢谢