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

如何在Jupyter中修改HTML日历布尔值的背景色(True时设为绿色)

解决方案

你之前用的终端ANSI颜色码(\033[0;30;42m这类)只适用于命令行界面,在HTML里完全不生效,得用CSS样式来设置背景色。下面给你两种具体的修改方式,按需选择:

方式1:给「Run? True」这一行单独加绿色背景

直接在输出run值的地方,用<span>标签包裹并添加内联样式:

修改你代码里的目标行:

calendar_html+= "&lt;b&gt;1:&lt;/b&gt; %s &lt;br&gt;&lt;br&gt;&lt;b&gt;2:&lt;/b&gt; %s&lt;br&gt;&lt;b&gt;3:&lt;/b&gt; %s &lt;br&gt;&lt;b&gt;4:&lt;/b&gt; %s (%s) &lt;br&gt;&lt;br&gt;&lt;b&gt;Run?&lt;/b&gt; %r &lt;br&gt;&lt;hr width= 98%%&gt;" % (data_json[i]['1'],data_json[i]['2'],len(data_json[i]['list']),w['3'],w['4'],w['run'])

改成:

# 用带样式的span包裹True,绿色背景+白色文字更醒目
calendar_html+= "&lt;b&gt;1:&lt;/b&gt; %s &lt;br&gt;&lt;br&gt;&lt;b&gt;2:&lt;/b&gt; %s&lt;br&gt;&lt;b&gt;3:&lt;/b&gt; %s &lt;br&gt;&lt;b&gt;4:&lt;/b&gt; %s (%s) &lt;br&gt;&lt;br&gt;&lt;b&gt;Run?&lt;/b&gt; &lt;span style='background-color: #28a745; color: white; padding: 2px 4px; border-radius: 2px;'&gt;True&lt;/span&gt; &lt;br&gt;&lt;hr width= 98%%&gt;" % (data_json[i]['1'],data_json[i]['2'],len(data_json[i]['list']),w['3'],w['4'])

因为这段代码本身就在if w['run'] == True的分支里,直接写True即可,无需再用%r占位符。

方式2:给整个日期单元格()加淡绿色背景

如果希望整个日期格子都显示绿色背景,需要先判断当天是否有run=True的事件,再生成对应的<td>标签:

修改你代码里处理day != 0的部分:

else:
    # 先检查当天是否存在run=True的事件
    has_run_true = False
    for i in data_json:
        for w in data_json[i]['retests']:
            if w['retest_date'] == "%s-%s-%s" % (year,str(month).zfill(2),str(day).zfill(2)) and w['run'] == True:
                has_run_true = True
                break
        if has_run_true:
            break
    
    # 根据判断结果生成带样式或不带样式的td
    if has_run_true:
        calendar_html+= "&lt;td style='background-color: #d4edda; padding: 8px;'&gt;&lt;p class= 'daynumber'&gt;&lt;b&gt;%s&lt;/b&gt;&lt;/p&gt;&lt;br&gt;" % (day)
    else:
        calendar_html+= "&lt;td&gt;&lt;p class= 'daynumber'&gt;&lt;b&gt;%s&lt;/b&gt;&lt;/p&gt;&lt;br&gt;" % (day)
    
    # 保留你原来的事件遍历逻辑
    events_list =[]
    for i in data_json:
        for w in data_json[i]['retests']:
            if w['retest_date'] == "%s-%s-%s" % (year,str(month).zfill(2),str(day).zfill(2)):
                if not w['comment']:
                    if w['run'] == True:
                        calendar_html+= "&lt;b&gt;1:&lt;/b&gt; %s &lt;br&gt;&lt;br&gt;&lt;b&gt;2:&lt;/b&gt; %s&lt;br&gt;&lt;b&gt;3:&lt;/b&gt; %s &lt;br&gt;&lt;b&gt;4:&lt;/b&gt; %s (%s) &lt;br&gt;&lt;br&gt;&lt;b&gt;Run?&lt;/b&gt; True &lt;br&gt;&lt;hr width= 98%%&gt;" % (data_json[i]['1'],data_json[i]['2'],len(data_json[i]['list']),w['3'],w['4'])

这里用#d4edda是淡绿色,不会过于刺眼,适合作为单元格背景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 08:31:05