html - 是否有直接的方法来定位网格模板区域中的空网格单元(。)?
问题描述
假设你grid-template-areas
看起来像这样
.grid {
grid-template-areas:
". . a a a a a . ."
". . b b c c c . ."
". . b b c c c . ."
}
例如,有没有办法将.
单元格的 css 定位为使它们具有不同的背景颜色?
解决方案
中未命名的网格区域grid-template-areas
是 CSS。所以你问是否有办法用 CSS 来定位 CSS。答案是否定的。CSS 用于定位 HTML。(尽管可以对 CSS 伪元素进行争论)。
以下是解决此问题的三种方法:
- 创建“空”的可定位 HTML 元素。
main {
display: grid;
grid-template-rows: 30px 30px 30px;
grid-template-columns: repeat(9, 1fr);
grid-gap: 5px;
grid-template-areas:
"x x a a a a a y y"
"x x b b c c c y y"
"x x b b c c c y y";
}
header { grid-area: a; background-color: lightgreen; }
article { grid-area: b; background-color: pink; }
aside { grid-area: c; background-color: aqua; }
.empty-area-1 { grid-area: x; background-color: gray; }
.empty-area-2 { grid-area: y; background-color: gray; }
<main>
<div class="empty-area-1"></div>
<header>header</header>
<article>content</article>
<aside>aside</aside>
<div class="empty-area-2"></div>
</main>
- 创建“空”的可定位 CSS 伪元素。
main {
display: grid;
grid-template-rows: 30px 30px 30px;
grid-template-columns: repeat(9, 1fr);
grid-gap: 5px;
grid-template-areas:
"x x a a a a a y y"
"x x b b c c c y y"
"x x b b c c c y y";
}
main::before {
grid-area: x;
background-color: gray;
content: "";
}
main::after {
grid-area: y;
background-color: gray;
content: "";
}
header { grid-area: a; background-color: lightgreen; }
article { grid-area: b; background-color: pink; }
aside { grid-area: c; background-color: aqua; }
<main>
<header>header</header>
<article>content</article>
<aside>aside</aside>
</main>
- 如果定位仅限于背景颜色,则将颜色应用于容器:
main {
display: grid;
grid-template-rows: 30px 30px 30px;
grid-template-columns: repeat(9, 1fr);
background-color: gray;
grid-template-areas:
". . a a a a a . ."
". . b b c c c . ."
". . b b c c c . .";
}
header { grid-area: a; background-color: lightgreen; }
article { grid-area: b; background-color: pink; }
aside { grid-area: c; background-color: aqua; }
<main>
<header>header</header>
<article>content</article>
<aside>aside</aside>
</main>
推荐阅读
- python - 为表“事务”的“id”列指定了多个默认值
- r - 您如何保留原始列以在 r 中两个数据库的 full_join() 中进行比较
- javascript - 我怎样才能把它变成一个工作轮播?轮播弹出但两个箭头未激活
- spring-boot - 如何纠正spring boot中的非法状态异常?
- python - 如何使用python制作cmd命令
- java - Java C# 套接字通信
- python - 在python中的列表前后添加字符串或符号
- laravel - Laravel 属于多关系响应错误
- firebase - 如何为 twitter-connect-plugin 变量获取 FABRIC_KEY?
- python-3.x - 为什么没有出现 python3-dolfin 模块?