Note: I know offsetWidth is read only
I'm trying to make a pop-up 'div' overlay a tr element with the exact same width.
However, I am stumped as to how to set my div's width so that its offsetWidth is the exact same as the tr.
The calculation would look something like:
div.width = tr.offsetWidth - div.paddingWidth - div.marginWidth
but surely there's a better way (since I can only think of getting the padding and margin offsets in groups of two...)
Specifically, I'd like an answer for YUI 2 if possible.
If you zero out your
div's margin and paddings then something like the following should work:Depending on how you are dealing with borders on your
divandtryou may want to assigntr.clientWidthinstead.You can then set any margin/paddings as required on the parent/child elements of your
divto achieve the desired appearance.The key to working out what you'll want to do is understanding exactly what
clientWidthandoffsetWidthmeasure, and that the CSSwidthof an element is its content area and excludes any margin, border, and padding defined on it (see the W3C box model here).You could include the padding etc. in your calculation by querying it from the