2013-10-05 100 views
0

我在一个网站的主页级别暴露的窗体中创建一个蜜罐字段。字段去:蜜罐定位

honeypot 
email 
name 
text area for comment 

蜜罐不应该显示为真正的用户,但应该可用于机器人填写。我用CSS这样的:

<input class="honey" type="text" placeholder="your email" /> 

这不是工作:

.honey{ 
    position: absolute; 
    left: -999em; 
    } 

到蜜罐的位置。输入元素保持在原来的位置。我已经检查过,确保CSS是最后一个加载的,观察临近规则,没有什么更具体的,并且看不到任何覆盖。

我有没有一些魔法?

感谢

+0

适用于我:http://jsfiddle.net/74TW6/。 –

+0

这正是我所做的,但因为它在一组浮动'div's我相信这是导致它不想移动。 –

+0

这不是一个真正的答案,你的CSS问题......但我认为你的方法不是最好的从我的角度来看 CSS显示没有足够的一些机器人,但使用JS从DOM中删除元素是最好的因为机器人通常不会启用JS。 这个软件包https://packagist.org/packages/dominiquevienne/honeypot是一个完整的免费解决方案,可以防止垃圾邮件从没有任何验证码的表单...随时测试:安装快捷,简单高效。 –

回答

1

如果您<input>是另一个元素(如<div>)内有position: relative;设置,输入将被绝对,但相对于该元素的位置。

切换到position: fixed;,因为这是相对于可视屏幕区域。

Reference

+0

所以你说切换封闭'div'到'位置:固定',这应该解决问题?我想知道是否只是使用一点Javascript将会是更低的水果。 –

+0

不,不要,只要将'.honey'改为'position:fixed;'。并添加一个'top:-999em;'而你在这里。 – Deryck