我在 ASP.NET 生成的页面中看到了以下代码段。
<input name="ctl00$MainContent$Button1" id="MainContent_Button1" type="submit" value="Button">
问题是,
type="submit"控件是否总是在浏览器中呈现为按钮?
这直接影响到Coded UI测试代码应该怎么写,如果是Button,就用HtmlInputButton,如果不是,就需要用其他类型来表示输入元素。
好吧,似乎是内容与样式的混淆。
输入的submit
类型只是告诉渲染客户端这个特定的输入元素应该在触发时发布它包含的表单(例如通过鼠标单击)。
无论如何,当前浏览器的默认样式表包括样式/将这些输入呈现为按钮。但是默认样式并不是真正需要的,因此也可以在自制的 HTML/CSS 客户端中省略。
示例:Webkit 按钮的默认样式:
input[type="button"], input[type="submit"], input[type="reset"] {
-webkit-appearance: push-button;
-webkit-box-align: center;
display: inline-block;
box-sizing: border-box;
cursor: default;
padding: 1px 6px;
font: -webkit-small-control;
white-space: pre;
text-align: center;
border: 2px outset buttonface;
border-image: initial;
color: buttontext;
background-color: buttonface;
-webkit-rtl-ordering: logical;
-webkit-user-select: text;
}
不可以。浏览器可能以不同的方式显示元素,或者它可能什么也不显示(例如,如果它是听觉浏览器)。图形浏览器通常显示input type="button"
为按钮,但这可以通过 CSS 或 JavaScript(可能会更改type
属性)进行更改。并且按钮的视觉外观可能会有很大差异;从视觉上看,按钮的构成并没有严格的定义。