Sphinx使用Read the Docs主题时list-table的:widths:属性不生效如何解决
问题原因
你遇到的:widths属性失效问题和RTD主题的默认样式覆盖规则有关,Sphinx生成列表表格时会根据你配置的比例给每列生成对应的col元素并设置width属性,但RTD主题的默认CSS会忽略这些原生属性,你添加的white-space: normal本身不会导致失效,但如果没有配套列宽优先级规则,浏览器会优先根据内容长度自动计算列宽,最终出现比例不对、内容截断的问题。
修复方案
在你现有的自定义CSS基础上补充几条规则即可,不需要删除之前的换行配置:
/* 原有规则保留,解决长内容不换行、横向滚动问题 */ .wy-table-responsive table td, .wy-table-responsive table th { white-space: normal; } /* 新增规则1:强制Sphinx生成的列宽属性生效,不被主题样式覆盖 */ .wy-table-responsive table col { width: inherit !important; } /* 新增规则2:开启固定表格布局,严格按照预设比例渲染列宽 */ .wy-table-responsive table { table-layout: fixed !important; width: 100% !important; }
验证操作
修改CSS后先清空Sphinx构建缓存,执行make clean后再重新编译make html,刷新页面即可看到表格按你设置的1:1:2比例正常展示,不会出现内容截断。
内容的提问来源于stack exchange,提问作者glades
相关产品推荐
相关产品推荐

