javascript - 如果 `aside` 不存在,如何适应 `main` html 元素?
问题描述
我只希望使用CSS-GRID
如果不存在,我想将main
元素调整为全宽。aside
html,
body {
height: 100%;
margin: 0;
padding: 0;
font-size: 2rem;
}
div.root {
height: 100%;
background-color: blueviolet;
display: grid;
grid-template-columns: 200px auto;
}
aside {
background-color: aquamarine;
}
main {
background-color: burlywood;
}
<div class="root">
<aside> aside </aside>
<main> main </main>
</div>
我在 SOF 上搜索并找到了以下内容,但它没有工作STACKOVERFLOW
我所尝试的是给grid-template-columns
asauto auto
并添加宽度,aside
但随后main
不会拉伸到其全宽。
html,
body {
height: 100%;
margin: 0;
padding: 0;
font-size: 2rem;
}
div.root {
height: 100%;
background-color: blueviolet;
display: grid;
grid-template-columns: auto auto;
}
aside {
width: 200px;
background-color: aquamarine;
}
main {
background-color: burlywood;
}
<div class="root">
<!-- <aside> aside </aside> -->
<main> main </main>
</div>
解决方案
您可以+
在 CSS 中使用选择器,但这仅在您aside
位于左侧时才有效。
html,
body {
height: 100%;
margin: 0;
padding: 0;
font-size: 2rem;
}
div.root {
height: 100%;
background-color: blueviolet;
display: grid;
grid-template-columns: 200px auto;
}
aside {
background-color: aquamarine;
grid-column-start: span 1;
}
main {
background-color: burlywood;
grid-column-start: span 2;
}
aside + main {
grid-column-start: span 1;
}
<div class="root">
<!--<aside> aside </aside>-->
<main> main </main>
</div>
<br/><br/>
<div class="root">
<aside> aside </aside>
<main> main </main>
</div>
推荐阅读
- android - 有谁知道为什么我的 Delphi FMX 应用程序会在一段时间后从头打开?
- performance - Powershell Start-Job 和 Start-ThreadJob 性能
- python - 你如何在python中编写一个自我更新的类变量
- python - 如果我在单行上使用 f-string,如何添加数据类型?
- php - Angular:每当我试图指向带有ibn的文件夹时“清理不安全的URL值”
- java - 我应该抛出什么异常来返回与使用@Valid 时得到的相同的错误请求响应?
- bar-chart - altair - 将刻度线与条形图中的条形中心对齐
- mongodb - 在mongodb中使用limit时如何获取匹配文档的真实数量?
- android - 如何使用屏幕尺寸缩放materialalertdialog?
- ios - 为什么 CALayer 蒙版没有居中并偏离几个像素?