为何content__ticket类样式未生效于对应div,而content__ticket__title样式正常?
问题:类content__ticket的CSS样式未生效,而content__ticket__title正常生效的原因?
相关代码
CSS代码
.content__ticket { display: grid; grid-template-rows: minmax(0, 96px) minmax(0, 38px) minmax(0, 296px) repeat(3, 1fr); grid-template-columns: repeat(4, 1fr); grid-template-areas: 'title title title title' 'instruction instruction instruction instruction' '. qr-code qr-code .' '. . . .' 'mail-button mail-button finish-button finish-button' '. . . .'; grid-gap: 20px; height: 100%; } .content__ticket__title { grid-area: title; height: 100%; }
HTML代码
<div class="content__ticket"> <div class="content__ticket__title block center"> ... </div> ... </div>
已尝试的解决方法
- 将类名重命名为无重复的特殊名称
- 使用更具体的选择器
div.content__ticket
可能的原因及排查方向
- 父元素高度缺失:
.content__ticket设置了height: 100%,但如果它的父元素没有明确指定高度,这个百分比会失效,导致grid布局无法正常渲染,看起来像样式未生效。可以给父元素添加height: 100%,或者临时设置固定高度测试。 - 样式被更高优先级规则覆盖:打开Electron开发者工具的Elements面板,查看该div的Styles选项卡,确认是否有其他规则(比如id选择器、内嵌样式、更复杂的嵌套选择器)把
.content__ticket的样式划掉(表示被覆盖)。 - Electron渲染引擎兼容性:Electron 9.0.3基于Chromium 83,虽支持grid布局,但某些属性组合可能存在兼容性问题。可以先简化样式,只保留
display: grid和基础行列设置,看是否生效,再逐步添加其他属性。 - CSS加载顺序问题:如果有其他CSS文件在当前文件之后引入,可能覆盖了
.content__ticket的样式。检查文件引入顺序,确保目标样式文件最后加载,或临时用!important测试(不推荐长期使用)。 - HTML结构异常:检查
.content__ticket是否被其他元素设置了display: none、visibility: hidden,或者被position: absolute脱离文档流却未设置宽高,导致grid布局无法显示。
内容的提问来源于stack exchange,提问作者Andreas Kurz
相关产品推荐
相关产品推荐

