html - 为什么 html 中的内联输入标记会对宽度和高度属性做出反应?
问题描述
为什么这里两个输入标签都有我在css文件中提到的宽度和高度?他们都应该忽略它作为inline
元素
<input class="submit" type="submit" value="Send">
<input class="reset" type="reset" value="Clear">
input
{
width: 200px;
height: 40px;
background-color: lightgreen;
}
解决方案
正如您所提到的,输入被列为内联元素(https://developer.mozilla.org/en-US/docs/Web/HTML/Inline_elements#list_of_inline_elements),但浏览器有自己的样式表,称为用户代理样式表,用于设置它们的呈现 HTML 时有自己的默认值。
如果你检查铬:https ://chromium.googlesource.com/chromium/src/third_party/+/refs/heads/main/blink/renderer/core/html/resources/html.css#408 ,你会看到他们正在设置的第 419input, textarea, select, button
行display: inline-block;
。
每个浏览器都有自己的用户代理样式表,如果您检查浏览器开发人员工具,请滚动浏览 css 规则以获取输入。你最终会找到我上面提到的规则。
推荐阅读
- flutter - 如何通过flutter中的flutter_openvpn包实现.ovpn文件
- macos - PyCharm's "Search Everywhere" does not show filename extensions
- wordpress - 我在 WooCommerce 类别上上传图片和更改图片时遇到问题
- azure - 使用 Graph API 更新用户信息
- php - jQuery DatePicker 在使用 mongodb 数据库的 php 中不起作用?
- wordpress - 致命错误:在 AWS EC2 上运行的 WordPress 内存不足
- javascript - 根据数组的索引更改图像的状态 - React.js
- firebase - 为什么以编程方式创建的动态链接未在 Firebase 控制台的“动态链接”中列出?
- java - textView 中的文本未显示,但 java 代码工作。如果我将 autoLink="web" 标记添加到 textview ,则文本显示但 java 代码不显示
- android - 在 Android 的 MessagingStyle 通知中显示图像