IPython Notebook输出中HTML的CSS样式

问题描述 投票:6回答:2

我正在尝试使用外部CSS文件为IPython输出单元格的html表输出设置样式。我想帮助您了解如何执行此操作,并创建了一些测试用例进行探索。内联样式或外部样式均未达到我的期望-

我希望做的外部:

htmlstr = "<html><head><link rel='stylesheet' type=\"text/css\" href=\"local.css\"></head><body>TEST BODY</body></html>"
HTML(htmlstr)

似乎没有读取该文件。我尝试了不同的路径并移动了文件;但是,它似乎未被认可。


内部样式:

htmlstr = "<html><head><style>body {background-color:yellow;}</style></head><body>TEST BODY</body></html>"
HTML(htmlstr)

在IPython中执行此操作会更改IPython本身的背景。也就是说,所有IPython的背景都变为黄色,并且输入单元格保持白色。太酷了!但是,我想设置特定输出的样式。再一次,我想将CSS存储在一个外部文件中。有人可以帮助我了解其行为吗?

IPython很好地提供了许多可能性,并且有可能有更好的途径满足我的需求。

css ipython-notebook
2个回答
5
投票

您可以简单地使用更多特定的CSS属性!例如。在markdown单元中(或custom.css是用于设置笔记本及其内容样式的默认外部文件)

<style>
th {
background-color:#55FF33;
}
td {
background-color:#00FFFF;
}
</style>

使用以下代码

from IPython.display import HTML
table = "<table><tr><th>bar</th><th>bar</th></tr><tr><td>foo</td><td>foo</td></tr></table>"
HTML(table)

“在此处输入图像描述”


0
投票

如果将样式放置在单独的笔记本中(至少在Ubuntu 18.04的Jupyter Lab中为,则该样式将继承到其他笔记本。

示例:

<style>
       h1 {
            color:red;
            font-size: 6em;
       }
   </style>

OR

    container = "jp-InputArea"
    style = "<style>"
    _dict = {}
    im = "!important"

    # -------------------------------------------------------------------------
    arr = {}
    arr['h1'] = ["color:red","font-size:6em;"]
# -----------------------------------------------------------------------------

    for i,(el, st) in enumerate(arr.items()):
        arr_str = ""


        for j in arr[el]:
            arr_str = arr_str + j + " !important; "

        style = style + (r".jp-InputArea %s { %s }\n") % (el,arr_str)

    style = style +"</style>"
    HTML(style)
© www.soinside.com 2019 - 2024. All rights reserved.