这一切都始于我想要一种隐藏某些内容的方法,除非有要求。我已经在一些工具提示中使用了 link:hover 方法,并且想尝试将它用于此目的。
我正在避免使用 JS,因为我的网站的性质适合在手机上使用——即使在支持 JS 的地方,它的加载也是显而易见的,并且当它失败时,会使网站使用起来令人沮丧。
因此,我在带有时间戳生成 url 的锚标签中的 div 标签中有一个 iframe。实际上隐藏 iframe 导致它无法在 IE 中加载,所以我将它的高度设置为 0,直到它处于“已访问”状态。本来我只是用了div,但是链接属性都带了过来,所以引入了frame。在 FF 中,这按预期工作(为什么要将链接状态应用于链接不驻留的框架的元素?(当然,进一步的问题是,“为什么首先将框架包装在锚标签中? ?” 足够有效))但在 IE 中,“链接”状态会部分地干扰框架的功能。
光标是正常的,但是当您尝试单击框架中的任何内容时,常规的 url 指示指针会短暂出现。框架内的链接工作正常——但形式很棘手。您只能在框架内第二次单击时在表单字段中设置插入符号。第一次点击似乎将焦点放在了框架中;之后点击表单字段就足够了。最后需要注意的是,在 iframe 中不能用鼠标选择任何内容,包括用户在表单字段中输入的任何文本。
我玩过 z-indexes 无济于事,并且还尝试在访问时将链接本身的可见性设置为隐藏(这有效,但并没有杀死 I'm-still-going-to-pretend-I IE 中的“m-a-link”行为。
想法?
相关代码:html:
<a id="t-l" href="#<?php
echo time();
?>a" class=hidebox>save/share<div><iframe src="addtoany.php?pageID=1962460927" frameborder=0></iframe></div></a>
CSS:
.hidebox {}
.hidebox iframe {height: 0px; width: 300px; background-color:#393242;}
.hidebox:visited {}
.hidebox:visited div {width:300px; height:400px; padding: 10px 0px 0px 10px;}
.hidebox:visited iframe {height: 400px; width: 285px; border: 0px solid #393242; margin: 0px auto 0px auto;}