ページにすぐに実装できるヘッダとフッターのテンプレートを用意しました。
ロゴやメニューがカスタマイズでき、スマホ表示にも対応しています。
この記事ではテンプレートの設定方法やカスタマイズ方法、実装時の注意点などを説明していきます。
ロゴやメニューがカスタマイズでき、スマホ表示にも対応しています。
この記事ではテンプレートの設定方法やカスタマイズ方法、実装時の注意点などを説明していきます。
変更・改定履歴
-
改定
完了ステップで表示が一部崩れる問題を修正(ヘッダ CSS)
-
変更
ページへのCSS追加が不要になるようヘッダとフッターのCSSを変更
設定イメージ
シンプルなデザインですが、ロゴやメニュー、色の変更などのカスタマイズができるようになっています。
スマホ表示にも対応していて、メニューがある場合はハンバーガーメニューが表示されます。
スマホ表示にも対応していて、メニューがある場合はハンバーガーメニューが表示されます。
デモはこちら
スマホ確認用QR
デモ内のフォームにはコピペCSS「シンプルモダン」を使用しています。
注意点
一部ブラウザでは正しく表示されない可能性があります
古い端末やブラウザでは正しく表示されないことがあります。
※IE11では表示が崩れてしまうことを確認しています。
ヘッダの設定方法
フリーコンテンツブロックをソース設定で作成する
設定方法は「ソース設定」を選択してください。
フリーコンテンツブロックは後からソース設定に変更することはできませんのでご注意ください。
フリーコンテンツブロックは後からソース設定に変更することはできませんのでご注意ください。
HTMLをコピペして、ロゴやリンクを設定する
フリーコンテンツタブに、下記のHTMLの中から使用したいヘッダのソースをコピペします。
メニュー付き
<header class="header"> <a href="ロゴクリック時のリンク先" class="header-logo"> <img src="ロゴ画像のURL"> </a> <nav class="header-nav"> <input id="header-nav-input" type="checkbox"> <label class="header-nav-menu" for="header-nav-input"></label> <ul> <li> <a href="リンク先" target="_blank" rel="noopener">メニュー1</a> </li> <li> <a href="リンク先" target="_blank" rel="noopener">メニュー2</a> </li> <li> <a th:href="${pages['p0XXXXX']?.path ?:'/404'}">ログイン</a> </li> </ul> </nav> </header>
ログインのみ
<header class="header"> <a href="ロゴクリック時のリンク先" class="header-logo"> <img src="ロゴ画像のURL"> </a> <nav class="header-login"> <a th:href="${pages['p0XXXXX']?.path ?:'/404'}">ログイン</a> </nav> </header>
ログアウトのみ
<header class="header"> <a href="ロゴクリック時のリンク先" class="header-logo"> <img src="ロゴ画像のURL"> </a> <nav class="header-login"> <a href="#" data-logout>ログアウト</a> </nav> </header>
ロゴのみ
<header class="header"> <a href="ロゴクリック時のリンク先" class="header-logo"> <img src="ロゴ画像のURL"> </a> </header>
HTMLをカスタマイズする
ロゴ画像を設定する
imgタグの「ロゴ画像のURL」の箇所に、ロゴ画像のURLを設定します。
サイトファイル機能を使って、SPIRAL ver.2上にロゴ画像を設置することもできます。
サイトファイル機能を使って、SPIRAL ver.2上にロゴ画像を設置することもできます。
<header class="header">
<a href="ロゴクリック時のリンク先" class="header-logo">
<img src="ロゴ画像のURL">
</a>
︙
ロゴにテキストを設定する
ロゴ画像は使用せずに、テキストを設定することも可能です。
テキストを設定する場合はimgタグを削除し、削除した箇所にテキストを入力します。
テキストを設定する場合はimgタグを削除し、削除した箇所にテキストを入力します。
<header class="header">
<a href="ロゴクリック時のリンク先" class="header-logo">
ここにテキストを入力します
</a>
︙
ロゴ、メニューをクリックした時のリンク先を設定する
aタグの「ロゴクリック時のリンク先」または「リンク先」の箇所に、リンク先のURLを設定します。
同一サイト外や外部のWebサイトを設定する場合はURLを直接入力します。
サイト内のページを設定する場合は、下記のように記載します。
p0XXX部分はリンク先にするページのページIDに差替えてください。
ページIDの確認場所
<header class="header">
<a href="ロゴクリック時のリンク先" class="header-logo">
<img src="ロゴ画像のURL">
</a>
︙
サイト内のページを設定する場合は、下記のように記載します。
p0XXX部分はリンク先にするページのページIDに差替えてください。
<a th:href="${pages['p0XXX']?.path ?:'/404'}" class="header-logo">
ページID「123」の場合は「p0123」
ページID「45678」の場合は「p045678」
ページID「45678」の場合は「p045678」
メニューを増やす/減らす
「メニュー付き」のヘッダはメニューの数を増減することができます。
下記のように、liタグごと複製/削除をしてください。
下記のように、liタグごと複製/削除をしてください。
︙
<li>
<a href="リンク先" target="_blank" rel="noopener">メニュー1</a>
</li>
<li>
<a href="リンク先" target="_blank" rel="noopener">メニュー2</a>
</li>
<li>
<a href="リンク先" target="_blank" rel="noopener">メニュー3</a>
</li>
<li>
<a th:href="${pages['p0XXXXX']?.path ?:'/404'}">ログイン</a>
</li>
︙
「ログインのみ」、「ログアウトのみ」 のヘッダにはメニューを増やせません。
メニューを使いたい場合は「メニュー付き」のヘッダを使用してください。
メニューを使いたい場合は「メニュー付き」のヘッダを使用してください。
CSSをコピペする
CSSタブに、下記のソースをコピペします。
CSS
:root { /*============================= カスタムプロパティ ==============================*/ --header-color: #FFFFFF; /* ヘッダーの背景色 */ --header-logo-align: unset; /* ロゴの位置 */ --header-logoimg-size: 34px; /* ロゴ画像のサイズ */ --header-logotxt-color: #333333; /* ロゴテキストの文字色 */ --header-menu-color: #333333; /* メニューの文字色 */ --header-fix: fixed; /* ヘッダーの固定表示(PC表示時) */ } body { margin: 0; } .header { display: flex; justify-content: var(--header-logo-align); align-items: center; position: fixed; top: 0; z-index: 1000; width: 100%; height: 50px; margin-bottom: -50px; padding: 0 20px 0 16px; border-bottom: .5px solid #E1E5EB; box-sizing: border-box; box-shadow: 0 0 3px rgba(0, 43, 107, .1); background: var(--header-color); font-size: 16px; } .header+* { margin-top: 70px !important; } .header .header-logo { color: #333333; font-weight: bold; font-size: 1.3em; line-height: 0; letter-spacing: .05em; text-decoration: none; } .header .header-logo img { height: calc(var(--header-logoimg-size) * .83); vertical-align: middle; } .header .header-login { position: absolute; right: 0; margin-right: 20px; } .header .header-login a { display: inline-block; padding: 16px 12px; color: var(--header-menu-color); font-weight: bold; font-size: .8em; letter-spacing: .1em; text-decoration: none; transition: opacity .3s ease; } .header .header-login a:hover { opacity: .7; } .header .header-nav { position: absolute; right: 0; margin-right: 20px; } .header .header-nav #header-nav-input { display: none; } .header .header-nav .header-nav-menu { display: block; width: 25px; height: 23px; background: url("data:image/svg+xml;utf-8,<svg fill=\"%23333\" fill-opacity=\"0.3\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 46\"><g id=\"Group_3711\" transform=\"translate(10829.996 -7618)\"><path d=\"M-10828.4,7618h46.8c0.9,0,0.9,6,0,6h-46.8C-10829.3,7624-10829.3,7618-10828.4,7618z\"/><path d=\"M-10828.4,7638h46.8c0.9,0,0.9,6,0,6h-46.8C-10829.3,7644-10829.3,7638-10828.4,7638z\"/><path d=\"M-10828.4,7658h46.8c0.9,0,0.9,6,0,6h-46.8C-10829.3,7664-10829.3,7658-10828.4,7658z\"/></g></svg>"); background-position: center center; background-size: contain; background-repeat: no-repeat; } .header .header-nav #header-nav-input:checked+.header-nav-menu { background: url("data:image/svg+xml;utf-8,<svg fill=\"%23333\" fill-opacity=\"0.3\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 43.8 43.8\"><path d=\"M42.5,38.3L26.1,21.9L42.4,5.5c0.7-0.7-3.5-4.9-4.2-4.2L21.9,17.7L5.5,1.3c-0.7-0.7-5,3.5-4.2,4.2l16.4,16.4L1.2,38.3c-0.7,0.7,3.6,4.9,4.2,4.2l16.5-16.5l16.4,16.4C39,43.2,43.2,39,42.5,38.3z\"/></svg>"); background-position: center center; background-size: contain; background-repeat: no-repeat; } .header .header-nav ul { position: fixed; top: 50px; left: 0; width: 100vw; max-height: 0; margin: 0; padding: 0; overflow: hidden; box-shadow: none; background: rgba(245, 247, 250, .9); } .header .header-nav #header-nav-input:checked+.header-nav-menu+ul { height: auto; max-height: 100vh; box-shadow: 0 0 3px rgba(0, 43, 107, .1); } .header .header-nav ul li { list-style-type: none; width: 100%; border-bottom: .5px solid #E0E0E0; text-align: center; } .header .header-nav ul li a { display: block; width: 100%; padding: 20px 0; color: var(--header-menu-color); font-weight: bold; font-size: .9em; letter-spacing: .1em; text-decoration: none; transition: opacity .3s ease; } .header .header-nav ul li a:hover { opacity: .7; } @media (min-width: 768px) { .header { height: 60px; margin-bottom: -60px; position: var(--header-fix); } .header+* { margin-top: 90px !important; } .header .header-logo { margin-left: 0; } .header .header-logo img { height: var(--header-logoimg-size); } .header .header-nav { position: absolute; right: 0; } .header .header-nav .header-nav-menu { display: none; } .header .header-nav ul, .header .header-nav #header-nav-input:checked+.header-nav-menu+ul { all: unset; } .header .header-nav ul li { display: inline; margin-right: 12px; border-bottom: unset; } .header .header-nav ul li:last-child { margin-right: 20px; } .header .header-nav ul li a { display: inline-block; width: unset; padding: 16px 12px; font-size: .8em; } @media (max-width: 1024px) { .header { height: 5.86vw; } .header+form { margin-top: 5.86vw; } .header .header-logo img { height: calc(4.10vw - (42px - var(--header-logoimg-size))) ; min-height: 20px; } .header .header-nav ul li { margin-right: 1.17vw; } .header .header-login a, .header .header-nav ul li a { font-size: 1.25vw; } } }
カスタムプロパティ
デフォルト
:root { /*============================= カスタムプロパティ ==============================*/ --header-color: #FFFFFF; /* ヘッダーの背景色 */ --header-logo-align: unset; /* ロゴの位置 */ --header-logoimg-size: 34px; /* ロゴ画像のサイズ */ --header-logotxt-color: #333333; /* ロゴテキストの文字色 */ --header-menu-color: #333333; /* メニューの文字色 */ --header-fix: fixed; /* ヘッダーの固定表示(PC表示時) */ }
--header-color | ヘッダの背景色を指定します。 |
---|---|
--header-logo-align | ロゴの位置を指定します。 左寄せの場合は「unset」、中央寄せの場合は「center」を指定します。 |
--header-logoimg-size | ロゴ画像のサイズを縦幅で指定します。 60px以下で調整してください。 ロゴに画像を使用しない場合は調整不要です。 |
--header-logotxt-color | ロゴテキストの文字色を指定します。 ロゴに画像を使用する場合は調整不要です。 |
--header-menu-color | メニューやログイン/ログアウトの文字色を指定します。 |
--header-fix | PC表示時にスクロールに合わせてヘッダを固定表示するかを指定します。 固定しない場合は「unset」、固定する場合は「fixed」を指定します。 スマホ表示時はこの設定に関係なく固定になります。 |
カスタム例1
:root { /*============================= カスタムプロパティ ==============================*/ --header-color: #F6F6F9; /* ヘッダーの背景色 */ --header-logo-align: unset; /* ロゴの位置 */ --header-logoimg-size: 34px; /* ロゴ画像のサイズ */ --header-logotxt-color: #333333; /* ロゴテキストの文字色 */ --header-menu-color: #0161c5; /* メニューの文字色 */ --header-fix: fixed; /* ヘッダーの固定表示(PC表示時) */ }
カスタム例2
:root { /*============================= カスタムプロパティ ==============================*/ --header-color: #0D2761; /* ヘッダーの背景色 */ --header-logo-align: center; /* ロゴの位置 */ --header-logoimg-size: 26px; /* ロゴ画像のサイズ */ --header-logotxt-color: #FFFFFF; /* ロゴテキストの文字色 */ --header-menu-color: #FFFFFF; /* メニューの文字色 */ --header-fix: unset; /* ヘッダーの固定表示(PC表示時) */ }
フッターの設定方法
フリーコンテンツブロックをソース設定で作成する
設定方法は「ソース設定」を選択してください。
フリーコンテンツブロックは後からソース設定に変更することはできませんのでご注意ください。
フリーコンテンツブロックは後からソース設定に変更することはできませんのでご注意ください。
HTMLをコピペして、ロゴやリンクを設定する
フリーコンテンツタブに、下記のHTMLのソースをコピペします。
HTML
<footer class="footer"> <ul> <li> <a href="#" target="_blank" rel="noopener">メニュー1</a> </li> <li> <a href="#" target="_blank" rel="noopener">メニュー2</a> </li> <li> <a href="#" target="_blank" rel="noopener">メニュー3</a> </li> </ul> <p class="footer-copyright">Copyright xxxxxxxx</p> </footer>
カスタマイズ方法
CSSをコピペする
CSSタブに、下記のソースをコピペします。
※シンプルな構成のためカスタム例はありません
CSS
:root { /*============================= カスタムプロパティ ==============================*/ --footer-color: #F6F6F6; /* フッターの背景色 */ --footer-menu-color: #333333; /* メニューの文字色 */ --footer-copyright-color: #4B4B4B; /* コピーライトの文字色 */ } body { margin: 0; } .footer { position: relative; padding-top: 24px; padding-bottom: 16px; background: var(--footer-color); font-size: 16px; } .footer ul { margin: 0 auto 46px; text-align: left; } .footer ul li { display: block; margin-bottom: 20px; } .footer ul li a { color: var(--footer-menu-color); font-weight: bold; font-size: .9em; letter-spacing: .1em; text-decoration: none; transition: opacity .3s ease; } .footer ul li a:hover { opacity: .7; } .footer .footer-copyright { color: var(--footer-copyright-color); font-size: .6em; letter-spacing: .1em; text-align: center; } @media (min-width: 768px) { .footer { padding-top: 32px; padding-bottom: 28px; } .footer ul { text-align: center; } .footer ul li { display: inline-block; margin: 0 24px; } }
カスタムプロパティ
:root { /*============================= カスタムプロパティ ==============================*/ --footer-color: #F6F6F6; /* フッターの背景色 */ --footer-menu-color: #333333; /* メニューの文字色 */ --footer-copyright-color: #4B4B4B; /* コピーライトの文字色 */ }
--footer-color | ヘッダの背景色を指定します。 |
---|---|
--footer-menu-color | メニューの文字色を指定します。 |
--footer-copyright-color | コピーライトの文字色を指定します。 |
ページの設定方法
ページにヘッダとフッターのブロックを追加する
ページの「ブロック設定」で、作成したヘッダとフッターのブロックを追加します。
ページ内でフリーコンテンツブロックを作成した場合は、既に追加されています。
1.ヘッダのブロック > 2.フォームやリストなどのブロック > 3.フッターのブロック
という順番になるように、ヘッダとフッターで挟みます。
ページ内でフリーコンテンツブロックを作成した場合は、既に追加されています。
1.ヘッダのブロック > 2.フォームやリストなどのブロック > 3.フッターのブロック
という順番になるように、ヘッダとフッターで挟みます。
CSSを設定する(ブロックの枠線を無くしたい場合)
フォームブロックやフリーコンテンツブロックについてくる枠線を無くしたい場合は、ページに下記のCSSを追加することで枠線を無くすことができます。
.sp-form-container, .sp-record-search-container, [class^="sp-free-content-container-"] { border: none !important; }