2016-03-30 3 views
0

den dunklen Hintergrund Liking in this notebook, packte ich die CSS-Datei des Autors von dem Kern, und wandte die folgenden in meinem eigenen Notebook (genau wie der Autor getan hat):Wie wird nach dem Aufruf von HTML() in IPython Notebook zum normalen Stil (kein Stil) zurückgekehrt?

from IPython.core.display import HTML 
styles = open("custom_dark.css", "r").read() 
HTML(styles) 

Während es einen dunklen Hintergrund angewendet hat , das Styling hat auch alles andere auf der Seite außer den Zellen losgeworden. Also keine Menüs an der Spitze, etc. Auch wenn das Notebook geschlossen und wieder geöffnet wurde und der Kernel neu gestartet wird, bleibt der dunkle Effekt und der Verlust von Seitenelementen erhalten.

Wie kann ich das Styling zurücksetzen (überhaupt kein Styling)?

Antwort

0

HTML("") scheint den Trick zu tun.

1

Die Datei "custom_dark.css" ist eigentlich ein HTML-Fragment mit einem <style> Tag und posiert als CSS-Datei.

Wenn Sie es durch Aufruf der HTML-Funktion "anzeigen", wird das Fragment in das DOM innerhalb eines speziellen div im Zellenausgabebereich eingefügt, was eine globale Änderung des Stils der HTML-Seite verursacht.

Wenn Sie das resultierende Notizbuch speichern, wird die gesamte Ausgabe als JSON serialisiert und gespeichert, einschließlich des DOM-Fragments, das Sie zuvor erstellt haben.

Wenn Sie es erneut laden, stellt der Motor die so gespeicherte Ausgabe wieder her; Daher wird die DOM-Einfügung neu erstellt, und der benutzerdefinierte Stil wird von Ihrem Browser erneut angewendet.

Im Moment kann ich mir zwei Möglichkeiten vorstellen, den Standardstil wiederherzustellen; beide bestehen die Ausgabe für die Zelle bei der Beseitigung:

  1. Sie verwalten die gleiche Zelle auszuführen, aber ohne den HTML() Anruf; Dies ändert das Ausgabe-Div auf eins ohne die <script> Einfügung, und der Browser interpretiert dies als Entfernen der benutzerdefinierten CSS-Ebene; dann speichere du wieder;

  2. oder bearbeiten Sie manuell die .ipynb Datei und entfernen Sie den Übeltäter, das heißt, die serialisierte Ausgabe; Es sollte unter dem "outputs" Schlüssel des (JSON) Objekts sein, das die Zelle darstellt (suchen Sie nach einem "text/html" Mitglied und entfernen Sie es vollständig); Sie können die Datei dann erneut laden.