javascript - 输入文本的文本对齐方式

标签 javascript html css internet-explorer

考虑以下用于输入标记的 html 片段 -

Test Input : <input id="1" name="1"  style="width:250px;height:50px;" value="Check alignment" />

直到 MS IE 8,默认情况下 input文本顶部对齐(下面的屏幕截图)。 MS IE 8 input text alignment

启动 MS IE 9 及更高版本,input文本居中对齐(下面的屏幕截图)。 MS IE 9+ input text alignment

我有一个要求,所有input在 MS IE 9 及更高版本中顶部对齐(其他浏览器 - chrome、firefox 等不是很关心)。

我尝试了一些样式选项(如下),但无法获得 MS IE 8 中所见的顶部对齐方式。

  • align可用于 input 的属性似乎不适用于文本。不过它似乎适用于图像。
  • text-align属性仅水平对齐文本。垂直对齐是不可能的。
  • vertical-align属性似乎没有任何影响:(

我检查了Crossbrowser input text vertical alignment正如 SO 所建议的那样,但我仍然无法按要求进行工作。

我可能遗漏了什么。欢迎提出任何建议(按偏好降序阅读 css、html 或脚本):)

作为旁注,从用户体验的 Angular 了解 MS 为何决定更改 input 的行为也将是一件好事。 MS IE 8 之后的文本。

[编辑]:我正在处理遗留代码。有人建议我不要进行会破坏自动化 UI 测试的更改。所以,<textarea>不是首选。同样,包装在 <div> 中或替换为 jquery基于替代方案被考虑。

最佳答案

一个简单但跨浏览器风格的解决方案是使用填充来控制文本的定位。见下文

input {
  width:210px;
  height:10px;
  padding:20px;
}
Input : <input id="1" name="1" value="Check alignment" />

关于javascript - 输入文本的文本对齐方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36333153/

相关文章:

javascript - 使用 Angular 间隔定时器功能

html - 将 CSS 属性应用于 HTML 代码以实现图像的边框和虚线

css - 使用压缩输出时,SASS/Compass 在@each 中缺少一个条目

javascript - agora.io web sdk - 获取外部播放器的流链接

javascript - Jquery- 使用 <li> 值作为 jquery ui 自动完成的来源

html - 编辑 HTML 选择按钮的 CSS 样式

html - 如何设置 iOS6 文件输入控件的样式?

jquery - 我可以设置 <select> 元素的样式来显示列吗?

javascript - 如何在 javascript 中为背景位置创建变量?

javascript - 浏览器刷新后数据历史值将保留