i got webpage composed of content , footer. main part of content div contains iframe when click on button. when iframe appears, content overlaps footer tried fix way :
start footer :
footer { height: 50px; background-color: #f5f5f5; bottom: 0; position:fixed; width:100%; padding-bottom: -40px; }
then when iframe appears, switch position:fixed;
position:float
(which gives expected when make change hands ... looks jquery can't modify ?
here jquery call :
$('footer').css("color", "red"); // works $('footer').css("position", "float"); // doesn't work
can't jquery ? missing ? thanks
based on description of page, sounds position
value want static
, rather float
. there css rule called float
, pretty different. try instead:
$('footer').css("position", "static"); // *should* work
as why working when changed css rule hand, thing remember browser ignores css rules values doesn't understand , acts if weren't there. what's happening in case browser doesn't understand position: float
, it's ignoring rule , using default. happens, default value position
static
, want.
i imagine when tried change position
rule via js, dom again said "hey, don't know rule means, i'll pretend doesn't exist". might think overwrite or clear out position: fixed
rule, won't because of "cascading" nature of css. setting rules in js on dom node equivalent setting inline rules, doesn't affect rules in <style>
blocks or external stylesheets. in case, css said "i don't know inline rule means, i'll revert <style>
rule understand."
an interesting experiment try set position: fixed
in js @ start of page instead of in <style>
block (or external sheet, not sure you're using) , try broken position: fixed
code again. might work again in case because position: fixed
might overwritten bad rule, have same effect using faulty rule in stylesheet, namely defaulting static
.
Comments
Post a Comment