1

我正在尝试创建一个简单的菜单,其中有四个菜单项,每个菜单项都有一个图像,然后每个处于活动状态的项目都有一个特殊的图像。

我正在使用 Drupal,因此无法更改 HTML 输出(无论如何都不容易),所以我的问题是是否以及如何使用下面提供的 HTML 代码来完成:

<div id="quicktabs-2" class="quicktabs_wrapper quicktabs-style-nostyle quicktabs-processed">
<ul class="quicktabs_tabs quicktabs-style-nostyle">
<li class="qtab-0 active first"><a href="/bagsmaekken?quicktabs_2=0#quicktabs-2" id="quicktabs-tab-2-0" class="qt_tab active">Question</a></li>
<li class="qtab-1"><a href="/bagsmaekken?quicktabs_2=1#quicktabs-2" id="quicktabs-tab-2-1" class="qt_tab active">Lead</a></li>
<li class="qtab-2"><a href="/bagsmaekken?quicktabs_2=2#quicktabs-2" id="quicktabs-tab-2-2" class="qt_tab active">Board</a></li>
<li class="qtab-3 last"><a href="/bagsmaekken?quicktabs_2=3#quicktabs-2" id="quicktabs-tab-2-3" class="qt_tab active">Ready</a></li>
</ul>
</div>

我已经创建了一些接近我最终希望的结果,但我仍然无法举例缩进文本,因此它没有显示。到目前为止,这是我的 CSS:

ul.quicktabs_tabs li {display:inline; }

#quicktabs-2 li.active a {
  background-image:url(question-active.png);
background-position:5px 0px;
  background-repeat:no-repeat no-repeat;
  padding-bottom:18px;
  padding-left:135px;
  padding-right:5px;
}

#quicktabs-2 li.qtab-1 a {
  background-image:url(lead-grey.png);
background-position:5px 0px;
  background-repeat:no-repeat no-repeat;
  padding-bottom:18px;
  padding-left:29px;
  padding-right:50px;
}
#quicktabs-2 li.qtab-2 a {
  background-image:url(board.png);
  background-position:5px 0px;
  background-repeat:no-repeat no-repeat;
  padding-bottom:18px;
  padding-left:29px;
  padding-right:50px;   
}
#quicktabs-2 li.qtab-3 a {
  background-image:url(ready-grey.png);
  background-position:5px 0px;
  background-repeat:no-repeat no-repeat;
  padding-bottom:18px;
  padding-left:29px;
  padding-right:50px;
}

到目前为止,这是我的代码,它以正确的间距正确显示了我的图像,但 a-href 中的文本我无法隐藏。我相当确定这只是一个正确的样式类/ id 的问题,但我尝试了很多不同的组合,但我无法让它发挥作用。

任何帮助将不胜感激。谢谢

真诚
- Mestika

4

2 回答 2

1

如果你想在你的锚标签中隐藏你的文本,只需添加{text-indent:-9999px}这会将你的文本移动到-9999px但会隐藏你的文本。这种方法称为 IR - 图像替换

编辑:这是@Faust 提供的参考资料

于 2011-05-15T14:11:32.217 回答
0

听起来您主要关心的是替换链接中的文本(不是吗?)。

如果您有权更改链接文本,并且您可以包含那些未经过 HTML 字符编码的值的标记,

然后用 span 包围每个链接文本(例如:Question--> <span>Question</span>),使每一行看起来像:

<li class="qtab-0 active first"><a href="/bagsmaekken?quicktabs_2=0#quicktabs-2" id="quicktabs-tab-2-0" class="qt_tab active"><span>Question<span></a></li>

...然后您可以使用此 CSS 隐藏文本:

#quicktabs-2  a span {display:none;}

否则,我认为您唯一的其他办法是使文本非常小并接近图像的颜色:

#quicktabs-2  a {font-size:1px;text-decoration:none;color:grey}
于 2011-05-15T10:54:32.273 回答