Aid*_*man 0 html css css-selectors
是否有一个 CSS 选择器可以在您使用链接时使用。例如,如果我在我的网站的主页上,它被称为default.aspx,并且页面上有一个指向default.aspx的链接,我希望它重新格式化default.aspx链接。我还没有见过用于此目的的 CSS 选择器。我什至不知道是否可能,但如果可能的话,我希望有人知道。如果有一种方法可以在没有 css 选择器的情况下做到这一点,请也告诉我。
同一/当前页面没有特定的 CSS 选择器。但是还有其他选项可以选择指向特定页面/锚点的链接(尽管您可能会寻找^=属性选择器)。你可以这样做:
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
}
Run Code Online (Sandbox Code Playgroud)
而且这个解决方案仍然是针对default.aspx的(从其他页面到default.aspx的链接也会突出显示)。一种替代方法是使用选择器中每个页面特定的类。例如,如果 default.aspx 具有 class .default,并且 page1 具有 class .page1,等等:
.default a[href^="default.aspx"],
.page1 a[href=^="page1.aspx"],
a[href^="#"] {
// styles to highlight links to self
}
Run Code Online (Sandbox Code Playgroud)