Webデザイン演習

Download Report

Transcript 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">