远程链接是我对单个锚链接在不同位置具有多个可点击区域的称呼。 它可以用于非常巧妙的效果,并且只需要 CSS。
这不是一个全新的想法,事实上我之前已经 介绍过,但我认为我会为你们整理一个更“现实”的例子。
如何实现
没什么难的,只需将您想要作为可滚动区域的一部分的所有内容放在单个锚链接中。 就像这样
<a href="#toby" id="toby">
<span class="name">Toby Yong</span><br />
Toby Young joins the fifth season of Top Chef to lend his culinary expertise to the judges table. Young is a British journalist and the author of How to Lose Friends and Alienate People.
<img src="images/blog-toby_young_0.jpg" alt="Toby Pic" class="photo" />
</a>
现在我们有了所有需要的钩子来定位不同的部分并做我们需要做的事情。 当然,对文本应用一些样式和定位,但更重要的是,定位图像本身并使用绝对定位将其拉开。
以下是所有涉及的 CSS
.people { position: relative; }
a { text-decoration: none; color: #222; display: block;
margin: 0 0 0 270px; outline: none; padding: 5px; }
a img { border: 1px solid #ccc; display: block; position: absolute; }
a:hover { background: #ffefcd; }
a .name { font: 18px Georgia, Serif; }
a:hover .name { color: #900; font-weight: bold; }
a:hover img { border: 5px solid #222; margin: -4px; }
#toby img { top: 0; left: 0; }
#tom img { top: 0; left: 134px; }
#gail img { top: 134px; left: 0; }
#padma img { top: 134px; left: 134px; }
示例中的图片和文字来自 Bravo 的 顶级大厨.
非常好的方法,可以最大限度地减少 HTML 和 CSS。 谢谢
我每次都能看到你的博客,你用 css、htm 和 jquery 做出了很棒的技巧。 爱死它了。
你就像一位老师;)
继续努力!!!
祝您今天愉快。
不是“IE6 兼容”?
现在是让 IE6 死去的时候了? 我个人已经厌烦了它。 我们从它发布将近 8 年前就不得不忍受它的缺陷... Ugh!
抱歉。 我同意 IE6 需要死去,但仍然有很多人还没有升级到 7。 PC 用户在升级方面历来比较迟缓。 一旦 IE8 要发布,你可能会看到很多用户最终升级到 7。 将此归咎于多年来糟糕的 MS 应用程序,大多数用户不愿意升级到最新版本。 可悲的是,这是真的。 看看 5.5 花了多长时间才死去。 那真是太痛苦了。
不同意不是 IE 粉丝。
(实际上,我也不是 IE 粉丝)... 但是。 大多数 IE6 用户使用的是 Windows 2000/Windows NT。 只要这些用户使用旧版本的 Windows,就没有任何东西可以将他们带到任何方向。
我也厌倦了处理 IE6。 不幸的是,现在有许多大公司在 IE6 流行时投入巨资开发了内部网和其他系统。 让预算批准重新开发整个系统只是为了升级到下一个版本的浏览器,对于这些公司来说,这并不是首要任务。 我希望他们推迟了从 IE6 到 IE7 的升级,并且最终会为 IE8 重新开发。 当然,经济可能会推迟这类项目一段时间。
是的,我同意! 让我们干掉 IE 6。 它会导致很多问题,并且需要额外的黑客代码 :(
对我来说,它在 IE6 中运行良好…
我实际上启动了另一台 Windows 机器来尝试它。
很酷的标记。 我没想到图片和文字在一个“a”标签中,并且绝对定位起到了作用。
感谢 Chris..
Noushad Moidunny,
noussh.com
这个技巧看起来很有趣,我一定会尝试把它用在一个未来的项目中。 谢谢。
您可能想为它找一个更好的名字。 远程链接指的是在没有原始上传者授权的情况下跨域使用内容。
就像您在网站上使用了一个分配在不同域上的图片,或者链接到直接下载而不是链接到可以找到该下载的页面。
使用这个名字只会让了解原始表达的人感到困惑。
这是一个很棒的基本技巧,但当我读到标题时,我也在想同样的事情。 也许“远程悬停状态”会是一个更好的描述?
添加一个 :target,您可以用样式做一些非常有趣的事情 :)
很棒!
您太棒了
Chris,您是最好的!
非常酷 :-)
Chris,非常酷。
我从没想过只用 CSS 就可以做到这一点。
这里有一个很棒的 CSS 技巧。 谢谢。
我认为它很酷。 取决于它在实际环境中的运行方式,而不仅仅是在空白页面上。 IE6 css 令人羞愧,但体积很小。 良好的输出!
太不可思议了。 使用这种技术,我们可以构建一些其他很酷的东西。 我从来没有意识到这一点。 非常感谢 Chris。
非常酷。 感谢 Chris!
哇,谢谢
这非常有用.. 非常感谢
简单却很棒。 使用一些 jQuery 魔法,我们甚至可以把它提升到一个新的水平。 感谢 Chris。 你就是男人。
这很酷。 绝妙的技巧
Clearleft 对此进行了有趣的实现,添加了 z-index 以实现分层效果。
http://clearleft.com/is/
我以为这篇文章将是关于 热链接 的,但当我读到它时,我想 - 是的! 这是一个很棒的技术,我在几个网站上都见过,我必须说它确实增加了一些光彩。
感谢分享!
不幸的是,这样做会降低语义性。 每个人的名字应该真正放在 hx 标签中,而不是用 span 样式来呈现不同的外观。 我可能会使用类似 Big Target 的东西来代替这样做。
很棒的 Chris! 这在我在做的一个项目中可能会非常有用。
也许让大家放弃 IE6 的一种方法就是停止尝试让任何东西在 IE6 中运行。 也许那样人们就会明白。
顺便说一下,很棒的教程!
非常感谢 chris。
哦,看,太棒了!
我喜欢这个网站,你在你的帖子中加入了如此多的细节 - 包括代码,这确实很有帮助。
谢谢,另一个很棒的技巧!
这项技术真是太棒了。一如既往,我喜欢你在这里做的事情。现在,在进行的不同项目中重新调整这些东西将很有趣。