Walker
Walker

Reputation: 134643

Recaptcha creates iFrame on page, breaks styling

Recaptcha is adding a "This frame prevents back/forward cache problems in Safari" iFrame to the top of my website (code included below), which is pushing off the styling by 20-30px (approximately).

If I set display: none; to the element in Firebug it fixed the problem .

Does anyone know why this element has a height (I have no CSS that applies to iFrames)? Or how to set display: none; on it?

<iframe src="about:blank" style="height: 0px; width: 0px; visibility: hidden; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; ">
    This frame prevents back/forward cache problems in Safari.
</iframe>

Upvotes: 36

Views: 10433

Answers (3)

James Hill
James Hill

Reputation: 61832

Try the CSS below:

/* ReCaptcha Iframe FIX */
iframe {display:none !important;}
header iframe,
section iframe,
footer iframe,
div iframe { display:inline; }

If you don't have any other frames on the site to worry about, a simpler version should suffice:

iframe {display:none !important;}

Alternatively, you could target all iframes where src="about:blank":

iframe[src="about:blank"]{display:none;}

Upvotes: 49

Leo Jiang
Leo Jiang

Reputation: 26143

iframe[src="about:blank"]{display:none;}

This matches all iframes with the "src" attribute of "about:blank".

Upvotes: 24

Brendon Muir
Brendon Muir

Reputation: 4612

This seems simpler and more accurate:

body > iframe { display:none !important; }

Upvotes: 5

Related Questions