多个远程链接:示例和操作方法

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费额度!

什么是远程链接?

远程链接是一种影响页面上另一个对象的悬停效果。悬停效果也可以影响自身。这可以通过使用 **纯 CSS** 来实现,使其成为一种非常酷且轻量级的技术。

在这个 示例 中,您将看到一行横向排列的彩色圆圈,以及下方列出它们的名称。将鼠标悬停在圆圈上将同时突出显示圆圈和名称。同样,将鼠标悬停在名称上也将同时突出显示圆圈和名称。

remotelinking.gif

您可以看到代码只是一个非常简单的无序列表,每个列表项都附加了唯一的 ID。当然,CSS3 将使此操作更容易,并且无需唯一的 ID,但那是另一个话题了……

<ul>
	<li id="red"><a href="#"><em>Red</em></a></li>
	<li id="yellow"><a href="#"><em>Yellow</em></a></li>
	<li id="orange"><a href="#"><em>Orange</em></a></li>
	<li id="green"><a href="#"><em>Green</em></a></li>
	<li id="blue"><a href="#"><em>Blue</em></a></li>
</ul>

然后,您为列表项提供一些关于大小和位置的通用信息。每个特定的列表项都获得一些关于背景图像和 em 元素放置位置的额外信息。

ul li a {
		width: 100px;
		height: 100px;
		display: block;
	}
	ul li a em {
		position: relative;
	}
	
	ul li#red a {
		background: url(images/red.gif) bottom center no-repeat;
	}
	ul li#red a:hover {
		background-position: top center;
	}
	ul li#red a em {
		top: 150px;
	}

这里的真正技巧是为锚点内的 em 元素设置相对定位,然后使用 top/bottom/left/right 坐标将其偏移。这使所有内容都保留在一个锚点元素内,这就是为什么悬停效果会自动作用于这两个元素的原因。我喜欢这种技术,它让我感到非常兴奋。=)

[在线示例]

[下载示例]