handle defaults for width, attrs.margin