html - 为什么即使我们明确地内联按钮的高度也可以指定?
问题描述
我们无法设置内联元素的宽度和高度,但即使我将button
'display
属性设置为inline
,我仍然可以设置它的高度。一些答案说它是因为它是一个replaced
元素,但似乎没有任何共识是否被替换。
另外,我们可以设置所有替换元素的高度/宽度,即使它们是内联的?
解决方案
HTML5 规范现在有一个关于按钮布局的完整部分
有时它被视为替换元素,有时则被视为 inline-block 元素。但它从未被视为不可替换的内联元素。
详细地说,它说:
按钮布局如下:
'display' 属性的作用如下:
如果 'display' 的计算值是 'inline-grid'、'grid'、'inline-flex' 或 'flex',则表现为计算值。
否则,如果“display”的计算值是外部显示类型为“inline”的值,则表现为“inline-block”。
否则,表现为“流根”。
...
如果元素是绝对定位的,那么出于 CSS 视觉格式化模型的目的,就好像该元素是一个被替换的元素一样。[CSS]
如果 'inline-size' 的计算值是 'auto',则使用的值是 fit-content 内联大小。
就 'align-self' 属性的 'normal' 关键字而言,就像元素是替换元素一样。
...
推荐阅读
- installation - 使复选框的行为类似于单选按钮,但默认选择其中一个部分 - NSIS 组件页面
- bash - 如何使 apt 假设是并强制 bash 脚本中的所有安装是
- python - 在一个非常大的表上对 Google Cloud SQL 的超慢 SQLAlchemy 查询
- amazon-cloudformation - 如何使用 AWS CloudFormation 模板更正此错误
- javascript - 如何使用新文件中的内容更改网页上的 SVG 元素?
- angular - Vendor.js 文件节点模块拆分成块
- reactjs - TypeError:无法读取未定义的属性“primaryColor”-Typescript,样式化组件(tsx)
- ios - AudioKit v5 如何在同一个输入节点上使用 AmplitudeTap 和 NodeRecorder
- django - 通过 Django Rest Framework 中的相关模型强制执行权限
- reactjs - MUI sx 道具中的动态样式?