Quarto logo.
  • 概述
  • 入门
  • 指南
  • 扩展
  • 参考
  • 画廊
  • 博客
  • 帮助
    • 报告错误
    • 询问问题
    • 常见问题
  1. 指南
  2. 高级
  3. 页面布局
  • 指南
    • 撰写
      • Markdown基础
      • 图表
      • 表格
      • 图表
      • 简码
        • 占位符图像
        • Lorem Lipsum 文本
      • 视频
      • 嵌入
      • 标注块
      • 代码注释
      • 文章布局
      • 学术写作
        • 前言
        • 标题区块
        • 引用
        • 交叉引用
          • 基础
          • 选项
          • Div 语法
          • 自定义浮动
        • 创建可引用的文章
        • 附录
    • 计算
      • 使用 Python
      • 使用 R
      • 使用Julia
      • 使用 Observable
      • 行内代码
      • 渲染脚本文件
      • 执行选项
      • 参数
    • 工具
      • JupyterLab
        • JupyterLab 基础
        • JupyterLab 扩展
      • RStudio IDE
        • RStudio 基础
        • 可视化编辑器
          • 编辑器基础
          • 可重复性研究
          • 内容编辑
          • 快捷方式与选项
          • Markdown 输出
      • VS Code
        • VS Code 基础
        • 可视化编辑器
        • 笔记本编辑器
      • Neovim
      • 文本编辑器
    • 文档
      • HTML
        • HTML基础
        • HTML代码块
        • HTML 主题化
        • 包含其他格式
        • 灯箱图
        • 发布 HTML
      • PDF
        • PDF基础
        • PDF引擎
      • MS Word
        • Word基础知识
        • Word模板
      • Typst
        • Typst 基础
        • 自定义格式
      • Markdown
        • GitHub (GFM)
        • Hugo
        • Docusaurus
      • 所有格式
    • 演示
      • 概览
      • Revealjs
        • Reveal 基础
        • 演示幻灯片
        • 高级显示
        • Reveal 主题
      • PowerPoint
      • Beamer
    • 仪表盘
      • 概览
      • 使用仪表盘
        • 布局
        • 数据显示
        • 输入
        • 主题
        • 参数
        • 部署
      • 交互性
        • 概览
        • Python 的 Shiny
          • 开始
          • 运行仪表盘
          • 执行上下文
        • R 的 Shiny
          • 开始
          • 运行文档
          • 执行上下文
        • Observable JS
      • 示例
    • 网站
      • 创建网站
      • 网站导航
      • 创建博客
      • 网站草稿
      • 网站搜索
      • 网站工具
      • 关于页面
      • 列表页面
        • 文档列表
        • 自定义列表
    • 书籍
      • 创建一本书
      • 书籍结构
      • 书籍交叉引用
      • 自定义输出
    • 手稿
      • 入门
        • 撰写手稿
          • Jupyter Lab
          • VS Code
          • RStudio
        • 发布手稿
        • 后续步骤
      • 使用手稿
    • 交互性
      • 概览
      • Observable JS
        • 介绍
        • 库
        • 数据源
        • OJS 单元格
        • Shiny 反应式
        • 代码复用
        • 示例
          • 企鹅
          • 日晕图
          • Arquero
          • 人口
          • NOAA CO2
          • GitHub API
          • 布局
          • Shiny
            • K-Means
            • 分箱
            • 数据绑定
            • Covid 地图
      • Shiny
        • 介绍
        • 运行文档
        • 执行上下文
        • 外部资源
        • 示例
          • 老忠实喷泉
          • K-Means
          • 钻石
      • 小部件
        • Jupyter 小部件
        • R中的htmlwidgets
      • 组件布局
    • 发布
      • 发布基础
      • Quarto Pub
      • GitHub Pages
      • Posit Connect
      • Posit Cloud
      • Netlify
      • Confluence
      • Hugging Face Spaces
      • 其他服务
      • 使用 CI 发布
    • 项目
      • 项目基础
      • 管理执行
      • 项目配置文件
      • 环境变量
      • 项目脚本
      • 虚拟环境
      • 在 Quarto 中使用 Binder
    • 高级
      • 包含文件
      • 变量
      • 页面布局
      • 文档语言
      • 条件内容
      • 笔记本过滤器
      • Jupyter
        • Jupyter 内核执行

