布局

地标与区块

用语义化地标与区块组织页面结构,带来更好的可访问性与优雅的间距。

作为 <body> 的直接子元素,<header><main><footer> 会提供响应式的垂直 padding

<body>
  <header>...</header>
  <main>...</main>
  <footer>...</footer>
</body>

根容器

如果需要自定义 <header><main><footer> 所在的默认根容器,可以换一个 CSS 选择器重新编译 Pico。

这对 ReactGatsbyNext.js 很实用。

/* Custom Class-less version for React */
@use "pico" with (
  
  // Define the root element used to target <header>, <main>, <footer>
  // with $enable-semantic-container and $enable-responsive-spacings
  $semantic-root-element: "#root",
  
  // Enable <header>, <main>, <footer> inside $semantic-root-element as containers
  $enable-semantic-container: true,

  // Enable .classes
  $enable-classes: false
)

上述代码编译后,容器的定义方式如下:

/* Containers */
#root > header,
#root > main,
#root > footer {
  ...
}

进一步了解如何使用 Sass 编译 Pico 定制版本

区块

<section> 提供响应式的 margin-bottom,用于分隔各个区块。