第11回JavaScriptゼミ セクション8-2 発表者 直江 宗紀 ダイナミックHTML ダイナミックHTMLとは スタイルシート、DOM、JavaScript これらを組み合わせた動的HTMLドキュメント 通常のHTMLドキュメントは静的 フォームなどの小規模プログラムに向いている (アニメーションなどでは最近だとFlashプラグインなど で使用されている) スタイルシート スタイルシートとは HTMLドキュメントの見栄えを定義 HTML→文書構造を記述するのに専念させる 表示定義→スタイルシートの役割 役割分担を確立する目的で開発 HTMLドキュメントはそのままでスタイルシートにより 自在にレイアウト等を制御可能 正確には「CSS(Cascading Style Sheets)」 W3Cとスタイルシート W3CによるCSSの仕様 2つの版がある CSS1 スタイルシートの基本的部分を定義 CSS2 プリンタ、音声出力などの出力装置への拡張 ポジショニング、フォントのダウンロードにも対応 スタイルシートの記述 CSS記述 <head>タグ内に定義した <style type=“text/css”></style>の間に記述 スタイルの指定を「ルール」と呼ぶ ルールの書式 セレクタ { プロパティ : 値 ; プロパティ : 値 ;・・・ } セレクタ―スタイルを適用する対象 {・・・}―括弧内の記述を宣言と言う。複数記述可。 記述例 <html> <head> <style type="text/css"> <!-body { background-color : #e0e0ff ; } h1 { color : red ; } p { color : gray ; } b , i { color : green ; } --> </style> </head> <body> <h1>スタイルシートで定義したh1エレメント</h1> <p>スタイルシートの<b>強調</b>、<i>イタリック</i>です。</p> </body> </html> 外部スタイルシート 外部からの呼び出し 拡張子「.css」ファイルのスタイルシートを呼び出せる linkタグにより呼び出し可能 記述 <link rel=“stylesheet” type=“text/css” href=“・・・.css”> headタグのフィールド内で記述可 クラスセレクタ、IDセレクタ 任意のエレメントへの適用 通常、指定されたHTMLエレメントに適用されてしまう 任意のエレメントだけに使いたい・・・ クラスセレクタかIDセレクタを使用する クラスセレクタ、IDセレクタの内容 クラスセレクタ セレクタに「クラスタ名」を定義 HTMLのタグ、classアトリビュートにて適用可能 IDセレクタ セレクタの頭に「#」をつけるとIDとなる HTMLタグ、idアトリビュートにて適用可能 記述例 <html> <head> <style type="text/css"> body { background-color : #ffeee0 ; } h3.blue { color : blue ; } .green { color : green ; } #id1 { background-color : #ffe2e2 ; color : #CC4422 ; } </style> </head> <body> <h3>h3エレメント</h3> <h3 class="blue">クラス指定h3エレメント</h3> <p class="blue">スタイルシートの<b class="green">強調</b>、 <i class="green">イタリック</i>です。</p> <p id="id1">クラスセレクタにエレメントが関連付けられてると<br> 他のタグでそのクラスを指定しても反映されません。</p> </body> </html> 表示結果 定義クラス 定義クラスを使う場合のスタイルシート タグによってはクラスが定義されている物がある 定義済みクラスのあるタグ・・・Aタグ,Pタグ JavaScript等を利用せずにダイナミックなドキュメント 表示が可能 記述方法 タグ名:クラス名 { 宣言 } 各タグの定義クラス Aタグ定義済みクラス link acitive visited hover - 通常のリンク - リンク先読み込み時 - 読み込み済み(閲覧済み)時 - カーソルがある時 Pタグ定義済みクラス first-letter first-line first-child - 最初の一文字 - 最初の一行 - 最初の子要素 記述例 <html> <head> <style type="text/css"> body { background-color : #CCCC99 ; } a { background-color : #ffffe2 ; font-size : 16pt ; font-weight : bolder ; } a:link { COLOR : #191970 ; } a:visited{ COLOR : #555555 ; } a:hover { COLOR : #FF9020 ; TEXT-DECORATION : none ; } a:active { COLOR: #F4A460 ; TEXT-DECORATION : none ; } p:first-letter { font-size : 18pt ; } p:first-line { color : red ; } p:first-child { color : green ; } </style> </head> <body> <h1>定義済みクラス</h1> <a href="">リンク</a><br> <p>スタイルシートの定義済みクラスを<br>利用してます。<br> 様々に文章が変わる様子が分かると思います。</p> </body> 実行結果 </html> エレメントの位置決め positionプロパティの指定方法 absolute – 絶対位置での指定 relative – 相対位置での指定 positionプロパティ プロパティ 説明 left エレメントの左端の位置を指定する top エレメントの上端の位置を指定する width エレメントの幅を指定する height エレメントの高さ z-index エレメントの重なり順序 oveflow エレメントの中身が指定範囲を越えた場合の指定(スクロール等) visibility エレメントの表示、非表示 DOMを使用したプロパティアクセス DOMを利用したアクセス JavaScriptからプロパティへのアクセスに利用可 プロパティは各エレメントのstyleプロパティの下に 個別のプロパティとして格納 例 myElement.style.visibility=“hidden” ; 記述例と結果 (参考書p.402,showHide.html参照) 演習課題 showHide.htmlのサンプルを参考に、今度は、 複数の文章を切り替えて表示させられるようにし たい。複数のボタンに対応した文章に切り替えら れるように改良をせよ。
© Copyright 2024 ExpyDoc