On this page

  • 概述
  • 页面布局
    • 文章
    • 全屏
    • 自定义
  • 网格定制
  • 人工智能与机器学习
    • 概述
    • 关键技术
      • 深度学习
      • 强化学习
    • 应用
      • 医疗保健
      • 金融
    • 挑战
      • 数据隐私
      • 伦理问题
    • 未来展望
      • HTML 页面布局
      • 自定义组件宽度
      • 更多示例
  • Edit this page
  • Report an issue
  1. 指南
  2. 高级
  3. 页面布局

页面布局

概述

Quarto 为 HTML 页面提供了一个默认布局,适用于许多文档。然而,如果默认布局不适用于你的内容,你可以进行调整。

在本页中,了解:

  • 页面的三种高级布局选项,详见 页面布局。

  • 如何调整各个布局组件(侧边栏、主体、边距和间距)的宽度以适应你的内容,详见 网格定制。

页面布局

默认情况下,Quarto HTML 文档的内容居中显示,宽度优化以适合阅读(通常为 600px 到 900px 宽)。虽然这对于传统文章来说是一个合理的默认布局,但对于其他类型的页面(例如登陆页或索引页),你可能希望使用其他布局。

可以使用 page-layout 选项来控制所使用的布局。例如:

format: 
  html:
    page-layout: full

以下是各种 page-layout 选项的描述。

文章

page-layout: article

文章布局提供了一个基于页面的网格布局的内容区域,包括边距、侧边栏区域和优化阅读宽度的主体区域。文档区域的精确尺寸会因侧边栏(如果有)以及边距或复杂布局元素的存在与否而略有不同。要了解更多信息,请查看 文章布局 指南。

全屏

page-layout: full

全屏布局使用文章网格系统,但如果这些区域内没有放置内容,则会自动扩展内容区域以使用侧边栏和边距区域。这对于不需要限制为阅读宽度并且可以从额外水平空间中受益的布局(例如登陆页或索引页)很有用。

自定义

page-layout: custom

自定义布局提供了一个没有默认网格系统、填充或边距的简单 HTML 内容容器。默认的 HTML 框架将如下所示:

<div class="page-layout-custom">
  <!-- 此处为内容 -->
</div>

在网站中,自定义布局不包括导航侧边栏,但包括网站导航栏和页脚。

CSS 网格

如果你使用 page-layout: custom,你可能希望利用 Bootstrap CSS 网格 布局系统(Quarto 文档中默认可用)来创建更复杂的布局。

例如,这是一个简单的两列网格:

::: {.grid}

::: {.g-col-4}
此列占据页面的 1/3
:::

::: {.g-col-8}
此列占据页面的 2/3
:::

:::

Bootstrap 的 CSS 网格系统包括响应性、换行、嵌套和细粒度定制列行为的设施。

请注意,这不是旧版本 Bootstrap 中使用的传统 Bootstrap 网格——相反,它是基于 CSS 网格标准在 Bootstrap 5.1 中引入的一个全新的布局系统。Quarto 使用这个较新的系统,因为它具有更复杂的布局能力,类似于 LaTeX 为印刷文档提供的能力。

有关更多详细信息,请参阅 Bootstrap CSS 网格 文档。

网格定制

人工智能与机器学习

概述

人工智能(AI)和机器学习(ML)是当今科技领域最热门的话题之一。AI是指计算机系统能够执行通常需要人类智能的任务,如视觉识别、语音识别和决策制定。ML是AI的一个子集,专注于开发能够从数据中学习的算法。

关键技术

深度学习

深度学习是ML的一个分支,使用多层神经网络来模拟人脑的工作方式。它在图像和语音识别等领域取得了显著的成功。

强化学习

强化学习是一种通过试错来学习的ML方法。它通常用于游戏和机器人控制等领域。

应用

医疗保健

AI和ML在医疗保健领域有广泛的应用,包括疾病诊断、药物发现和个性化治疗。

金融

在金融领域,AI和ML用于风险管理、欺诈检测和投资策略优化。

挑战

数据隐私

随着AI和ML的发展,数据隐私成为一个重要问题。如何在利用数据的同时保护个人隐私是一个亟待解决的挑战。

伦理问题

AI和ML的决策过程往往不透明,这引发了关于算法偏见和伦理责任的讨论。

未来展望

