当前位置: 首页 > 面试题库 >

为什么“显示:阻止”和“宽度:自动”不拉伸按钮来填充容器?

裴俊迈
2023-03-14
问题内容

当我设置display: block;width:auto;上一个按钮,我期望的按钮可以拉伸以填充容器和其他块元素做。出于某种原因,至少在最新版的Chrome中没有。

谷歌搜索时,我发现很多人问同样的问题,他们对 “如何伸展按钮以填充容器?” 的回答感到满意 不是
我感兴趣的。(我完全有能力按需要扩展按钮。)检查按钮属性,包括浏览器默认施加的属性也没有帮助。

我想了解,是什么导致按钮display: block; width: auto;根据其内容而忽略并保持水平大小。

这是我的意思的证明:

button {

  display: block;

}


<button style="width: auto;">button with `display:block; width:auto;`</button>

<button style="width: 100%;">button with `display:block; width:100%`</button>

我希望按钮width:auto;也能被拉伸。


问题答案:

此来源答案的无耻复制以及可能的重复之处,从本文中提取了信息。)_

有几个元件(<input><select><button><img><object>,和<textarea>),其被认为是替换元素其外观和尺寸由外部资源中定义。(例如,操作系统,插件等)。

替换的元素可以具有固有的尺寸-
宽度和高度值,该值由元素本身而不是由文档中的周围环境定义。例如,如果图像元素的宽度设置为auto,则将使用链接图像文件的宽度。内部尺寸还定义了一个内部比例,用于确定元素的计算尺寸(如果仅指定一个尺寸)。例如,如果仅为图像元素指定宽度(例如100px),而实际图像的宽度为200像素,高度为100像素,则元素的高度将按相同的比例缩放到50px。

在CSS的控制范围之外,替换的元素还可能具有由元素施加的视觉格式要求;例如,为表单元素呈现的用户界面控件。

有了HTML5,你有一对夫妇更喜欢那些中<audio><canvas>及一些。

请注意,正如您将在评论的讨论中看到的那样,button它实际上并不是w3c定义的[替换元素。但是,它的行为就像在本文中进一步讨论的那样。



 类似资料:
  • 问题内容: 我需要伸展黄色的孩子来填补父母的所有身高。无需设置父级高度。父级的高度应取决于蓝色的子级文本。 问题答案: 使用Flexbox时,主要错误是开始全面使用。 在很多情况下,我们已经习惯了这一点,尽管谈到Flexbox时,它通常会破坏它。 解决方案很简单,只需删除,它将自动运行。 它的原因,是 柔性的项目 在 行 方向(默认),控制垂直行为,并作为其默认的是这只是工作原样。 堆栈片段

  • 这是我当前gridview的图像: 这是我的griview布局: 这是我的自定义行: 我已经试了大约3个小时,但我不能,上面的代码是我的最新代码。你能帮我吗?如何使两行填充宽度? 谢谢

  • 问题内容: 我正在尝试使用Javafx制作屏幕键盘。我正在使用Scene Builder制作FXML文件。 但是,当调整窗口大小时,内容不会。我希望按钮增加/减小大小,直到适合窗口为止。启用Hgrow和Vgrow无效。 而且我找不到如何在按钮上设置填充。我想使类似Ctrl的按钮更小而不丢失文本。 问题答案: 根据字体大小调整大小 对于您的特定情况,而不是尝试使用填充或其他布局约束来调整按钮的大小,

  • 问题内容: 如果我设置任何元素,然后将,,, 不是该元素的影响? 是否有必要使用或或使用,,,该元素吗? 问题答案: 有关完整说明,请参见CSS规范中的“ 内联格式设置上下文”。 基本上可以在行内元素上设置边距,内边距和边框,但是它们的行为可能不符合您的预期。如果只有一行,则该行为可能会很好,但是同一流中的其他行可能会表现出与您期望的行为不同的行为(即,将不考虑填充)。此外,如果内嵌框包含易碎元素

  • 我感谢每个人给我的帮助。我现在的下拉框似乎在变化,但它是空白的。我正在使用的当前编码编辑如下: 当我检查页面上的空下拉元素时,我会得到这个: 警告:scandir(/home/rev/public_html/evo/.../用户/成瘾)[function.scandir]:无法打开dir:在行117的 /home/revo/public_html/evo/codesaveindex.php中没有这

  • 问题内容: 我有一个容器宽度为100%的页面,因此它是屏幕的整个宽度,我在网格结构中有几个DIV,它们都具有浮动:保留在它们上,没有设置宽度,仅留有10px的空白。 是否有一种使用CSS或jQuery的方法来使div填充整个宽度并调整其自身以适应间隙,因此边距会根据屏幕尺寸而变化。 问题答案: 在此线程中查看三十点的答案,以获得不带JavaScript的纯CSS / HTML解决方案,该解决方案可