【问题标题】:Is a <button> allowed to have display:grid? [duplicate]<button> 是否允许有 display:grid? [复制]
【发布时间】:2019-01-19 18:42:21
【问题描述】:

或者,更一般地说,是否有任何元素无法使用display:grid 设置样式?

考虑:

button,
div {
  display: grid;
  grid-template-columns: 50px 50px;
}


/* Nevermind these, they're just for a consistent display */

button,
div {
  border: 0;
  background-color: gray;
  color: black;
  width: 100px;
  text-align: center;
  font-family: sans-serif;
  font-size: 14px;
  padding: 0;
}
Button:
<button>
  <span>A</span>
  <span>B</span>
</button>
<br> 
Div:
<div>
  <span>A</span>
  <span>B</span>
</div>

Try it on JsFiddle

这是 Firefox (61.0.1) 中的结果:

这是 Chrome (68.0.3440.106) 中的结果:

Chrome 似乎不喜欢我尝试在按钮上使用 display:grid。这只是一个错误吗?还是以某种方式有意为之?

【问题讨论】:

  • 这是个好问题 :) 明显的解决方法是用 div 将按钮中的所有元素包裹起来,但您可能已经知道了。
  • 如果你输入button span {padding: 0;margin: 0;}会发生什么?
  • @Dknacht 同样的结果..
  • 你在使用一些重置 css 吗?我的意思是一些css代码来擦除浏览器中的所有默认值?我相信这是由于两个浏览器默认设置之间的一些不一致造成的。
  • @MoshFeu 谢谢!是的,这就是我正在做的。我只是想让我的 html 尽可能精简,多余的 div 非常烦人:D

标签: css css-grid


【解决方案1】:

显然这是 Chrome 上的一个错误,此处详述:

https://github.com/rachelandrew/gridbugs#10-some-html-elements-cant-be-grid-containers

并在此处跟踪:

https://bugs.chromium.org/p/chromium/issues/detail?id=375693

(我在这里看不到进度。如果已修复,请编辑答案,否则我会记得)

【讨论】:

猜你喜欢
  • 2020-03-31
  • 2020-11-17
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多