AI和ML的未来充满希望,但也伴随着挑战。随着技术的进步,我们有望看到更多创新应用的出现,但同时也需要解决随之而来的伦理和社会问题。

你可以使用 YAML 选项和 SCSS 控制 HTML 文档中布局组件的宽度。例如,如果侧边栏中的长条目被换行,增加侧边栏的宽度可能是合理的:

Quarto 网站的屏幕截图,显示侧边栏、主体和边距的默认布局。

默认布局

Quarto 网站的屏幕截图,显示更改后的布局,侧边栏占据更多空间。

更宽的侧边栏

可以通过将 grid 选项添加到 _quarto.yml 文件中,增加 sidebar-width 从默认的 250px 来实现此更改:

_quarto.yml
format:
  html:
    grid:
      sidebar-width: 350px

有四个变量控制布局的四个组件:侧边栏、主体、边距和间距。

本节的其余部分描述了这些组件及其默认值,以及如何使用 YAML 或 SCSS 变量进行定制。你还可以在 更多示例 中找到实际操作中的定制示例。

HTML 页面布局

Quarto HTML 文档以左侧侧边栏、文档主体、右侧边距和这些元素之间的空间(称为间距)组成的结构排列。如下所示:

Quarto 文档网站页面的屏幕截图,周围绘制了矩形框表示侧边栏、主体和边距,箭头指示它们之间的间距。 这四个组件的宽度由四个变量控制。这些变量及其默认值如下:

布局组件的默认宽度值
元素 大小
sidebar-width 250px
body-width 800px
margin-width 250px
gutter-width 1.5em

这些变量的值并不直接指定相应组件的显示宽度,而是指定一个最大基准值。最大值会缩放以创建最小值,它们共同用于计算不同布局类型(固定与浮动)、响应式大小(大屏幕与移动设备尺寸)以及页面内容(有边距与无边距内容)下每个组件的大小和位置。

自定义组件宽度

你可以使用 YAML 或 SCSS 变量来控制组件宽度变量。要在 YAML 中设置这些选项,可以使用 grid 选项:

_quarto.yml
format:
  html: 
    grid:
      sidebar-width: 300px
      body-width: 900px
      margin-width: 300px
      gutter-width: 1.5rem
网站与独立 HTML 页面

使用 YAML 自定义作为 Quarto 网站一部分的页面布局时,应在 _quarto.yml 的站点级别进行设置。对于不属于网站的 HTML 文档,这些选项也可以在文档顶部的 YAML 中设置。

同样,在自定义主题 scss 文件中,你可以设置如下变量:

// 左侧边栏
$grid-sidebar-width: 300px !default;

// 主体部分
$grid-body-width: 900px !default;

// 右侧边距栏
$grid-margin-width: 300px !default;

// 上述列之间的间距
$grid-column-gutter-width: 1.5rem !default;

sidebar-width、body-width 和 margin-width 应以像素 (px) 为单位指定,因为这些值在计算其他尺寸时会被使用。要求以像素为单位是我们对 Quarto 布局方法的限制,但通常也是有意义的,因为整个文档宽度通常与浏览器尺寸和响应式断点相关,而不是与字体大小或其他相对度量相关。

gutter-width 可以以像素或其他单位(如 em 或 rem)指定,这些单位会随文档字体大小而响应变化。

更多示例

在网站上增加边距宽度可能是有意义的,尤其是在边距中有许多图片或表格的情况下。例如,以下 YAML 将 margin-width 比默认值增加 200px:

format:
  html:
    grid:
      margin-width: 450px

显示侧边栏、主体和边距默认布局的 Quarto 网站截图。

默认布局

显示更改布局、分配更多空间给边距的 Quarto 网站截图。

更宽的边距

在不改变 body-width 的情况下改变 margin-width 的效果是增加页面总宽度(页面左右两侧的空白空间减少)。或者,为了保持页面总宽度不变,可以将 body-width 减少与 margin-width 增加相同的量:

format:
  html:
    grid:
      margin-width: 450px
      body-width: 600px

显示侧边栏、主体和边距默认布局的 Quarto 网站截图。

默认布局

显示更改布局、分配更多空间给边距和更少空间给主体的 Quarto 网站截图。

更宽的边距,更窄的主体
变量
文档语言

Proudly supported by Posit

  • 关于

  • 常见问题

  • 许可证

  • 商标

  • Edit this page
  • Report an issue