HTML“按钮”是否应该与其他所有内容具有相同的盒子模型?

2023-12-07

参考两者button元素和input元素与一个type of button,我遇到了一个我认为是错误的行为(在 Firefox 和 Chrome 的最新版本中)。但考虑到表单元素通常是我认为的 w3 规则的例外,我想在假设我是对的之前我会要求验证。

行为是这样的:在标准模式下,当我向此类元素添加边框时,边框出现在元素的宽度内。如果我手动设置box-sizing to content-box(使用供应商前缀),该行为符合我的预期,但是当box-sizing保留为默认值它不是content-box. 这是一个 jsfiddle 示例。如果你不想去jsfiddle,这里是源代码:

<!doctype html>
<html>
<head>
<title>Broken box model?</title>
<style>
body {
    padding: 30px;
    background: brown;
}
div {
    position: relative;
}
input {
    background-color: #CCC;
    font-family: Helvetica, Verdana, sans-serif; /* Yes, I know Helvetica and Verdana are dissimilar. I don't care. Arial sucks. */
    font-size: 18px;
    font-weight: bold;
    color: white;
    text-transform: uppercase;
    border: 0;
    width: 150px;
    height: 90px;
    margin: 4px;
}
input:hover {
    margin: 0;
    border: 4px solid white;
}
input:active {
    margin: 0;
    border: 4px solid white;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}
</style>
</head>
<body>
    <div>
    <input type="button" value="I am a button" />
    </div>
</body>
</html>

这是正确的行为,还是我偶然发现了一个错误?


显然这个错误已经报告给 Chrome 和 Firefox。漏洞在于,在这两种情况下,这些元素都有一个initial的价值box-sizing: padding-box在浏览器样式表中设置。因此从技术上讲它不是默认值(初始值!=默认值)。然而,将这些元素恢复到原来的唯一方法box-sizing: content-box正在使用专有的浏览器扩展content-box,因此没有任何真正符合 CSS 的方法可以做到这一点。 CSS 2.1 不存在 box-sizing,并且专有浏览器扩展不是有效的 CSS 3。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTML“按钮”是否应该与其他所有内容具有相同的盒子模型? 的相关文章

  • 整理 CSS 的最佳方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在整理一个以前由不同的人修改过的网站 这是我拥有的页面的骨架 测试 html http pastry se 94064 nav css ht
  • 使文本“bbb”位于图标旁边,而不是压在一起

    Goal 使字母 bbb 可见 并且文本应位于图标旁边 Problem 我尝试将文本移到右侧 但不起作用 你们知道该怎么做吗 JSfiddle https jsfiddle net 5f7qjLgf 1 Thanks result filt
  • 通过innerHTML输入时span不应用css样式

    我有 Angular 应用程序 作为它的一部分 我在 div 中显示查询结果 具有 JSONContainer 的 ID 我想突出显示结果中的特定查询 因此我使用了一个管道来搜索结果 并将文本中的 FIELD VALUE 替换为 span
  • HTML - 使用 JS 根据值更改文本颜色

    我正在使用 Django 创建一个以 HTML 形式显示的表格 我想当数字为负数时将数字的颜色更改为红色 当数字为正数时将数字的颜色更改为绿色 我知道我需要使用 JS 来实现这一点 但我无法让它工作 任何帮助将不胜感激 这是我的 Djang
  • 如何设置 div 高度来填充可用空间

    我有一个 3 列布局 列下方有一些详细信息 您会注意到其中一列的高度大于其他列的高度 我希望其他两个 div 自动填充剩余空间 直到蓝色 div 文本将动态加载 因此我需要它与任何更大的列 并且任意数量 一起使用 这可以通过 HTML CS
  • CSS - 单个图像文件与多个文件的优点

    我注意到现在很多网站将所有图像都放在单个文件中 然后使用背景位置来偏移屏幕上显示的矩形 这是出于性能原因吗 如果是这样为什么 这称为 CSS 精灵 使用它有几个原因 对服务器的请求更少 文件大小稍小 因为大图像比单独的图像要小一些 预加载图
  • CSS 中 media="screen" 是什么意思?

    下面的 CSS 代码中 media screen 是什么意思
  • 如何避免 Angular 材料中出现额外的 mat-form-field-underline

    我在查找为什么在使用组件时会出现额外的 mat form field underline 时遇到问题 我的页面使用此标记
  • 根据分辨率更改字体大小

    我正在开发一个网页 它的不同段落 h 等使用不同的尺寸 我在用着em sizes 字体大小 2em 举个例子 但是 当我将屏幕分辨率更改为较低的分辨率时 我希望该尺寸也较小 为此 我尝试了以下代码
  • font-family 未应用于移动设备

    我的 font family 属性有问题css 我有一个标题 我想使用特定字体设置样式 我在用 fontface 在我的桌面上它工作正常 但在iPhone and iPad我得到了一些标准字体 我认为可能是次 但我不确定 我做了一些研究并尝
  • 背景 CSS 图像仅在 IE7 中不显示

    html 是 div class choose os p a href someLink class windows Microsoft Windows a a href someOtherLink class macos Apple Ma
  • jquery覆盖加载栏div

    所以我有一个数据表 并且我正在使用 ajax 获取数据 当检索数据时 表中的数据消失并出现一个小的加载圆圈 我希望数据保留 我知道如何做到这一点 并且加载圆圈出现在表格的中心 不一定是垂直的 至少是水平的 以及稍微透明的背景阻挡稍微超出表格
  • 将单选按钮放置在图像上

    我试图在图像上的确切位置放置一些单选按钮 我已将两者都放在 Div 中 但我不知道下一步该怎么做 这是我想要放置单选按钮的位置 红色圆圈 到目前为止 这是我的代码 center display block margin left auto
  • 单击按钮重复动画

    我想每次单击按钮时都重复动画 我尝试做某事像这样 https jsfiddle net 91raod7e const dist document querySelector dist document querySelector butto
  • Li向左浮动,长度动态:最后一行无边框底部

    情况如下 https jsfiddle net rpepf9xs https jsfiddle net rpepf9xs 我想用选择器 nth last child 删除边框底部 但是 如果列表中只有8个 li 则会出现如下错误 ul di
  • 您能否确定 CSS 文件的范围,使其仅适用于给定元素的后代?

    给定一个 css 文件 有没有办法限制整个文件的范围 使其仅适用于给定元素内的元素 例如给定 div span class some element span div 有没有一种方法可以将整个 css 文件的范围应用于 容器 中的所有元素
  • 如何观察包含许多 sass 文件的整个目录/文件夹的变化

    我如何跟踪包含许多 sass 文件的整个目录的更改 我正在使用以下命令来观察 sass 的变化 file sass watch style scss style css 但是如何观察包含许多 sass 文件的整个目录 文件夹的变化 只需使用
  • HTML5 有效的命名空间标签前缀

    验证我的页面时 W3 Validator 会给我一个错误
  • 自定义 WP 主题时,我应该将导航栏放在“”标签之前还是之后?

    我正在通过制作子主题来自定义 WP 主题 我将 Bootstrap 中的导航栏放入子主题目录中的 header php 文件中 但是 我不确定在哪里放置导航栏代码 我可以把它都放在前面and之后标记成功 例如 无论我选择哪一个 导航栏都显示
  • 为什么我的图像下方有空间? [复制]

    这个问题在这里已经有答案了 图像在下面获得了神秘的空白空间 即使padding 0 margin 0被应用 示范 http jsfiddle net cLETP 红色边框应该包围图像 但底部有空间 造成这种情况的原因是什么 如何删除该空间

