Recaptcha фиксированный размер изображения - PullRequest
7 голосов
/ 02 августа 2010

Почему изображение рекапчи фиксировано в размере 300x57? Даже при настройке div, в который вводится изображение, ширина и высота div переопределяются и устанавливаются в 300x57. Конечно, изображение может быть изменено после рендеринга, но почему нет вариантов генерирования изображения, которое разработчики хотели бы иметь в этом размере.

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

reCAPTCHA будет полагаться на наличие элементов HTML со следующими идентификаторами для отображения CAPTCHA для пользователя: Пустой div с идентификатором recaptcha_image. Это где фактическое изображение будет размещено. Div будет 300x57 пикселей

Спасибо

Ответы [ 6 ]

11 голосов
/ 21 апреля 2011
#recaptcha_image img {
    width: 200px !important;
    height: 38px !important;
}
1 голос
/ 23 февраля 2015

Решение работает для новой 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">

1 голос
/ 12 февраля 2014

Полная настройка с помощью CSS, Демо

<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>
1 голос
/ 11 октября 2010

Вы можете переопределить встроенное добавление CSS! Важно за правило CSS, даже во внешнем файле.

0 голосов
/ 21 августа 2015

Для новой версии 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

0 голосов
/ 23 октября 2014

Это сработало для меня и эффективно изменило ширину всего элемента управления, а не только внутреннего изображения

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