Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Recaptcha fixed image size

Why is recaptcha image fixed in size 300x57 ? Even when customizing the div where the image is injected, the width and height of the div are overridden and set to 300x57. Of course the image can be re-sized after it's rendered, but why there are no options to generate the image the size developers would like it to be.

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

reCAPTCHA will rely on the presence of HTML elements with the following IDs to display the CAPTCHA to the user: An empty div with ID recaptcha_image. This is where the actual image will be placed. The div will be 300x57 pixels

Thank you

like image 211
ken Avatar asked Aug 02 '10 16:08

ken


4 Answers

#recaptcha_image img {
    width: 200px !important;
    height: 38px !important;
}
like image 68
Larry Cinnabar Avatar answered Oct 29 '22 08:10

Larry Cinnabar


You can override inline css adding !important behind a css rule, even in an external file.

like image 29
MatTheCat Avatar answered Oct 29 '22 06:10

MatTheCat


Full customization with 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>
like image 1
Developer Avatar answered Oct 29 '22 07:10

Developer


Solution working for the new 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">

like image 1
andrea.somovigo Avatar answered Oct 29 '22 08:10

andrea.somovigo