【问题标题】::target to point to a .class and not to #id:target 指向一个 .class 而不是 #id
【发布时间】:2012-10-21 20:02:29
【问题描述】:

这是使:target 指向.class 而不是#id 的一种方法,因此它可以指向多个元素 一个用例:

<style>
section:target{height: 60px}
section p:target{color:red}
</style>

    <div class="menu">
    <nav><a href="#foo">Collapse me</a></nav>
    <nav><a href="#bar" >Change my color</a></nav>
        <section id="foo">
            <p id="bar">hop</p>
        </section>
</div>

<div class="menu">
    <nav><a href="#baz">Collapse me</a></nav>
    <nav><a href="#boo">Change my color</a></nav>
        <section id="baz">
        <p id="boo">la</p>
        </section>
    </div>

想象它会起作用,然后你可以在菜单中制作著名的“我在这里”,折叠页面显示用户在哪里是同时,所以想象一下,例如,你制作一张图片,然后你输入opacity:0然后在使用目标时你让值是opacity:1

【问题讨论】:

    标签: html css css-selectors pseudo-class


    【解决方案1】:

    这是不可能的,而且:target 伪类的使用方式并非如此。

    URL 中的锚片段一次只能指向一个标识符,因此即使 :target 确实查看了类,您也不能一次将样式应用于给定类的多个元素.这就是为什么锚片段对应于 ID,而不是类。

    如果您需要定位多个元素,您应该使用其他 CSS 选择器甚至 JavaScript。

    【讨论】:

    • 真的。尝试使用带有哈希链接或 html5 历史 API 的 javascript
    • 但 html5 仍在草稿中,希望他们会添加另一个 :target 设计用于多选。注意:如何做到这一点? jQuery?
    • 你能给我一个示例代码吗?我已经使用学习过的 html5 作为避免 javascrit 的第一件事,但在这里我正在努力解决脚本解决方案问题:(
    • javascript 和 html5 并不相互排斥 ;)
    • @peat-ar 是的,但是使用 HTML5,您可以使用 javascript(表单控件、手风琴效果)做很多在 4.1 中完成的事情
    猜你喜欢
    • 2012-08-06
    • 2015-10-24
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    • 2019-01-11
    • 2016-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多