我有一个容器,看起来像这样使用CSS来隐藏非锚元素
<div id="container">This container has a <a href="#">link</a> in it</div>
我想隐藏在它之外的所有链接。
我已经试过
#container {display:none;}
#container a { display:block; }
但是,这并不工作。
这是一种用户风格,所以我只能访问CSS。没有Javascript。没有标记。
我有一个容器,看起来像这样使用CSS来隐藏非锚元素
<div id="container">This container has a <a href="#">link</a> in it</div>
我想隐藏在它之外的所有链接。
我已经试过
#container {display:none;}
#container a { display:block; }
但是,这并不工作。
这是一种用户风格,所以我只能访问CSS。没有Javascript。没有标记。
使用visibility
将在这里工作,如果你不介意的无形的,非链接文本仍然占用空间。
#container {
visibility: hidden;
}
#container a {
visibility:visible;
}
如果你确实需要模仿显示块的风格,你可以尝试:作为OP不能访问页面
#container {
visibility: hidden;
position: relative;
}
#container a {
visibility:visible;
position: absolute;
top: 0;
left: 0;
}
这是不可能的,你正在使用的代码。由于文本片段是仅由anonymous inline boxes表示的文本节点,因此无法分别使用display
进行样式设置。
但是,如果您将包含a
元素的文本也放入元素中,例如, span
S:
<div id="container"><span>This container has a </span><a href="#">link</a><span> in it</span></div>
然后,你可以这样做:
#container span { display: none; }
#container a { display: block; }
额外的标记不会在这里工作。 – 2010-01-17 20:41:01
看起来不错。但由于这是针对用户样式的,因此我无法访问标记。谢谢,不过。 – 2010-01-17 20:42:16
@Morten J:这取决于你想要做什么,如果你的努力会取得成功。 – Gumbo 2010-01-17 20:54:14
迄今为止的最佳建议。我将#container中的字体大小调整为0%。这个足够好。谢谢。 – 2010-01-17 20:48:40