随机推荐

  • 如何在 JMeter 中将变量从一个线程组传递到另一个线程组

    我有一个包含 2 个线程组的 JMeter 测试 第一个是单个线程 创建一些库存 第二个有多个线程 购买所有库存 我使用 BeanShell Assertions 和 XPath Extractors 来解析返回值 XML 并存储变量 例如
  • 删除 datagridview 标题中的排序箭头并将文本放在框的中心

    我正在开发一个项目 需要标题文本位于中心 当单击标题时它将进行排序 但问题是 有一个排序箭头图标 即使它没有显示 它也会将文本推到左侧 我想要实现的是 删除排序箭头并将文本置于中心但仍保留排序功能 p s 我尝试处理单元格事件绘制并重新绘制
  • 替换字符串中特定索引处的字符?

    我正在尝试替换字符串中特定索引处的字符 我正在做的是 String myName domanokz myName charAt 4 x 这会产生错误 有什么方法可以做到这一点吗 Java 中的字符串是不可变的 你无法改变它们 您需要创建一个
  • Java枚举和迭代器的区别

    这两个接口的具体区别是什么 做Enumeration比使用有好处Iterator 如果有人能详细说明 参考文章将不胜感激 查看 Java API 规范Iterator界面上 有关于之间差异的解释Enumeration 迭代器不同于 枚举有两
  • python asyncio 无法同时运行两个无限函数

    我一直在尝试同时运行两个功能 但一个功能似乎永远无法工作 除非我停止另一个功能 第一个函数每 30 秒发送一封电子邮件 而第二个函数每 5 秒打印一条简单的语句 组合起来 每 6 个 Hello Worlds 输出应发送一封电子邮件 然而
  • 如何在 AChartEngine 中禁用显示缩放窗格

    任何人都可以帮助我了解 AChartEngine 在这里 我需要的第一件事是不要在图表中显示缩放图标 也不显示 x y 标签 但我找不到任何解决方案 您可以使用XYMultipleSeriesRenderer方法 启用或禁用缩放和平移 如下
  • 使用Python的词云库时,为什么停用词没有被排除在词云之外?

    我想排除 The they 和 My 在我的词云中显示 我正在使用 python 库 wordcloud 如下所示 并使用这 3 个附加停用词更新停用词列表 但 wordcloud 仍然包含它们 我需要更改什么才能排除这 3 个单词 我导入
  • Angular 2:将 *ngFor 加 2 或在 Pagination 中实现两个分页

    我对 Angular 还很陌生 我想知道是否有任何方法可以将 ngFor 循环增加 2 而不是 1 我正在尝试在一个分页中实现两个分页 为此需要将循环增加 2 我正在获取包含带有 in 的对象的对象 假设用户及其地址列表 第一个NgFor是
  • 如何在 ASP.NET MVC 模型中保存选定的 DropDownList 值以进行 POST?

    我的模型中有一个属性 如下所示 public IList
  • Shell 脚本中的字符小写到大写

    我的价值在于 詹姆斯 亚当 约翰我正在努力做到詹姆斯 亚当 约翰 每个名称的第一个字符应大写 根据 kev 下 echo 詹姆斯 亚当 约翰 sed s 我无法在不同的系统中执行相同的操作 我正在使用 ksh 但我不知道是否是因为 ksh
  • 如何从我的全局热键粘贴其他应用程序

    我编写了一个小型生产力工具 可以通过剪贴板进行一些字符串操作 它当前正在注册一个热键 在其中提取剪贴板文本 对其进行处理 然后将结果转储回剪贴板上 我已将其安装在 CMD SHIFT V 上 目前 您需要从另一个应用程序执行的操作是复制 C
  • 如何在 VisualForce 页面中实现“保存并新建”功能

    我知道这就是保存记录的方法
  • 识别常见模式[重复]

    这个问题在这里已经有答案了 是否有 简单 可能识别两个字符串共享的公共模式 这是一个小例子来阐明我的意思 我有两个包含字符串的变量 两者都包含相同的模式 ABC 以及一些 噪音 a lt xxxxxxxxxxxABCxxxxxxxxxxxx
  • 逻辑 AND、OR:是否保证从左到右求值? [复制]

    这个问题在这里已经有答案了 是从左到右计算逻辑运算符 有保证吗 假设我有这个 SDL Event event if SDL PollEvent event if event type SDL QUIT do stuff 这保证和这个一样吗
  • 在map()中,什么时候需要使用波形符和句点。 (〜和。)

    我正在查看以下示例map 来自 R 数据科学 一个例子是 library dplyr library purrr df lt tibble a rnorm 10 b rnorm 10 c rnorm 10 d rnorm 10 df gt
  • JavaScript - 如何检测选择元素(下拉列表)上的编程值更改

    在 JavaScript 中 我需要检测某个 select 元素的值何时发生变化any原因 包括以编程方式 仅当用户手动更改所选值时才会触发 onchange 事件 not当其他 JavaScript 以编程方式更改该值时 这是一个包含各种
  • CSS 背景图像未加载

    我最近在 Chrome 中遇到了一个非常奇怪的错误 那就是当您第一次加载页面时 或者在隐身模式下 没有任何背景图像显示 当您 F5 页面时 背景图像全部加载 当您检查 css 时 它会在 css 面板中显示图像 url 但是当您将鼠标悬停在
  • Firebase google auth 未完全注销

    使用Google提供的非常清晰的简单示例 Firebase Google Auth 我一直无法从google注销 每次我使用按钮调用此方法时 它都允许我登录并将我导航到本地主机 function logGoogle firebase aut
  • 正则表达式匹配 MySQL 注释

    我需要找到并删除 MySQL 查询中的所有注释 我遇到的问题是避免引号或反引号内的注释标记 在 PHP 中 我使用以下代码取消注释 SQL sqlComments 2 R s lt s ms Commented version sqlCom
  • HTML“按钮”是否应该与其他所有内容具有相同的盒子模型?

    参考两者button元素和input元素与一个type of button 我遇到了一个我认为是错误的行为 在 Firefox 和 Chrome 的最新版本中 但考虑到表单元素通常是我认为的 w3 规则的例外 我想在假设我是对的之前我会要求