PythonでMarkdownからEPUBをつくろう

この連載について

 この連載は、『PythonでMarkdownからEPUBをつくろう』を一部抜粋して編集したものです。

 本編には、全てのソースコードや、生成する原稿のサンプルが付属しています。ぜひ、こちらもご購入ください。

 姉妹版の『PythonとPygameで作る レトロ風RPG 全コード』もあります。

目次に戻る

1-6 基本のCSSファイル

公開:2025-03-12

 本書で利用する基本のCSSファイルcss/main.cssの内容を示します。こまごまとした見た目を調整するためのものです。

 スタイルの設定は、自分が作成する本に合わせて変更するとよいでしょう。

▶ css/main.css
 1/* 画像のみの段落 */
 2img {
 3    height: auto;
 4    max-width: 100%;    /* kindle不可 */
 5    max-height: 100%;   /* kindle不可 */
 6}
 7
 8/* 画像インライン */
 9p img { width: initial; }
10
11/* -------------------- */
12/* table線他 */
13table, th, td {
14    border-collapse: collapse;
15    border: 1px solid #333;
16}
17th, td { padding: 0.6em 0.3em; }
18table {
19    margin-bottom: 1em;
20}
21
22/* 文字寄せ */
23.left   { text-align: left; }
24.right  { text-align: right; }
25.center { text-align: center; }
26
27/* リスト */
28ul { list-style-type : disc; }
29ol { list-style-type : decimal; }
30ul, ol { padding-left: 1.5em; }
31.none ul { list-style-type : none; }
32
33/* pre 強制折り返し */
34pre {
35    word-break: break-all;
36    overflow-wrap: break-word;
37    word-wrap: break-word;
38    line-break: anywhere;
39    /*white-space: pre-wrap;*/
40    white-space: break-spaces;
41
42    margin-bottom: 1em;
43}
44
45/* 引用 */
46blockquote {
47    border: solid 1px #888;
48    border-left: solid 0.75em #888;
49    margin-left: 0;
50    padding: 0 1em 0 1em;
51    box-sizing: border-box;
52    width: 100%;
53
54    word-break: break-all;
55    overflow-wrap: break-word;
56    word-wrap: break-word;
57    line-break: anywhere;
58}
59
60/* -------------------- */
61/* 目次ページのリスト表示 */
62#toc ol { list-style-type : none; }
63#toc .toc-level-2 { text-indent: 1.5em; }
64#toc .toc-level-3 { text-indent: 3em; }
65#toc .toc-level-4 { text-indent: 4.5em; }
66
67/* -------------------- */
68/* 改ページ */
69.page-break-after { page-break-after: always; }
70
71/* 改ページ禁止 */
72.page-break-avoid { page-break-inside: avoid; }

 imgmax-widthmax-heightの値を設定しているのは、Kindle以外のEPUBビューワーで画像がはみ出さないようにするためです。

 Kindleでは、max-widthmax-heightの値は無視されます。また、Kindleでは自動で画像が画面範囲をはみ出さないように調整されます。

 「強制折り返し」は、長いURLが要素をはみ出さないようにするためのものです。

 「目次ページのリスト表示」は、.toc-level-2toc-level-3toc-level-4・のように、目次のレベルによってインデントするためのものです。


目次に戻る

この連載について

 この連載は、『PythonでMarkdownからEPUBをつくろう』を一部抜粋して編集したものです。

 本編には、全てのソースコードや、生成する原稿のサンプルが付属しています。ぜひ、こちらもご購入ください。

 姉妹版の『PythonとPygameで作る レトロ風RPG 全コード』もあります。

 技術系同人誌など まとめページ


トップページに戻る
Cronus Crown(クロノス・クラウン)のトップページに戻る
(c)2002-2025 Cronus Crown (c)1997-2025 Masakazu Yanai
ご意見・お問い合わせはサイト情報 弊社への連絡までお願いします
個人情報の取り扱い、利用者情報の外部送信について