我正在尝试使用外部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属性!例如。在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)
给
如果将样式放置在单独的笔记本中(至少在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)