※当サイトはリンクに広告ページが含まれている場合があります

Markdownからそのままスライド資料を作ることができる「Marp」の使い方・設定を試行錯誤しています。
Markdown + CSSによってスライドを作ることができるMarpの魅力は、何といっても、一度デザイン・構図を設定してしまえば、すべてのスライドに一元的に適用できる点です。
法改正に関する説明資料のように、同じベースを何度も使い回すスライドこそ、こうしたテンプレート化の恩恵を大きく受けることができます。
Marpのデフォルトテーマは上下中央の設定
Marpのデフォルトテーマ(default)では、以下のように、上下中央(縦の中央)に、タイトル・本文が集まる設定になっています。

この場合、文字数・行数によって、見出しの位置がバラバラになるため、なんとなく気持ち悪さが残ります。
過去に作成してきたKeynoteによるスライドのデザインを再現したいですし、見出しの位置は固定したいところ。
きれいな写真を背景に、一言キーワードを書いているスライド資料はかっこいいし、その場合は中央から始まるデフォルトの設定の方が良いのですが。。。
見出しや本文を上詰めに変更するCSSの設定
sectionタグが本文の全体設定になっているため、sectionタグに以下のスタイルを適用すれば、本文を上詰めに変更できます。
section {
justify-content: start;
}
以下のように、見出しと本文が上詰めになります。

わかりにくいかもしれないので、Before・Afterを載せておきます。
Before

After

Marpではフレックスボックス(flexbox)のレイアウト設定を用いることができます。
フレックスボックスとは、要素を柔軟に並べたり揃えたりできるCSSのレイアウト手法で、justify-contentはその中でも「縦方向(または横方向)の揃え位置」を指定するプロパティです。


ヘッダー・フッターを中央寄せにする
一般的に、CSSで文字をセンタリング(中央寄せ)するときは、
header, footer {
text-align: center;
}
で良いはずなのですが、Marpではこの設定が効かずにちょっと苦労しました。調べた結果、widthを設定することで解決したのですが、Marpにはちょっと癖があるのかもしれません。
header, footer {
width: 100%;
text-align: center;
}
ヘッダーを帯表示にする
ビジネスに用いるスライドでは、以下の「本日のテーマ」の部分のように、ヘッダーを帯のように表示することが一般的です。

Marpには既存のテーマとしてdefault、uncover、gaiaの3つが用意されていますが、
default・uncoverは縦方向が中央寄せgaiaは縦方向が上詰め
になっているため、帯表示をするときにはgaiaをベースにすると簡単です。
なお、独自CSSの設定方法は以下の記事で解説しています。
関連: Marp for VSCodeで独自CSSが効かない場合の対応(marp-cli)
実際に設定したCSSは以下のとおりです。帯の部分はヘッダーを用いるので、headerにCSSを当てています。
@import 'gaia';
header {
background-color: green;
color: #fff;
font-size: 1.2em;
font-weight: 700;
padding: 1rem;
height: auto;
}
上のコードで工夫した点は、height: autoで高さを固定していないこと。こうすることで、ヘッダーの文章が複数行になった場合でも、帯の高さを自動で確保できます。
なお、上の画像の本文であるMarkdownは以下のとおり。Markdownでスライド資料を作成できる利便性をご理解いただけるかと思います。
<!--
class: slides
_header: 本日のテーマ
_paginate: false
-->
1. Marpとは?
2. Marp for VSCodeで独自CSSが効かない場合はどうすべき?
3. ・・・
4. ・・・
5. ・・・


まとめ
Marpの本文レイアウトについて、ここまでの流れを整理すると以下のとおりです。
- Marpのデフォルトテーマは上下中央寄せだが、
section { justify-content: start; }で上詰めに変更できる - ヘッダー・フッターを中央寄せにする場合は、
text-align: center;だけでなくwidth: 100%;もあわせて設定する - ヘッダーを帯表示にすると、資料のテーマが一目でわかりやすくなる。帯表示には縦方向が上詰めの
gaiaをベースにすると簡単
Marpでは、自分流のテンプレートを一度作っておけば、あとは内容に集中できます。
「楽をするために徹底的に努力する」——CSSの調整に多少時間がかかっても、一度テンプレート化してしまえば、その後の資料作成は「ほどほど」の労力で済むようになります。これもまた、一人社労士が時間という資源を賢く使うための工夫のひとつです。
「ほどほど」お悩み相談室
あなたのご質問・ご相談に、月1回、無料・本音で回答します。
ご質問・ご相談は、登録後に届くメールから送っていただけます。費用は一切かかりません。「お悩み相談室」というクローズドな場だからこそ、踏み込んだ内容の質問にも回答できます。
これまでに、こんなご質問・ご相談に回答してきました。
- コンサル(3号業務)を主力業務にするには、どうすれば良いか?
- どのようにして顧問料を上げれば良いか?
- 営業が苦手で、新規の顧客獲得ができない
- 業務をどう絞り込めば良いか?
- 一人社労士のままで良いのか、人を雇うべきか?
- 苦手・相性の悪い顧問先と、どう付き合うか?
- 生成AIの時代、社労士は今後どう生き残るか?
なぜ、無料で同業の社労士からの相談に乗るのか?
それは「本当に顧客のために活動できる社労士仲間を増やしたい」からです。
私自身、社労士という資格に誇りを持っています。企業からの社労士に対する不満をよく聞きますし、「社労士なんて役に立たない」と思われることは、正直悔しいです。
- 信頼される・信頼できる社労士の仲間を増やしていきたい
そんな想いから、少しでも社労士業界全体のレベルアップに貢献できればと考えています。
※ 登録は無料・月1回配信・配信解除いつでも可能
※ 登録後、本人確認のメールをお送りします。届かない場合は迷惑メールフォルダもご確認ください。