Hi,

consider CSS template (separate from HTML file) with:

.box {
  ...
  margin-left: auto;
  margin-right: auto;
  ...
}

Now I want to wrap this box inside another one that is created by
JavaScript but to preserve margin adjustment. So, I'd do something
like:

<span id='box_to_wrap' class='box'>
Hello World!
</span>
...
<script type='text/javascript'>
window.addEvent( 'domready', function() {
  var _el = $( 'box_to_wrap');
  var _wrapper = new Element( 'div');

  // I SKIP HERE _wrapper SETUP TO BE BLOCK, OF THE SAME WIDTH AND
HEIGHT AS _el. CONSIDER THAT IS DONE

  _wrapper.inject( _el, 'after');
  _wrapper.adopt( _el);

  // NOW I WANT TO SET WRAPPERS MARGIN-LEFT AND RIGHT TO WHATEVER IS
SET IN ELEMENT STYLE
  _wrapper.setStyles( _el.getStyles( 'margin-left', 'margin-right'));
});
</script>

Unfortunately the line where styles are set for wrapper won't work
because:

_el.getStyles( 'margin-left', 'margin-right');

returns 0 margins or specific numbers that Browser has defined on
first render of page but not 'auto'.

Interesting moment is that if I explicitly specify margin-left and
margin-right to have auto values in style of 'box_to_wrap' element
within HTML opening tag everything works fine.

Question: is there any way to get 'auto' value in case CSS for class
is defined in external template file and not explicitly via
style='...' ?

Reply via email to