CSS:放置style =“”是否合法?

时间:2013-07-31 09:35:03

标签: html css

<div style="margin-bottom:1em;">
    <input type="submit" value="Guest Access" name="guest_login" class="buttonhmpg" style="width:115px;" style="">
</div>

我们在页面上有“访客访问”按钮,根据我们显示按钮的配置,我的意思是在配置文件中,如果是,那么我们将显示按钮,如果否,那么我们将使用CSS样式隐藏按钮{ {1}}。但是如果我删除style=\"visibility:hidden\"空样式标记,则显示和隐藏的配置将不起作用。但如果我删除style="",则会始终显示。

我的问题是放置style=""是否合法?是因为style="",有时是访客访问按钮  显示,有时隐藏?

3 个答案:

答案 0 :(得分:1)

没有。任何给定HTML属性的只有一个实例可能出现在元素上。

如果元素上已存在匹配名称之一,则浏览器必须忽略属性。

  

当用户代理离开属性名称状态时(如果合适,在发出标记令牌之前),必须将完整属性的名称与同一令牌上的其他属性进行比较;如果令牌上已经存在具有完全相同名称的属性,那么这是一个解析错误,必须删除新属性以及与之关联的值(如果有)。

- http://www.w3.org/TR/html5/syntax.html#attribute-name-state

您可以使用单个样式属性,并将规则用分号分隔(与任何其他规则集一样),但应该放弃使用样式属性并使用类来允许元素与样式表。

答案 1 :(得分:0)

为什么不添加一个类?

.invisible {
    display: none;
    visibility: hidden;
}

答案 2 :(得分:0)

在同一HTML元素上具有两个样式属性是无效的。您应该将visibility:hidden;部分添加或删除到单个样式属性。