// ---------- 页头:深色通栏 + 竖线分隔的双栏注记(与前 31 份的 7 种页头均不同)----------

'元素与属性全集演示'

'ELEMENT & ATTRIBUTE GALLERY'

'第一组 标题层级 第二组 文本属性 第三组 列表三态'

'第四组 表单元素 第五组 结构元素 第六组 几何属性'

// ---------- 第一组:h1 ~ h6 共 6 级标题元素(fontSize 逐级递减以便观察元素本身)----------

'第一组 标题层级 h1 ~ h6'

'h1 一级标题'

'h2 二级标题'

'h3 三级标题'

'h4 四级标题'

'h5 五级标题'
'h6 六级标题'
// ---------- 第二组:文本属性(bold / italic / underline / lineThrough / 字距 / 词距 / 透明度 / 颜色)----------

'第二组 文本属性(span 承载)'

'属性名' '写法' '属性名' '写法'
'bold' 'bold:true' 'wordSpacing' 'wordSpacing:8pt'
'italic' 'italic:true' 'opacity' 'opacity:0.35'
'underline' 'underline:true' 'color' 'color:#B71C1C'
'lineThrough' 'lineThrough:true' 'fontSize' 'fontSize:9pt'
'characterSpacing' 'characterSpacing:2pt' '组合' 'bold+italic+underline+color'
// 坑点:表格单元格只取纯文本(mergeText 仅拼接 String 子节点),单元格里的 会被静默丢弃, // 因此行内文本属性统一改由

承载行内 来演示,表格只列属性名与写法。

'渲染效果(段落内「标签 span + 效果 span」混排,标签不着色,效果段各自带属性)'

'bold → ''加粗文本''italic → ''斜体文本''underline → ''下划线文本'

'lineThrough → ''删除线文本''characterSpacing → ''字距加宽''wordSpacing → ''word spacing'

'opacity → ''半透明文本''color → ''着色且加粗''组合 → ''粗斜下划线三合一'

// ---------- 第三组:列表三态(无序圆点 / 有序编号 / 无标记),三列 flex 并排 ----------

'第三组 列表三态'

'listStyleType:disc'

  • '无序圆点第一项'
  • '无序圆点第二项'
  • '无序圆点第三项'
  • 'listType=ordered'

  • '有序编号第一项'
  • '有序编号第二项'
  • '有序编号第三项'
  • 'listStyleType:none'

  • '无标记第一项'
  • '无标记第二项'
  • '无标记第三项'
  • // ---------- 第四组:表单类元素(button / checkbox / comboBoxField / textArea)----------

    '第四组 表单元素'

    'button'

    'checkbox(含 checked)'

    '已勾选项' '未勾选项'

    'comboBoxField'

    '2024年第四季度'

    'textArea(height 决定文本域高度,超出部分不绘制)'

    // ---------- 第五组:结构元素(tree / tab / svg / lineSeparator)----------

    '第五组 结构元素'

    'tree(由 ${treeRoot} 绑定 Java 侧 TreeNode)'

    ${treeRoot}

    'tab(仅把光标右移 style.width,不绘制内容)'

    '第一列值''第二列值'

    '报表名称''季度汇总'

    '编制部门''统计处'

    ${svg}

    'svg 元素:${svg} 占位符注入 Java 侧渲染出的 SVG 文本,本图纵轴刻度按 8 档步长绘制'

    'lineSeparator 元素:上方细线由该元素绘制,只读 style.strokeColor,标签内文本不参与渲染'

    // ---------- 第六组:几何与盒模型属性(四角圆角 / 尺寸约束 / 垂直对齐 / 相对定位 / 旋转)---------- // 第六组不声明 keepTogether:块高较大,若强制整体不跨页会在上一页尾部留出大片空白。

    '第六组 几何与盒模型属性'

    '统一圆角'

    'borderRadius:4px'

    '对角圆角'

    '左上 + 右下各 14px'

    '垂直对齐到底部'

    'verticalAlignment:bottom'

    '尺寸约束:width 声明 300px 但 maxWidth 压到 170px;minHeight 保证最小高度 34px'

    '盒模型尺寸约束演示'

    '相对定位:relativePosition:24px 0px 0px 0px,只做视觉偏移,不占用后续元素的位置'

    '本盒相对原位向右偏移 24pt'

    '旋转:angleInRadians:0.0873 约等于 5 度'

    '旋转 5 度的文本'

    // ---------- 第七组:分页元素对照表,并用 areaBreak 强制在此处换页 ----------

    '第七组 分页与占位类元素(本页由 areaBreak 强制换页产生)'

    '元素 / 属性' '作用与写法'
    'areaBreak' '立即结束当前页,后续内容另起一页,标签内可空'
    'htmlPageBreak' '按 breakType 分页:next_page / next_area / last_page'
    'keepTogether' '声明该块整体不跨页,避免图与图注被拆开'
    'tab' '仅右移光标 style.width,用于同行分列对齐'
    'template' '当前实现直接抛出不支持异常,本页不做演示'
    // htmlPageBreak 要求标签内必须有一个 IDENTIFIER,取值见 JHtmlPageBreakTypeEnums next_page

    '本行位于 htmlPageBreak(next_page) 之后,应出现在新的一页顶部。'

    '语法硬约束速查'

  • '中文文本或含空格的文本必须用单引号包裹,例如把中文串整体写在两个半角单引号之间'
  • '整个 style 串用双引号包裹,内部颜色可直接写 #RRGGBB,例如 color:#B71C1C'
  • '注释只支持双斜杠行注释,不支持尖括号包裹的 HTML 注释'
  • 'svg 只声明 width(如 620pt),声明 height 会让图形纵向拉伸变形'
  • '带内置子属性的标签必须 style 在前,例如 list 的 listType 必须写在 style 之后'
  • '表格单元格只取纯文本,单元格内的行内子元素会被静默丢弃'
  • 'verticalAlignment 需要同时声明 height / minHeight(盒高大于内容高)且有可见背景或边框才生效'
  • // ---------- 页脚:左中右三栏 flex + lineSeparator 上边线 ----------

    'jquick-pdf 元素与属性全集演示'

    '生成时间:2025年1月15日'

    '模板:47_element_attribute_gallery'