ipython笔记本对齐表格左侧的单元格

luc*_*928 46 ipython-notebook

我有以下ipython笔记本代码(markdown):

#### example table
|Name|Description|
|--|-------------------------------|
|Mary |She is a nice girl.|
|Jackie |He is a very naughty boy.|
Run Code Online (Sandbox Code Playgroud)

输出如下所示: 在此输入图像描述

我怎么能够:

  1. 左对齐单元格的表格,现在默认为中心.
  2. 右对齐第二个col文本.

jrj*_*rjc 43

嗯,是 !

| Name | Description | age         
| :- |-------------: | :-:
|Mary| She is a nice girl.  | 20
| Jackie Junior | He is a very naughty boy. | 5
Run Code Online (Sandbox Code Playgroud)
  • :------=左对齐
  • ---: =右对齐
  • :---: =居中

表

  • 在jupyter笔记本中的新鲜降价单元格中不起作用(几年前他们改名为ipython笔记本):所有单元格内容都是正确的.有任何想法吗? (14认同)
  • 酷,你已经回答了我的第二个问题。第一个怎么样?顺便说一句,第一个问题意味着整个表格都在页面的中心,我希望它与页面边框的左侧对齐。 (3认同)
  • 正如@JoachimWagner 所指出的,这似乎不起作用,并且与此错误有关:https://github.com/jupyter/notebook/issues/3919 (2认同)
  • @nealmcb,你是对的,但它可以在 jupyter 实验室中使用。https://github.com/jupyterlab/jupyterlab/pull/5301 (2认同)

knu*_*uth 31

回答第一个问题 - 左对齐表格 - 在表格降价单元格上方创建并运行代码单元,其中包含以下内容:

%%html
<style>
table {float:left}
</style>
Run Code Online (Sandbox Code Playgroud)

  • 这会强制所有后续行都在表的右侧,而Roberto的解决方案不起作用.那你怎么把它放在左边而不弄乱周围的格式呢? (3认同)
  • 它对我不起作用,使用 `table { text-align: left }` 效果很好。 (2认同)
  • `table {align:left;display:block}` 试试这个让后续行上方浮动到表格的右侧 (2认同)

Rob*_*ani 19

我建议使用这个knuth答案的变体,它不会影响桌子周围剩余元素的流动.将此代码放在包含该表的单元格上方的单元格中:

%%html
<style>
  table {margin-left: 0 !important;}
</style>
Run Code Online (Sandbox Code Playgroud)


小智 10

是的,我也不喜欢那个居中的桌子。将其插入笔记本顶部的导入部分之后:

from IPython.core.display import HTML
table_css = 'table {align:left;display:block} '
HTML('<style>{}</style>'.format(table_css))
Run Code Online (Sandbox Code Playgroud)

IPython.core.display 命名空间允许您在笔记本中嵌入音频、本地文件链接以及 HTML 等。


Dar*_*eam 8

我知道很多人已经回答了这个问题,但就我个人而言,我发现他们的答案缺乏更多的描述,因此很多人无法实现这一点。

澄清


另外,我想澄清一件事,我没有给出对齐表内值的解决方案,而是对齐整个表渲染本身的解决方案。如果您正在寻找表格单元格对齐的解决方案,那么您可以考虑第一个答案本身


解决方案

步骤如下:

  • 首先在要显示表格的 Markdown 单元格上方创建一个Code cell不是 Markdown )。
  • 然后在其中的“代码”单元格中写入以下内容。
%%html
<style>
table {float:left}
</style>
Run your Code cell.
Run Code Online (Sandbox Code Playgroud)
  • 现在只需像平常一样创建表,无需添加任何额外内容。瞧!您的表格现在应该呈现在左侧。

对于每个笔记本,您都必须执行此步骤来更改表格对齐方式。但如果你不想这样做,你可以按照@Anderson 的回答。为了方便起见,我在这里复制他的答案。

  • 首先,您需要创建一个名为的文件custom.css,您将在其中放置以下代码
table {float: left};
Run Code Online (Sandbox Code Playgroud)
  • 然后你必须将此文件移动到你的 ipython 目录,它将是这样的
~/.ipython/profile_default/static/custom/custom.css
Run Code Online (Sandbox Code Playgroud)

希望有帮助


小智 7

!important覆盖渲染的 _html 的 css

将您的样式与 !important 一起使用

<style> table td, table th, table tr {text-align:left !important;} </style>


And*_*son 5

您可以在Ipython中设置自定义首选项。

只需制作以下文件

~/.ipython/profile_default/static/custom/custom.css
Run Code Online (Sandbox Code Playgroud)

并添加以下代码。

table {float: left};
Run Code Online (Sandbox Code Playgroud)

而且您不必将自定义css放在所有ipython文件中。

  • 对于 Jupyter 笔记本,请使用 `~/.jupyter//custom/custom.css`。 (2认同)