Webデザイン演習

第6章 Webサイトの充実
6.1 印刷用スタイルシート
6.2 Formデザイン
6.3 サウンドファイルの掲載
6.4 動画の配置
6.5 Flashムービーの配置
6.6 JavaScriptとは
6.1 印刷用スタイルシート
6.1.1 複数のスタイルシート
6.1.2 印刷用スタイルシート
6.1.3 印刷不要ボックスを非表示に
6.1.4 印刷用レイアウト
6.1.1 複数のスタイルシート
■複数のスタイルシートの指定
例えば,以下のように文書構造用のスタイルシートとナビゲーション用
のスタイルシートを分けて指定することもできる。
<head>
<META http-eqiuv="Content-Type" content="text/html">
<link href=”structure.css" rel="stylesheet" type="text/css">
<link href=”nav.css" rel="stylesheet" type="text/css">
</head>
6.1.2 印刷用スタイルシート
(1)指定方法
■複数のスタイルシートの指定して,media属性を
指定する。
属性値
all
screen
print
handheld
tv
projection
braille
tty
説明
すべての環境
パソコン画面
プリンタ
携帯用機器
テレビベースのウェブブラウザ
プロジェクタ
点字出力機器
文字幅固定の機器
(2)指定例
■linkタグのmedia属性にscreenとprintを指定する。
<head>
<META http-eqiuv="Content-Type" content="text/html">
<link href="060101_s.css" rel="stylesheet" type="text/css”
media="screen">
<link href="060101_p.css" rel="stylesheet" type="text/css”
media="print">
</head>
6.1.3 印刷不要ボックスを非表示に
■印刷不要なボックスのdisplayプロパティをnoneに
する。(ここではナビゲーション用ボックス)
#nav{ display: none;}
6.1.4 印刷レイアウト
■印刷したときのレイアウトを整える。
【例】
body{ width:550px;}
#header { color: red; border-bottom: 1px solid #777777;}
#nav{ display: none;}
#content{clear: both; }
#col1{ width:250px; float:left;}
#col2{ width:250px; float:right;}
#footer{ position:absolute; top:150px;left:250px;}
プレビュー画面で確認する
■メニューから「ファイル(F)」「印刷プレビュー(V)」を選ん
で確認する。
6.2 Formデザイン
6.2.1 CGI
6.2.2 フォームの作成
6.2.3 テキストボックスとボタンを配置
6.2.1 CGI
(1)Common Gateway Interface
■Webからの要求に応じてプログラムを起動
するための仕組み
①ユーザからの情報を受け取り,プログラム
の処理結果によりWebページを作成するこ
とができる。
②最近はPHPやPerl という言語で書かれて
いることが多い。
(2)CGIのイメージ
■ブラウザからCGIにデータを送信し,WWWサー
バを通じて結果をHTMLで送信する。
CGIにデータ送信
WWW
サーバ
ブラウザ
CGIの
実行
HTML
提供されるサーバ環境ごとにCGIの格納箇所が異なるので,
ここではユーザデータを受け取るフォームの定義だけを示す。
(3)データの長さ
■環境変数変数CONTENT_LENGTHにフォーム
データの長さが設定されている。
標準入力
$ENV{‘CONTENT_LENGTH’}
標準入力
$ENV{‘QUERY_STRING’}
POST
GET
CGI
プログラム
(4)データの受取
■REQUEST_METHDにフォームで指定したリクエ
ストメソッドが設定されているので,それぞれのメ
ソッドにしたがってデータを取り込む。
【Perlでの例】
POSTのときは,標準入出力から
GETのときは,環境変数QUERY_STRINGから
If($ENV(‘REQUEST_METHOD’) eq ‘POST’){
read(STDIN,$query,$ENV{‘CONTENT_LENGTH’});
}
else {
$query=$ENV{‘QUERY_STRING’};
}
(5)受取ったデータの文字列
【形式】 コントロール名=内容&コントロール名=内容&…
ただし,空白が+,特殊な文字が %16進数の形式となる。
【文字列の例】
Name=mailsubmit&[email protected]&subject=About
+your+message&msg=How+do+you+do%3F%0D%0AI+am+Suzume.
【上記の意味】
コントロール名
Name
email
subject
msg
:
:
:
:
:
値
mailsubmit
[email protected]
About your message
How do you do?
I am Suzume.
(6)Webサーバへのデータ転送
【形式】 標準出力としてHTMLの形式で出力する
【文字列の例】
Content-type: text/html
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”>
<html>
<head><title>Sample Data Transform</title>
</head>
<body>
<p>サーバへのデータ転送例です</p>
</body>
</html>
6.2.2 フォームの作成
(1)指定方法
■<form>タグでaction属性とmethod属性を指定
する。
■たずねたい内容のグループを<fieldset>タグ
でグルーピングし,その見出しを<legend>タグ
で指定する。
(2)<form>タグの属性
■action属性とmethod属性
属性
action
method
説明
CGIファイルまでのパスの指定
(サーバ環境によって異なる)
getまたはpost(データの送信形式)
通常は,情報量が多くても問題のない
postを用いる。
(3)<form><fieldset>の例
■fieldsetの見出しは,直後に<legend>タグで指定する。
<form method="post" action="inquiry.cgi">
<fieldset>
この部分は
<legend>お名前とご連絡先</legend>
サーバ環境により異なる
個人情報など
</fieldset>
<fieldset>
<legend>アンケート</legend>
アンケート項目
</fieldset>
</form>
(4)<input>タグ
■フォーム中のデータ入力用。
■終了タグは必要ない。
属性
type
value
name
属性値
右表参照
文字列
文字列
id
文字列
size
整数
maxlength 整数
説明
type属性
文字列の初期値
CGIに特定させる
ための文字列
label要素のfor
属性に対応する
名前
テキストボック
スの横幅
入力可能文字数
■type属性値
属性値
説明
text
一般テキスト入力用
テキストボックス
password パスワード入力用
テキストボックス
checkbox 複数選択可能
チェックボックス
radio
単一選択可能
ラジオボタン
submit
送信ボタン
reset
リセットボタン
image
画像ボタン
(5)<input>タグの例
■name,id,typeを指定
<fieldset>
<legend>お名前とご連絡先</legend>
お名前:<input name="in-name" id="in-name" type="text">
</fieldset>
(6)<label>タグ
■どの文字列がinput要素と対応しているかを示す。
<fieldset>
<legend>お名前とご連絡先</legend>
<label for="in-name">お名前:</label>
<input name="in-name" id="in-name" type="text">
</fieldset>
ラベルでクリックすると,フォーカスが入力欄に移る。
6.2.3 テキストボックスとボタンを配置
(1)1行のテキストボックス
■typeにtextを記述
■passwordを指定すると何を入力しても●が出力される。
<fieldset>
<legend>お名前とご連絡先</legend>
<label for="in-name">お名前:</label>
<input name="in-name" id="in-name" type="text">
<label for="in-pass">パスワード:</label>
<input name="in-pass" id="in-pass" type="password">
</fieldset>
<fieldset>
(2)複数行のテキストボックス
■<textarea>タグを使用する
<div><label for="in-comment">ご意見・ご要望:
</label></div>
<textarea name="in-comment" id="i-comment”
cols="50" rows="10">
ここに記述してください。
</textarea>
(3)チェックボックス
■タイプ属性にcheckboxを指定する。
<div>使用している言語(複数選択可)</div>
<input name="u-vb" id="u-vb" type="checkbox"
<label for="u-vb">VB</label>
<input name="u-cp" id="u-cp" type="checkbox"
<label for="u-cp">C++</label>
<input name="u-cs" id="u-cs" type="checkbox"
<label for="u-cs">C#</label>
<input name="u-jv" id="u-jv" type="checkbox"
<label for="u-jv">JAVA</label>
value="vb">
value="cp">
value="cs">
value="jv">
(4)ラジオボタン
■タイプ属性にradioを指定する。
<div>記事の難易度</div>
<input name="u-easy" id="u-easy" type="radio" value="easy">
<label for="u-easy">やさしい</label>
<input name="u-good" id="u-good" type="radio" value="good">
<label for="u-good">ちょうどよい</label>
<input name="u-diff" id="u-diff" type="radio" value="diff">
<label for="u-diff">少し難しい</label>
<input name="u-vdiff" id="u-vdiff" type="radio" value="vdiff">
<label for="u-vdiff">難しすぎる</label>
(5)プルダウンメニュー
■<select>タグと<option>タグを使う。
<div>漫画週間誌の購入頻度</div>
<select class="selectForm" name="s-form1">
<option value="selected">ここから選択してください</option>
<option value="毎週購入">毎週購入している</option>
<option value="月1">月に1回程度購入している</option>
<option value="ときどき">ときどき購入する</option>
<option value="めったにない">めったに購入しない</option>
<option value="ない">購入したことはない</option>
</select>
(6)送信ボタンとリセットボタン
■type属性にsubmit, resetを指定する。
<div>
<input type="submit" name="Submit" value="問合せ">
<input type="reset" name="Reset" value="リセット">
</div>
(7)ボタンに画像を使う
■type属性にimageを指定すると
ボタンに画像を使うことができる。
<div>
<input type="image" name="Submit" value="問合せ"
src=”img002.gif" width=80 height=80>
<input type="image" name="Reset" value="リセット"
src=”img003.gif" width=80 height=80>
</div>
6.3 サウンドファイルの掲載
6.3.1 objectタグ
6.3.2 サウンドの形式
6.3.3 サウンドを鳴らす
6.3.1 objectタグ
■画像,動画,音声,各種プラグインデータ,他のHTML文
書など,様々な形式のデータをHTML文書に埋め込むた
めの汎用的なタグ
<object data="パス" type="データの種類">
<param name="指定するパラメータ(1)" value="値(1)">
<param name="指定するパラメータ(2)" value="値(2)">
・
・
・
<param name="指定するパラメータ(n)" value="値(n)">
オブジェクト要素で指定したとき,替わりに表示されるテキストまた
は画像
</object>
6.3.2 サウンドの形式
■Webページを閲覧中に音楽が鳴ると不快に感ずる人もい
るので要注意
■掲載可能なサウンド
形式
MP3
Wma
RealAudio
MIDI
説明
拡張子mp3。サウンドの圧縮形式のひとつ。
拡張子wma。Windows標準サウンドの圧縮形式。
拡張子rm。RealPlayer で再生できる圧縮形式。
拡張子mid。楽譜の情報をメロディとして鳴らすことがで
きる。
Type属性
■形式はtype属性で指定する
形式
MP3
WAV
MIDI
OGG
RealAudio
属性値
audio/x-mpeg
audio/wav
audio/midi
audio/ogg
audio/x-realaudio
6.3.3 サウンドを鳴らす
■Active Xコントロールを不許可にしている人もいるので,
避けたほうが良いが?
■サウンドは,できるだけダウンロードして聞いてもらうよう
にしよう。
<div>
<object data="music001.mp3" autostart="true”
type="audio/x-mpeg"loop="3" hidden="false"
width="180" height="40">
あれだけ言ったでしょう
</object>
</div>
6.3.4 ソフトを導入していないユーザのために
■無料のダウンロードサイトを紹介
■スクリプトの実行を不許可しているユーザのためには,
ダウンロードしてサウンドを聞けるように,
リンクで対処する。
【例】
<div>
<p><a href="music001.mp3">音楽</a></p>
</object>
</div>
6.4 動画の配置
6.4.1 動画の形式
6.4.2 動画を挿入
6.4.1 動画の形式
■簡単な動画ならGIFファイルでも可能
■一般的な動画
形式
MP3
Wma
RealAudio
MIDI
説明
拡張子mp3。サウンドの圧縮形式のひとつ。
拡張子wma。Windows標準サウンドの圧縮形式。
拡張子rm。RealPlayer で再生できる圧縮形式。
拡張子mid。楽譜の情報をメロディとして鳴らすことがで
きる。
Type属性の属性値
■ メディアタイプをtype属性で指定する。
形式
MPEG
RealMedia
Windows Media
QuickTime
AVI
説明
video/mpeg
application/vnd.rn-realmedia
video/x-ms-wmv
video/quicktime
video/msvideo
6.4.2 動画を挿入
■<object>タグでファイルのパス,動画ファイルのサイズ,
メディアタイプを指定する。
■ただし,エンコードの方法によっては,属性値を指定して
も再生できない場合が多い。
■このため,<a>タグで動画ファイルにリンクを貼るWebサイ
トが多い。
【例】
<object data="animation1.mpg" width="562" height="465"
type="animation1.mpg" type="video/mpg">
<param name="movie" value="animation1.mpg">
波の動き
</object>
6.4.3 動画が再生できない環境のために
■<a>リンクで動画をダウンロードしてから動画を閲覧させる。
■gif ファイルにすることでイメージとして貼り付ける。
【例】
<div>
<image src="Wave.gif" alt="波の動き">
</div>
6.5 動画の作成方法
6.5.1 動画作成のあらまし
6.5.2 絵を動かす基本
6.5.3 運動を与える
6.5 動画の作成方法
6.5.1 動画作成のあらまし
6.5.2 絵を動かす基本
6.5.3 運動を与える
6.5.1 動画作成のあらまし
基本的にはパラパラ漫画
■複数の画像を連続させて動きを実現
●Paint Shop付属のAnimation Shop,IBMホームページ・ビ
ルダ付属のウェブアニメータでは画像ファイルを読み込
んで簡単に作成してGIFファイル等で保存
●Animation ShopではAVIファイルにすることもできる。
6.5.2 動画作成
(IBMウェブアニメータもほぼ同じ操作)
①Animation Shopでアニメーションウィザード
②画面にしたがってオプション指定
「イメージの追加」ボタンをクリックして…
③「イメージの追加」ボタンをクリックすると,ファイルを開く画面になるの
で,選択して「開く」ボタンをクリック。
上移動や下移動で順序を合わせて,「次へ」
④ファイルの順序を合わせて「次へ」
⑤最後に「完了」ボタンをクリック
アニメーションを表示してみよう
⑥アニメーション表示
6.5.3 動画を動かす
(1)位置を動かす
■Animation ShopでGIF,AVIを作成
(2)動きを表現する
■コマごとに形を変えると動きが表現できる
(3)解析結果もアニメーションに
■解析結果画面を保存して動画にすると
(4)細かな動きも表現してみよう
■細かな動きを工夫してみよう
(5)その他
■デジカメを連写して画像を作ってアニメにする。
■風景等でカメラを動かして写真をとってアニメに
する。静止風景がパノラマ風に移動。
■イラスト画像は特別のソフトがなくてもExcel等で
作成したものをhtml形式で保存すると作成できる。
■最近はFlushで作成した画面も多い。ただし,
Flushムービーをインストールしていないユーザも
いるので気をつけよう。
【注意】
デジカメは画素数が多いので解像度を落としたほう
がアニメ用画像に向く。
6.6 JavaScript
6.6.1 JavaScriptとは
6.6.2 scriptタグに定義する
6.6.3 inputタグに定義する
ここでは概要のみに留める。
Java言語については,
他の講義に任せる
6.6.1 JavaScriptとは
■ブラウザがインタプリタ的に解釈して実行するプログラミ
ング言語
<script language = “JavaScript”>
<!--
//-->
</script>
■ヘッダ内に以下の記述を書く
<meta http-equiv =“Content-Script-Type”
content = “text/javascript”>
6.6.2 プログラム本体
■<script>タグ中にプログラム本体を記述する。
<script language = “JavaScript”>
<!-var today = new Date(); var hour = today.getHours();
document.write("今、日本は");
if (hour < 12) { document.write(“午前中”);}
else { document.write("午後");}
document.write("です");
//-->
</script>
6.6.2 プログラム本体
■<script>タグ中にプログラム本体を記述する。
<script language = “JavaScript”>
<!-function ClearSearchBy(){
if(document.getElementById('q').value==
'検索したい用語を入力して下さい'){
document.getElementById('q').value=='';}
}
//-->
</script>
6.6.3 イベントハンドラ
■<input>タグ中に記述する。
• <input name="q" id="q" onclick="ClearSearchBy();" value="
検索したい用語を入力して下さい" size="50">