ページにすぐに実装できるヘッダとフッターのテンプレートを用意しました。
ロゴやメニューがカスタマイズでき、スマホ表示にも対応しています。
この記事ではテンプレートの設定方法やカスタマイズ方法、実装時の注意点などを説明していきます。
ロゴやメニューがカスタマイズでき、スマホ表示にも対応しています。
この記事ではテンプレートの設定方法やカスタマイズ方法、実装時の注意点などを説明していきます。
変更・改定履歴
-
改定
完了ステップで表示が一部崩れる問題を修正(ヘッダ 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;
}