2012-02-01 6 views
5

私はreCAPTCHAを使用しています。recaptcha_challenge_fieldのテキストエリアは、他のものと重複する再現ボックスの中央に表示されています。私はそれがあるため、このスタイルのだということが見つかりました:reCAPTCHAをオーバーライドするCSS

.recaptchatable #recaptcha_response_field { 
    position: absolute!important; 

私はChromeでstaticpositionを設定すると、それが正常に見えます。しかし、私はそのCSSオプションを上書きする方法を理解できません。

は、私が試した:

  • は自分のCSSにこれを追加する:

    .recaptchatable #recaptcha_response_field { 
        position: static !important; 
    } 
    
  • のdivクラスを経由して、それを呼び出す名前.recaptcha_text
    • と私のCSS内の別のエントリを追加する(ラップアラウンドテキストエリア)
    • pクラス(textareaを囲む)で呼び出す
    • は、しかし、私は私のCSSはその位置上書きすることができません標準<textarea name="recaptcha_challenge_field" ...>タグ

position: static!important;を追加:!静的に重要。スクリプトで引き継ぐ:

<script type="text/javascript" 
src="http://www.google.com/recaptcha/api/challenge?k=your_public_key"> 
</script> 
<noscript> 
    <iframe src="http://www.google.com/recaptcha/api/noscript?k=your_public_key" 
    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> 

私が間違っていることを助けてくれる人はいますか?ありがとうございました!ここでのテストから

+1

サンドボックスにする必要があります。そのため、問題の原因となっているスタイルを確認してください。 recaptchaだけで空白のページを再現しようとします。それ以外の場合は、独自のファイルにrecaptcha cssがありますか?それをローカルの変更されたコピーで置き換えます。 – paislee

答えて

2

は:http://jsbin.com/otihuk/edit#html,live

これは、単純なCSSの特異性の問題のように見えます(テストはWebKitのブラウザで動作しているようです)。あなたの後にreCAPTCHA CSSがロードされ、セレクタとそのセレクタの両方が等しい特異性を持ち(宣言ではどちらも!importantです)、最後に指定されているため、勝ちます。

あなたは彼らよりも、あなたのセレクタは、より具体的なことによって、それを修正することができます:

#recaptcha_area #recaptcha_response_field { 
    position: static !important; 
} 

私は上記の私のデモでは、と私はpositionの計算値#recaptcha_response_field要素を調べて見ることができることを追加しましたプロパティは今やstaticです。

+0

私は自分のCSSファイルに入れて何らかの理由で動作しませんでしたが、htmlの先頭に直接追加したときに機能しました。ありがとう! – yellowreign

関連する問題