html - 如何防止用户代理样式表覆盖我自己的 CSS?

标签 html css browser doctype

我必须为文本框和选择元素设置相等的宽度。

当我删除 !DOCTYPE 时,两个输入字段都设置为相等的长度,即每个字段相应地设置为 185px。

对于 DOCTYPE,文本框的宽度略大于选择元素。如果我通过带有 offsetWidth 属性的 javascript 检查它的宽度,它被发现是 189px 而不是我在我的 CSS 中设置的 185px。

输出截图:-

enter image description here

代码片段:-

<!DOCTYPE html>
<html>
<style>
 .usrInput{width:185px}
</style>

<body>
<div id="content">
 <form>  
  <input type="text" name="fname" id="fname" class="usrInput"/><br/>
  <select name="state" id="state" class="usrInput">
    <option value="">Select State
  </select><br/>  
 </form>
</div>
</body>
</html>

我认为是用户代理样式表 以某种方式覆盖了我自己的 CSS。我实际上不知道为什么会这样,我应该怎么做来克服这个问题?

最佳答案

如果你使用

.usrInput {
    box-sizing: border-box;
}

下拉菜单和输入大小将匹配。

编辑:通常您可以使用诸如 normalize.css 之类的 css 重置来自动处理此类小问题。

关于html - 如何防止用户代理样式表覆盖我自己的 CSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51672932/

相关文章:

html - 如何在 Amazon EB (Elastic Beanstalk) 上托管静态网站?

javascript - 滚动到页面底部,呈现新容器后

javascript - 如何计算文本字段中的单词数

html - 将一个 div 放在另一个 div 的中间

javascript - 我们可以使用 jquery 启用浏览器位置吗

javascript - jQuery 替换 html 文档中的开始和结束标记

html - 具有最小宽度的 3 列布局(固定、流动、固定)

css - 如何无缝对齐不同大小的 block div?

javascript - DOM 之外的浏览器 Javascript 中的自定义事件发射器/消费者

http - 浏览器和 Web 服务器之间的通信是如何进行的?