You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Adaptive Card自适应卡片的TextBlock中能否插入制表符tab?

Adaptive Card TextBlock插入制表符的解决方案

核心原因

Adaptive Card的TextBlock组件默认会合并所有连续空白字符(包括\t制表符、多个普通空格)为单个空格,因此直接写\t不会生效,属于设计层面的默认规则。

可行实现方案

  • 方案1:用非断空格实体 替代
    非断空格不会被渲染器合并,需要多大的缩进就插入对应数量的 即可,通常1个制表位对应4个 ,示例代码:
    {
        "type": "TextBlock",
        "text": "This is some         text",
        "size": "large"
    }
    
    若TextBlock开启了markdown模式(设置"markdown": true),该方案同样生效。
  • 方案2:用ColumnSet容器实现对齐(更推荐)
    如果是多列对齐类的需求,用Adaptive Card原生的ColumnSet布局比手动插空格兼容性和效果更好,可通过调整空白列的宽度模拟制表位距离,示例代码:
    {
        "type": "ColumnSet",
        "columns": [
            {
                "type": "Column",
                "width": "auto",
                "items": [
                    {
                        "type": "TextBlock",
                        "text": "This is some",
                        "size": "large"
                    }
                ]
            },
            {
                "type": "Column",
                "width": "40px",
                "items": []
            },
            {
                "type": "Column",
                "width": "stretch",
                "items": [
                    {
                        "type": "TextBlock",
                        "text": "text",
                        "size": "large"
                    }
                ]
            }
        ]
    }
    
  • 方案3:内联样式缩进(仅部分渲染器支持)
    若你使用的Adaptive Card渲染器支持HTML内联样式,可直接用padding属性实现固定缩进,示例:
    {
        "type": "TextBlock",
        "text": "This is some <span style=\"padding-left: 32px\">text</span>",
        "size": "large"
    }
    

内容的提问来源于stack exchange,提问作者Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:54:11