目标选择器不工作

时间:2013-04-15 15:27:25

标签: css css3 angularjs

我不知道问题是否与Angular有关,或者我犯了错误 我有一个<article id="about">,一个链接<a href="#about">,我正在尝试使用

设置目标元素的样式
:target{
    border: solid 1px red;
}

当我点击链接时,文章应该有一个红色边框,不应该吗?当我点击链接时,网址偏离/company更改为/company#about但没有任何反应,我还在控制台中使用JQuery $(':target')检查并返回null
我认为这可能与Angular有关,其中路由机制会干扰某些默认行为。我正在使用$locationProvider.html5Mode(true),Angular 1.1.4和Chrome26 编辑:最后得到了一个不起作用的示例here,它一直有效,直到我在app.run()中注入$ location。

3 个答案:

答案 0 :(得分:1)

只是猜测但是:

我认为点击事件可能会返回“false”。 也就是说,某些代码会运行,并且默认链接点击行为会被覆盖。

尝试使用末尾的哈希值将页面网址输入到空白标签中。如果你的:target css适用于那种情况,你就会知道它是一个javascript的东西。

也许框架会添加一个类或其他标识符,您可以轻松地设置样式?或者,如果您检查DOM,对它的引用会存储在某个对象中,您可以使用jQuery设置样式吗?

答案 1 :(得分:1)

这是由于浏览器错误:https://bugs.webkit.org/show_bug.cgi?id=83490

另见http://css-tricks.com/on-target/

的最后一节

答案 2 :(得分:0)

如果将target =“ _ self”放入标签中,只要启用了HTML5模式,它就会解决角度路由问题。