当您在链接上时,是否存在可用的CSS选择器。例如,如果我在我的网站的主页上,它被称为default.aspx并且页面上有一个链接到default.aspx我希望它重新格式化default.aspx链接。我还没有看到CSS选择器。我甚至不知道是否可能,但如果是,我希望有人知道。如果有一种方法可以在没有css选择器的情况下执行此操作,请告诉我相关内容。
答案 0 :(得分:4)
同一/当前页面没有特定的CSS选择器。但是还有其他选项可以选择指向特定页面/锚点的链接(尽管您可能正在寻找^=
attribute selector)。你可以这样做:
a[href="default.aspx"]
(考虑到你在default.aspx)。
这将选择 href值正好是default.aspx 的所有链接(a
标记)。这仅包括类型为<a href="default.aspx">...</a>
a[href^="default.aspx"]
(考虑到你在default.aspx)。
这将选择 href值以default.aspx 开头的所有链接。其中包括以下类型的链接:<a href="default.aspx">...</a>
,<a href="default.aspx?somekey=somevalue">...</a>
,<a href="default.aspx#something">...</a>
等。
a[href*="default.aspx"]
(考虑到你是default.aspx)
这将选择 href包含字符串default.aspx 的所有链接(它在哪个位置无关紧要)。其中包括<a href="default.aspx">...</a>
,<a href="http://mysite/default.aspx">...</a>
,<a href="https://mysite/default.aspx?key=value">...</a>
等链接
<a href="page2.aspx?source=default.aspx">...</a>
也会被选中,即使它没有指向链接所在的同一页面)。 a[href^="#"]
这将选择指向页面内锚点的链接( href值以#开头)。由于锚点位于同一页面内,因此您无需指定文件名。其中包含以下链接:<a href="#something">...</a>
。
考虑到第一个选择器的具体程度,以及第三个选择器的具体情况,我会选择第二个和第四个选择器的组合:
a[href^="default.aspx"],
a[href^="#"] {
// styles to highlight links to self
}
此解决方案仍然特别适用于default.aspx(其他页面的default.aspx链接也会突出显示)。一种替代方法是使用特定于选择器中每个页面的类。例如,如果default.aspx具有类.default
,而page1具有类.page1
等,则:
.default a[href^="default.aspx"],
.page1 a[href=^="page1.aspx"],
a[href^="#"] {
// styles to highlight links to self
}