我的网络应用中有面板,我正在设置样式属性:
panel.setStyleAttribute('margin-left', 'auto').setStyleAttribute('margin-right','auto');
这在铬中完美地恶化,使元素按照预期居中。但是在IE中,元素粘在屏幕左侧。
有没有解决这个问题的方法?
答案 0 :(得分:2)
与其他浏览器不同,margin:auto只能在Internet Explorer中使用标准模式而不是quirks模式。
UiApp默认使用quirks模式CSS规则,除非(a)您在初始应用创建中加载GuiBuilder组件,这会强制执行标准模式,或者(b)您明确要求标准模式。
这将使您处于标准模式,因此也可以在IE中工作:
function doGet() {
var app = UiApp.createApplication().setStandardsMode(true);
return app.add(app.createLabel('centered').setStyleAttributes(
{marginLeft: 'auto',
marginRight: 'auto',
width: '100px'}));
}
注意 setStandardsMode(true) - 如果没有它,它将无法在IE中运行。但请注意,因为标准模式样式的有时解释不同于quirks模式,所以这可能会改变布局的其他方面。
一些注意事项:
答案 1 :(得分:0)
使用CSS样式属性的规范化表单
panel..setStyleAttribute('marginLeft', 'auto').setStyleAttribute('marginRight','auto')
您可以查看支持的样式属性列表here
答案 2 :(得分:0)
我已经在google上针对此问题记录了问题#2159。
http://code.google.com/p/google-apps-script-issues/issues/detail?id=2159