在 ipython 笔记本中,无法像往常一样隐藏表格边框



下面的IPython笔记本单元格生成了一个灰色背景和边框的表格:

from IPython.display import HTML
s="""
<style type="text/css">
  table, td { 
    border-collapse: collapse;
    border-style: hidden;
    background-color: rgb(240,240,240);
    }
  </style>
<table>
  <tr>
    <td>a
    <td>b
  <tr>
    <td>c
    <td>d
  </table>
"""
h = HTML(s); h

但是当相同的HTML内容(字符串s的内容)是普通HTML文件的整个主体时,表具有灰色背景并且没有边框(如预期的那样)。似乎边界属性在IPython笔记本中不能正常工作。什么好主意吗?

另一个难题:在表中添加colgroup,在css选择器中添加col,会导致IPython notebook中除了行间的水平线以外的所有内容消失。

这将移除整个表格的边框:
在表标记单元格上方创建并运行一个代码单元格,其内容如下:

%%html
<style>
table,td,tr,th {border:none!important}
</style>

当没有(HTML5) scoped属性的<style>元素出现在html文档的<body>中时,表示代理的行为未指定。

像Firefox和Opera这样的浏览器无论如何都在尝试做一些事情,但是我们不能确定在这种模糊的上下文中继承、级联和特异性是如何被解释的。

你有两个简单的(局部)解决方案:

  • 添加scoped属性(在Firefox中工作良好,在Opera中不太好,不知道IE)

    <style type="text/css">—> <style type="text/css" scoped>

  • scoped属性是一个有争议的问题,例如:关于html5的作用域属性和CSS的作用域,
  • 当然,为你的<table>元素添加一个内联样式

在我看来,其他更全球化的解决方案不是那么好,但这取决于你想要达到的目标。

你也可以使用inline css

<table style="border-style:hidden;border-collapse:collapse;">

相关内容

最新更新