无法提供指向徽标的锚链接

Posted

技术标签:

【中文标题】无法提供指向徽标的锚链接【英文标题】:Can't give anchor link to logo 【发布时间】:2021-05-23 08:12:25 【问题描述】:

我目前正在制作一个网站,并且我已将我的徽标放入如下:

header .logo a 
  background-image: url(Images/FRANKEN\ DEVELOPMENT\ FATTER\ AND\ OTHER\ COLOR2.png);
  background-size: 250px;
  display: inline-block;
  height: 80px;
  text-indent: -9999999px;
  width: 300px;
  background-repeat: no-repeat;
  position: relative;
  top: -21px;
  left: 25px;
  filter: contrast(2);
<header>
  <nav>
    <ul id="navbar">
      <li class="logo"><a>Franken Development Logo</a></li>
      <li><a class="categories" href="#">Home</a></li>
      <li><a class="categories" href="#">Websites</a></li>
    </ul>
  <nav>
<header>

如您所见,我的文本超出框架,文本缩进:-9999999px;

但是要知道,当我将其设为链接(徽标)时,它将不起作用,因为文本将成为链接(远离视觉)而不是图像。

如何使我的徽标进入 index.html?而不是文本,代表徽标。

-伊恩

【问题讨论】:

您的链接上没有 href 属性,因此无处可去,也无处可点击。 &lt;li class="logo"&gt;&lt;a href="index.html"&gt;Franken Development Logo&lt;/a&gt;&lt;/li&gt;会工作。 - 除了我怀疑 Franken Development Logo 是 index.html 的标题之外:) 如果它是一个 ,它看起来就像一个标志的 alt 值。 ;) 【参考方案1】:

如果您想要一个徽标和文本来代表您的公司名称,您可以将两者都包装在一个锚标记中。

例子:

带有可见文字:

<a href="/index.html">
    <img src="/image/path/here" aria-hidden="true">
    <p>Franken Development</p>
</a>

使用替代文本而不是可见文本:

<a href="/index.html">
    <img src="/image/path/here" >
</a>

【讨论】:

【参考方案2】:

对图像本身使用 Href。

header .logo a 
  background-image: url(Images/FRANKEN\ DEVELOPMENT\ FATTER\ AND\ OTHER\ COLOR2.png);
  background-size: 250px;
  display: inline-block;
  height: 80px;
  text-indent: -9999999px;
  width: 300px;
  background-repeat: no-repeat;
  position: relative;
  top: -21px;
  left: 25px;
  filter: contrast(2);
  border: 2px solid grey;
<header>
  <nav>
    <ul id="navbar">
      <li class="logo"><a href="#">Franken Development Logo</a></li>
      <li><a class="categories" href="#">Home</a></li>
      <li><a class="categories" href="#">Websites</a></li>
    </ul>
    <nav>
      <header>

Source

【讨论】:

此解决方案依赖于 javascript,这意味着对于禁用 JavaScript 的用户或 JavaScript 无法加载的情况,它会失败。 HTML 中的 标记允许您传递href,我们应该在查看 JS 解决方案之前使用默认的 HTML 行为。 您更新的示例将 href 属性添加到列表 (li) 项中,这是无效的。 href 属性需要添加到a 标签中。 那为什么不让锚点可点击呢?

以上是关于无法提供指向徽标的锚链接的主要内容,如果未能解决你的问题,请参考以下文章

单击锚链接时平滑滚动

单击锚链接时平滑滚动

选择页面锚链接时如何关闭移动菜单

移动应用锚链接跳转到固定标题下方

Typo3 v.8.7 - 无法设置锚链接

将旧锚链接重定向到新锚链接