Spry Accordion の作り方

Spry アコーディオン とは


◎見出し項目のみを表示して、その内容を折りたたむことにより、ページの全体を一覧できる。
テキスト文の多いページの場合、限られた領域に多くのテキストを格納できる。
文章を各項目見出しに分割することで要点ごとにまとめて読み易くできる。
あるいは

◎分類された、数多くのコンテンツや、リンク先メニューの切替えに便利である。

コンテンツがパネル幅(初期設定300px)を越えると、スクロールで下まで閲覧はできるが編集はできなくなる。
一時的にパネル幅を広く設定すると編集できる。  これがこの方式の最大の欠点である。

このページは専用の SpryAccordion.css を使用しているので自由に変更してもよい。 他のページに影響しない。

  


(編集を容易にするためにこのページはパネルを拡大設定する時がある。)
その場合は、このパネルを下にスクロールすると、次のメニューが表示される。

コードの基本構造

◎冒頭に、 
<div id="Accordion1" class="Accordion" tabindex="0"> ・・・・・ idの宣言。

◎各アコーディオン・コンテンツごとに、
<div class="AccordionPanel"> 
<div class="AccordionPanelTab"」ラベル の名前</div>
<div class="AccordionPanelContent">・・・・・ コンテンツ記入
</div>
</div>
◎最後に別の宣言。

となっている。 レイアウトが壊れたら、上や下のアコーディオン表記を参考に修正する。

*** 構造の例 *********************
<body>
<div id="otenkiAccordion"> ・・・・・これは 冒頭の id 宣言

<div class="AccordionPanel">
<div class="AccordionPanelTab">タブ名 1</div>
<div class="AccordionPanelContent">
本日は晴天なり<br />
</div>
</div>

<div class="AccordionPanel">
<div class="AccordionPanelTab">タブ名 2</div>
<div class="AccordionPanelContent">
2日目も晴天なり
</div>
</div>

<div class="AccordionPanel">
<div class="AccordionPanelTab">タブ名 3</div>
<div class="AccordionPanelContent">
3日目も晴天なり
</div>
</div>

<div class="AccordionPanel">
<div class="AccordionPanelTab">タブ名 4</div>
<div class="AccordionPanelContent">
4日目も晴天なり
</div>
</div>

</div> ・・・・・ 冒頭id の閉じ

最後に、また別のJavaScript が挿入される。

</body>

****************************************

編集方法


◎コピーなどでコンテンツ 入力パネル幅(height)を超えて記入すると、以後直接記入できなくなる。
その場合は、右Window の「CSSスタイル」で AccordingPanelContent の height値(初期設定300px)を記入幅より大きく設定すると記入できる。
右Window に「CSSスタイル」が表示されない時は、下の 「プロパティ」にある「CSS」をクリックすると表示される。

★注意:AccordionPanelContent の height値を変更すると、SpryAccordion.css ファイルが一時的に変更されるので、これを保存してはならない。(編集画面の上部タブに SpryAccordion.css* の表示がでるのでこれを保存してはならない)。 保存すると、変更が決定してしまう。

◎height の他、margin、padding、背景色 なども、右Window のCSSスタイルで設定できる。
この場合、SpryAccordion.css が変更されるので、保存の際にこのファイルも保存する。(「全てを保存」でも可)。
このCSSファイルを修正すると これを使用している他のアコーディオンメニューにも適用されるから注意。
◎多くの marginやpadding の設定箇所があるが、どれも変えないほうが良い。 不適切な部分に隙間があく。
◎アコーデイオンの横幅の変更は表内に入れることで調整するのが良い。CSS ファイルを変更しないので他のメニューに影響しない。
◎動作がオカシイ時は、コードチェックして、上記の基本構造になるように修正する。

★Accordion (SpryAccordion.css)の色設定 

ルールの表記
・Open → メニューを開けた時の色
・Tab/Panel → タブ色、パネル内背景色
・Hover → MouseON色
・Focused → 通常時の色。 起動時の色は Focused の文字なし。
・Content → コンテンツに関する設定
・項目内で、background-color  → 背景色。 color →  文字色

Accordion では、MouseONでタブ色を変えることはできないようだ。

具体的には、
◎起動時 未Openのタブ背景色(初期設定:薄灰色)
AccordionPanelTab { background-color: #CCCCCC;}
◎起動時 Open済みのタブ背景色(初期設定:極薄灰色)
AccordionPanelOpen .AccordionPanelTab { background-color: #EEEEEE(見えないので薄灰色で表示); }

下2つの文字色は、編集で文字色を指定した場合は反映されない。
△未OpenのマウスON タブ文字色(初期設定:濃灰色) 
. AccordionPanelTabHover { color: #555555; } 
△Open済みのマウスON タブ文字色 (初期設定:濃灰色)
. AccordionPanelOpen .AccordionPanelTabHover { color: #555555; }
.
◎未Openのタブ背景色(初期設定:濃青色)
AccordionFocused .AccordionPanelTab { background-color: #3399FF; }
◎Open済みのタブ背景色(初期設定:薄青色)
. AccordionFocused .AccordionPanelOpen .AccordionPanelTab { background-color: #33CCFF; }

★行間などのCSS設定
例えば、本文の行間を140%にしたい場合は、 冒頭のセレクター記述に、下記を入れる。(このページはこの記述あり)
◎・AccordionPanelContent {
line-height: 140%;
}

トラブル例と対処
トラブル例1:
・アコーディオンが開いたままになる。
原因
コピペで編集後 "AccordionPanel"→"AccordionPanelOpen"に書き変わっている。
トラブル例2:
・各行の文字が重なって表示される。
原因
編集後 "AccordionPanelContent"→"AccordionPanelContent1"に書き変わっている。

対処:元の表記に戻す。(なぜ書き変わってしまうのか不明)
トラブル例3:
アコーディオンメニュー内に表を入れた場合
・表幅や表長さが編集画面より大きいと編集ができない。
対処
表長さの場合は編集時のみ「AccordionPanelContent」を大きく設定して対処する。(この設定は保存しない)。
表幅の場合は、ソースコードで表幅を小さく変更する。
他のサンプル

アコーディオンメニューのサンプル

会員の作品
俳句
パソコン便利情報
人格障害

  DreamWeavwer 各種メニュー 

inserted by FC2 system