2010-08-02 127 views
7

为什么recaptcha图像的尺寸固定为300x57?即使在定制注入图像的div时,div的宽度和高度也会被覆盖并设置为300x57。当然,图像可以在渲染后重新调整大小,但为什么没有选项可以生成开发人员希望的大小的图像。Recaptcha固定图像尺寸

http://code.google.com/apis/recaptcha/docs/customization.html

验证码将依靠与下列ID的HTML元素的存在,以显示CAPTCHA给用户:一个空div与ID recaptcha_image。这是实际图像的放置位置。那么div会是300x57像素

谢谢

回答

11
#recaptcha_image img { 
    width: 200px !important; 
    height: 38px !important; 
} 
1

您可以覆盖内嵌的CSS加入!CSS规则背后重要的是,即使在外部文件中。

1

与CSS完全定制,demo

<form method="POST" action=""> 



<script type="text/javascript"> 
           var RecaptchaOptions = { 
            tabindex: 1, 
            theme: 'custom', 
            custom_theme_widget: 'recaptcha_widget' 
           }; 
          </script> 
          <div id="recaptcha_widget" style="display:none"><div id="recaptcha_image"></div> 
           <div class="recaptcha_only_if_incorrect_sol" style="color:red">Incorrect, please try again</div> 
           <span class="recaptcha_only_if_image">Enter the words above:</span> 
           <span class="recaptcha_only_if_audio">Type what you hear:</span> 
           <input type="text" id="recaptcha_response_field" name="recaptcha_response_field"> 
           <div class="get_another_captcha"><a href="javascript:Recaptcha.reload()">Get another CAPTCHA</a></div> 
           <div class="recaptcha_only_if_image"><a href="javascript:Recaptcha.switch_type(&#39;audio&#39;)">Get an audio CAPTCHA</a></div> 
           <div class="recaptcha_only_if_audio"><a href="javascript:Recaptcha.switch_type(&#39;image&#39;)">Get an image CAPTCHA</a></div> 
           <div><a href="javascript:Recaptcha.showhelp()">Help</a></div> 
           <script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k=YourAPI"></script> 
           <noscript><iframe src="http://www.google.com/recaptcha/api/noscript?k=YourAPI" height="300" width="500" frameborder="0"></iframe><br> 
           <textarea name="recaptcha_challenge_field" rows="3" cols="40"> 
           </textarea> 
           <input type="hidden" name="recaptcha_response_field" value="manual_challenge"></noscript></div> 
          <script type="text/javascript"> 
           window.onload = function() { 
            Recaptcha.focus_response_field(); 
           } 
          </script> 
          <table cellspacing="0" cellpadding="4" border="0" style="font-family: Helvetica, sans-serif; color: #000000; font-size: 12px;"><tr><td><div><input type="submit" name="Button1" value="Submit"></div></td></tr></table></form> 
0

这为我工作,有效地改变了整个控制的宽度,不仅内部图像

#recaptcha_area 
    { 
     width: 250px !important; 
     height: 38px !important; 
    } 
1

解决方案的新工作google Recaptcha(https://www.google.com/recaptcha/

<!--adjust to your needs --> 
<div class="g-recaptcha" data-sitekey="your_sitekey" style="transform:scale(.8); margin:0 -30px"> 

0

对于noCaptcha的Recaptcha的新版本,我以下工作:

<div class="g-recaptcha" data-theme="light" data-sitekey="XXXXXXXXXXXXX"  
style="transform:scale(0.77);transform-origin:0;-webkit-transform:scale(0.77); 
transform:scale(0.77);-webkit-transform-origin:0;transform-origin:0 0;"></div> 

如果你只比例仍然需要在div的原始大小。但上面的解决方案解决了空白问题。

Ref