gpt4 book ai didi

html - PrismJs 不会溢出 CSS 网格

转载 作者:行者123 更新时间:2023-11-28 02:23:43 25 4
gpt4 key购买 nike

我有一个页面布局,其中包含 flex 内容 div 和右侧固定宽度的列。为此,我有以下基本结构:

<div class="grid">
<div class="content">
Content here
</div>
<div class="column">
Fixed right column
</div>
</div>

还有 CSS:

.grid {
display: grid;
grid-gap: 10px;
grid-template-columns: auto 280px;
width: 500px;
}

.content {
background: tomato;
}

.column {
background: deepskyblue;
}

我希望 auto 内容填满总空间减去固定列宽。确实会发生这种情况,除非作为棱镜标签的 div 的内容超出了该宽度。它不是在 PrismJs div 上生成水平滚动条,而是简单地溢出内容 div 并将列进一步向右推。

关于如何让滚动条出现在 div 上而不是插入列有什么想法吗?

请注意,如果我为内容宽度设置一个固定值,它会按预期工作。

举个例子:

.grid {
display: grid;
grid-gap: 10px;
grid-template-columns: auto 280px;
width: 500px;
}

.content {
background: tomato;
}

.column {
background: deepskyblue;
}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/prism/1.2.0/themes/prism.css">
<link href="https://cdn.jsdelivr.net/prism/1.2.0/themes/prism-coy.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/prism/1.2.0/prism.js"></script>


<div class="grid">
<div class="content">
<pre><code class="language-javascript">@Component({
selector: "main",
directives: [],
template: `
&lt;button
(tap) = "onTapMe()"
text = "tap me" /&gt;
`
})
class MainPage {
onTapMe() {
alert("Hello from Angular 2");
}
// long coment pushing the right column further right !!!
}
</code></pre>
</div>
<div class="column">

</div>
</div>

这是一个可用的 fiddle :https://jsfiddle.net/4crm25pq/1/

最佳答案

默认情况下网格元素min-width: automin-height: auto(就像flex元素).所以你可以设置 min-width: 0 并添加 oveflow: auto修复这个 - 请看下面的演示:

.grid {
display: grid;
grid-gap: 10px;
grid-template-columns: auto 280px;
width: 500px;
}

.content {
background: tomato;
min-width: 0; /* added */
overflow: auto; /* added */
}

.column {
background: deepskyblue;
}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/prism/1.2.0/themes/prism.css">
<link href="https://cdn.jsdelivr.net/prism/1.2.0/themes/prism-coy.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/prism/1.2.0/prism.js"></script>


<div class="grid">
<div class="content">
<pre><code class="language-javascript">@Component({
selector: "main",
directives: [],
template: `
&lt;button
(tap) = "onTapMe()"
text = "tap me" /&gt;
`
})
class MainPage {
onTapMe() {
alert("Hello from Angular 2");
}
// long coment pushing the right column further right !!!
}
</code></pre>
</div>
<div class="column">

</div>
</div>

您可以在下面看到此行为的一些示例:

关于html - PrismJs 不会溢出 CSS 网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55738093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com