我有一个包含大量链接的表。链接不包含文本,而是使用css属性content
来定义链接的外观(在这种情况下,链接包含facebook,instagram和twitter的符号)。到目前为止它看起来应该如此,但我无法点击它们。我想避免使用
,那我该怎么办?
这是我的HTML:
<table style="width: 100%">
<tbody>
<tr>
<td class="fblink">
<a href="http://www.facebook.com/ladygaga" target="_blank"></a>
</td>
<td class="twlink">
<a href="http://twitter.com/LadyGaga" target="_blank"></a>
</td>
<td class="iglink">
<a href="http://instagram.com/ladygaga" target="_blank"></a>
</td>
</tr>
</tbody>
</table>
我的CSS:
table{
border-collapse: seperate;
border-spacing: 10px 0;
}
.fblink{
background: blue;
}
.fblink:before{
content:'\f30c';
}
.twlink{
background: lightblue;
}
.twlink:before{
content:'\f309';
}
.iglink{
background: red;
}
.iglink:before{
content:'\f32d';
}
有人可以帮帮我吗?我为它创建了一个小提琴http://jsfiddle.net/Qf99d/
提前致谢
答案 0 :(得分:5)
你是在错误的地方添加伪元素......它们应该在锚链接内而不是表格单元格
<强> CSS 强>
table{
border-collapse: seperate;
border-spacing: 10px 0;
}
tr td a {
display: block;
text-decoration: none;
width:100%; /* make anchor full widths */
}
a:before {
color:white;
}
.fblink{
background: blue;
}
.fblink a:before{
content:'\f30c'; /* now inside anchor */
}
.twlink{
background: lightblue;
}
.twlink a:before{
content:'\f309';
}
.iglink{
background: red;
}
.iglink a:before{
content:'\f32d';
}
答案 1 :(得分:4)
您必须在链接标记中添加内容,例如,您可以在链接中添加图标标记,如下所示:
<td>
<a href="http://www.facebook.com/ladygaga" target="_blank"><i class="fblink"></i></a>
</td>
答案 2 :(得分:3)
不要忘记:使用table
元素进行布局被认为是一种不好的做法。使用CSS进行布局。
如果你想让整个表格单元格可以点击而不改变你的标记,你可以选择这样的东西:
CSS:
table{
border-collapse: seperate;
border-spacing: 10px 0;
}
.fblink a, .twlink a, .iglink a {
display: inline-block;
width: 100%;
height: 100%;
text-decoration: none;
}
.fblink{
background: blue;
}
.fblink a:before{
content:'\f30c';
}
.twlink{
background: lightblue;
}
.twlink a:before{
content:'\f309';
}
.iglink{
background: red;
}
.iglink a:before{
content:'\f32d';
}
答案 3 :(得分:1)
只需在<a>
括号中插入您想要点击的图像。
答案 4 :(得分:1)
如果您不想使用任何<a>
,可以在<img>
标记中插入虚拟DIV:
<a href="http://www.facebook.com/ladygaga" target="_blank"><div style="width:1em; height:1em; display:inline-block"></div></a>
答案 5 :(得分:1)
以下是值得一提的相关附注:
如果您正在考虑使用没有可描述文本的<a>
标记作为其内容(如图像或图标),那么您必须牢记可访问性。我建议您添加title
属性或aria-label
属性。
更多信息:https://dequeuniversity.com/rules/axe/1.1/link-name
答案 6 :(得分:0)
使用CSS将锚标记的宽度设置为其父标记的大小,即display:block;整个表格单元格可以点击。
答案 7 :(得分:0)
将锚点的宽度和高度设置为背景图像的相同宽度和高度。除非被覆盖,否则锚的大小根据其内容(其中没有)。
我检查了你的小提琴。确保Anchor的大小,而不仅仅是包含TD。答案 8 :(得分:0)
有两种方法我知道如何做到这一点。如上所列,您可以在a标签内设置图像,也可以执行图像映射。就个人而言,我只想把这样的链接。
<a href="http://www.facebook.com/ladygaga" target="_blank"><img src="File Here" /></a>
等等。希望这会有所帮助。
答案 9 :(得分:-1)
如果您无需点击,就不能指望href重定向您。
您可以在页面加载后使用jQuery,如下所示:
<script>
$(function() {
$("#theHref").html("\f30c");
});
</script>
答案 10 :(得分:-4)
在这样的链接标签之间使用几个(空格字符)
<a href="http://www.facebook.com/ladygaga" target="_blank"> </a>