1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
\r
2 <html xmlns:v="urn:schemas-microsoft-com:vml"><!-- InstanceBegin template="/Templates/base.dwt" codeOutsideHTMLIsLocked="false" -->
\r
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
\r
5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
\r
6 <meta http-equiv="Content-Language" content="ja">
\r
7 <meta http-equiv="Content-Script-Type" content="text/javascript">
\r
8 <meta http-equiv="Content-Style-Type" content="text/css">
\r
9 <meta http-equiv="imagetoolbar" content="no">
\r
10 <link rel="stylesheet" type="text/css" href="../stylesheets/common.css">
\r
11 <!-- InstanceBeginEditable name="doctitle" -->
\r
12 <title>ぺったんR html 実証サンプル version 0.2 | pettanR</title>
\r
13 <!-- InstanceEndEditable -->
\r
14 <!-- InstanceBeginEditable name="head" -->
\r
15 <style type="text/css">
\r
18 --------------------------------------------------------------------------------------*/
\r
19 .test_pettanr-comic-wrapper {
\r
22 .test_pettanr-comic-panel {
\r
23 border-style : solid;
\r
24 border-color : #111;
\r
25 position : relative;
\r
29 .test_pettanr-comic-panel img {
\r
30 position : absolute;
\r
32 .test_pettanr-comic-balloon {
\r
33 position : absolute;
\r
35 .test_pettanr-comic-balloon img {
\r
39 .test_pettanr-comic-speech {
\r
40 margin : 0 !important;
\r
41 padding : 0 !important;
\r
43 table-layout : fixed;
\r
44 position : absolute;
\r
50 *top : 50% !important;
\r
52 .test_pettanr-comic-speech-inner {
\r
53 vertical-align : middle;
\r
54 display : table-cell;
\r
57 *position : relative;
\r
60 .test_pettanr-comic-speech p {
\r
61 padding : 0.5em 0 !important;
\r
62 margin : 0 !important;
\r
64 .test_pettanr-comic-speech strong {
\r
67 .test_pettanr-comic-speech em,
\r
68 .test_pettanr-comic-speech i {
\r
69 font-style : italic;
\r
71 .test_pettanr-comic-speech samp,
\r
72 .test_pettanr-comic-speech code {
\r
73 font-family : monospace;
\r
76 .show-border .test_pettanr-comic-speech {
\r
77 border : 1px solid green;
\r
79 .show-border .test_pettanr-comic-speech div {
\r
80 border : 1px solid red;
\r
82 .show-border .test_pettanr-comic-speech p {
\r
83 border : 1px solid orange;
\r
85 .show-border .test_pettanr-comic-speech span,
\r
86 .show-border .test_pettanr-comic-speech strong,
\r
87 .show-border .test_pettanr-comic-speech em,
\r
88 .show-border .test_pettanr-comic-speech i,
\r
89 .show-border .test_pettanr-comic-speech samp,
\r
90 .show-border .test_pettanr-comic-speech code {
\r
91 border : 1px solid blue;
\r
94 <!-- InstanceEndEditable -->
\r
98 <div id="general-content">
\r
99 <div id="outer-wrapper">
\r
102 <div class="base-content-width" style="position:relative;">
\r
103 <h1><a href="../index.html">pettanR</a></h1>
\r
104 <!-- global navi -->
\r
105 <div id="global-navi">
\r
106 <noscript id="noscript-alert">You need to have JavaScript enabled.</noscript>
\r
111 <div id="inner-wrapper" class="base-content-width">
\r
112 <!-- InstanceBeginEditable name="main_content" -->
\r
114 <div id="breadcrumb"><a href="index.html">テスト インデックス</a> > ぺったんR html 実証サンプル version 0.2</div>
\r
115 <h2>ぺったんR html 実証サンプル version 0.2 2013.08.10</h2>
\r
117 <p>html + css の表現力を活用してマンガ状の表示を行うのことが ぺったん、及び ぺったんR の肝です.</p>
\r
118 <p>この文書では ぺったんR API などで作られたマンガ作品データがブラウザ上でどのような html になるのか? を示す.文書はあくまで実証サンプルであり、必ずしもここで示した html に従わなくてはいけないわけではない.</p>
\r
119 <p>また、ぺったんR API によって提供されたマンガデータが、必ずしも html によって表示されなければいけないわけでもない.</p>
\r
120 <p>この文書で示された html 構造と css は ぺったんR プロジェクトのライセンスの元でユーザーが自由に利用できる.</p>
\r
123 <dl class="dl-table clearfix">
\r
124 <dt>正常動作確認済みブラウザ</dt>
\r
125 <dd>ie5+, NN7.2+, Opera7+, Konqueror4.8, Safari3.2, Iron5</dd>
\r
127 <dd>通常の語調のほかに、強調、コンピュータの合成音声</dd>
\r
129 <dd>テキストブラウザ・音声読み上げブラウザでも作品を読むことができる(はず)</dd>
\r
133 <p>実際の運用時には、js によって吹き出し画像がベクター画像に置き換えられたり、クライアント側で反転画像の生成を行うが、本文書では扱わない.</p>
\r
136 <p>表示サンプルは今後充実していくこととする.</p>
\r
138 <div id="swbutton" class="button" onclick="switchBorder();" style="width:100px;margin:10px auto;">show border</div>
\r
140 <div id="html2comic">
\r
141 <div class="test_pettanr-comic-wrapper" style="width: 400px;">
\r
142 <div class="test_pettanr-comic-panel" style="border-width: 2px; height: 235px;">
\r
143 <img src="../resource_pictures/1.png"
\r
144 alt="目の血走ったペンギンが拳を握り締めている"
\r
145 title="キャラクター名:キンイチ, 絵師:yas"
\r
146 longdesc="http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi"
\r
147 width="166" height="272" style="left: 148px; top: -2px; z-index: 0;"
\r
149 <div class="test_pettanr-comic-balloon"
\r
150 style="width: 200px; height: 160px; left: -29px; top: 39px; z-index: 1;"
\r
152 <img src="../system_pictures/_w5.gif" alt="ペンギン曰く">
\r
153 <div class="test_pettanr-comic-speech">
\r
154 <div class="test_pettanr-comic-speech-inner">
\r
155 <p>どの環境でもそれなりにセリフを表示する</p>
\r
160 <div class="test_pettanr-comic-balloon"
\r
161 style="width: 100px; height: 80px; left: 300px; top: 80px; z-index: 2;"
\r
163 <img src="../system_pictures/_w19.gif" alt="ペンギン一息ついて">
\r
164 <div class="test_pettanr-comic-speech">
\r
165 <div class="test_pettanr-comic-speech-inner">
\r
174 <h3>画像や css に対応しない Web ブラウザでの表示</h3>
\r
175 <p>マンガコンテンツとして推奨ブラウザや対応ブラウザで意図したとおりに表示できるだけでなく、html 文書として正しく書かれていなくてはいけない.</p>
\r
176 <p>テキストブラウザや web クローラ、音声読み上げブラウザでの表示のされ方を勘案し html 構造を設計する.</p>
\r
177 <p>同様の着眼で代替テキストを用意する.</p>
\r
178 <h4>テキストブラウザでの表示イメージ</h4>
\r
180 目の血走ったペンギンが拳を握り締めている
\r
182 どの環境でもそれなりにセリフを表示する
\r
190 <p>NN7, NN8, NN9, firefox3.6, ie5以降, Safari3.2, Iron5, Opera10, opera8, opera7, Konqueror4.8(windows)</p>
\r
192 <p>opera6( <code>overflow:hidden</code> が孫要素に対して利かず(?)要素がパネルをはみ出す )</p>
\r
193 <p>opera8 パネルの枠線が一部欠けてしまう.opera7.2 ではこの不具合は起こらない.</p>
\r
195 <p>NN6(テキスト表示位置がずれる), opera5( 日本語に非対応で文字化けする )</p>
\r
199 <p>パネルピクチャはひとつの <img> タグで表示されます.</p>
\r
200 <p>バルーンは、位置とサイズを決めるための <div> の中に吹きだし画像のための <img> と テキストを上下中央配置するための <p> と <span> からなる.</p>
\r
201 <pre class="brush: xml;">
\r
202 <div class="test_pettanr-comic-wrapper" style="width: 400px;">
\r
203 <div class="test_pettanr-comic-panel" style="border-width: 2px; height: 235px;">
\r
204 <img src="../resource_pictures/1.png"
\r
205 alt="目の血走ったペンギンが拳を握り締めている"
\r
206 title="キャラクター名:キンイチ, 絵師:yas"
\r
207 longdesc="http://sourceforge.jp/projects/pettanr/wiki/AboutKinichi"
\r
208 width="166" height="272" style="left: 148px; top: -2px; z-index: 0;"
\r
210 <div class="test_pettanr-comic-balloon"
\r
211 style="width: 200px; height: 160px; left: -29px; top: 39px; z-index: 1;"
\r
213 <img src="../system_pictures/_w5.gif" alt="ペンギン曰く">
\r
214 <div class="test_pettanr-comic-speech">
\r
215 <div class="test_pettanr-comic-speech-inner">
\r
216 <p>どの環境でもそれなりにセリフを表示する</p>
\r
217 <p>これには慎重を要する</p>
\r
221 <div class="test_pettanr-comic-balloon"
\r
222 style="width: 100px; height: 80px; left: 300px; top: 80px; z-index: 2;"
\r
224 <img src="../system_pictures/_w19.gif" alt="ペンギン一息ついて">
\r
225 <div class="test_pettanr-comic-speech">
\r
226 <div class="test_pettanr-comic-speech-inner">
\r
227 <p>そやそや</p>
\r
235 <p>css2 の <code>display: table, display: table-cell</code> を使って吹き出し内のテキストの上下中央配置を行う.</p>
\r
236 <p><code>display: table</code> をサポートしない ie7 以下は、入れ子になった要素を上下に 50% ずらす、という手法で上下中央配置している.その様子を、show border ボタンを使って確認されたし.( 参考 <a href="http://scuderia-web.com/tips/xhtml_css/div_vertical_align.php" target="_blank">tableを使わずdivで縦位置を指定</a> )</p>
\r
237 <pre class="brush: css;">
\r
238 .test_pettanr-comic-wrapper {
\r
241 .test_pettanr-comic-panel {
\r
242 border-style : solid;
\r
243 border-color : #111;
\r
244 position : relative;
\r
248 .test_pettanr-comic-panel img {
\r
249 position : absolute;
\r
251 .test_pettanr-comic-balloon {
\r
252 position : absolute;
\r
254 .test_pettanr-comic-balloon img {
\r
258 .test_pettanr-comic-speech {
\r
259 margin : 0 !important;
\r
260 padding : 0 !important;
\r
262 table-layout : fixed;
\r
263 position : absolute;
\r
269 *top : 50% !important;
\r
271 .test_pettanr-comic-speech-inner {
\r
272 vertical-align : middle;
\r
273 display : table-cell;
\r
276 *position : relative;
\r
279 .test_pettanr-comic-speech p {
\r
280 padding : 0.5em 0 !important;
\r
281 margin : 0 !important;
\r
283 .test_pettanr-comic-speech strong {
\r
284 font-weight : bold;
\r
286 .test_pettanr-comic-speech em,
\r
287 .test_pettanr-comic-speech i {
\r
288 font-style : italic;
\r
290 .test_pettanr-comic-speech samp,
\r
291 .test_pettanr-comic-speech code {
\r
292 font-family : monospace;
\r
296 <dl class="dl-table-small">
\r
297 <dt>version 0.2</dt>
\r
298 <dd>2013.08.10 公開.<br>
\r
299 吹き出し内での <p> タグによる段落分け(改行)に対応.<br>
\r
300 デフォルトでテキストの中央配置をやめる.<br>
\r
301 外す.<del>font-size : 14px; /* opera6 で使用 13px は不可 */</del><br>
\r
302 レンダリング負荷を下げる為の css 指定を追加 ( テキストの上下中央配置のための display:table に対して tabel-layout:fixed を追加 ).<br>
\r
303 <img> タグに longdesc を追加.title 属性で説明しきれなかった画像に関する情報が書いてある url.
\r
305 <dt>version 0.1</dt>
\r
306 <dd>2012.05.04 公開.</dd>
\r
309 <p>スピーチの上下中央配置に使っている display:table を使ったテクニックに Firefox 3.5 で起きる不具合が報告されている.<a href="http://ie-style.blogspot.jp/2009/08/firefox-35-display-tabletable-row-table.html">Project IE: Firefox 3.5 の display: table;(table-row; table-cell;) 関連の挙動について:</a></p>
\r
311 <!-- InstanceEndEditable -->
\r
316 <div id="footer-content"><!-- #BeginLibraryItem "/Library/footer.lbi" -->
\r
319 <div id="footer-item-container" class="base-content-width clearfix">
\r
320 <div class="footer-item-wrapper">
\r
321 <div class="footer-item">
\r
322 <h2>ぺったんR にようこそ</h2>
\r
330 <li><a href="index.html">Test Index</a></li>
\r
334 <div class="footer-item-wrapper">
\r
335 <div class="footer-item">
\r
338 <li><a href="http://sourceforge.jp/projects/pettanr/wiki/ForAuthors" rel="me" target="_blank">作家向けドキュメント</a></li>
\r
339 <li>絵師向けドキュメント</li>
\r
340 <li><a href="http://sourceforge.jp/projects/pettanr/wiki/ForDevelopers" rel="me" target="_blank">開発者向けドキュメント</a></li>
\r
341 <li><a href="http://sourceforge.jp/projects/pettanr/wiki/ForWebmasters" rel="me" target="_blank">編集長向けドキュメント</a></li>
\r
345 <div class="footer-item-wrapper">
\r
346 <div class="footer-item">
\r
349 <li><a href="http://pettanr.heroku.com/" rel="me" target="_blank">pettanr.heroku.com</a></li>
\r
350 <li><a href="../work.html" rel="console">ユーザーコンソール</a></li>
\r
352 <h2>Ajax contents</h2>
\r
354 <li><a href="../help/jp.xml">help | jp</a></li>
\r
358 <div class="footer-item-wrapper" style="width:170px;">
\r
359 <div class="footer-item" style="padding-right:0;">
\r
364 <li><a href="../diary/itozyun.xml">itozyun's diary</a></li>
\r
372 <div id="copyright">Copyright (c) 2011-2012 pettanR team, some rights reserved.</div>
\r
373 </div><!-- #EndLibraryItem -->
\r
375 <script type="text/javascript">
\r
376 var has_server_support = false;
\r
378 <script type="text/javascript" src="../javascripts/common.js"></script>
\r
379 <!-- InstanceBeginEditable name="script" -->
\r
380 <script type="text/javascript" src="../lib/syntaxhighlighter/scripts/shCore.js"></script>
\r
381 <script type="text/javascript" src="../lib/syntaxhighlighter/scripts/shBrushJScript.js"></script>
\r
382 <script type="text/javascript" src="../lib/syntaxhighlighter/scripts/shBrushXml.js"></script>
\r
383 <script type="text/javascript" src="../lib/syntaxhighlighter/scripts/shBrushCss.js"></script>
\r
384 <link type="text/css" rel="stylesheet" href="../lib/syntaxhighlighter/styles/shCoreDefault.css">
\r
385 <script type="text/javascript">
\r
386 SyntaxHighlighter.all();
\r
388 var btn = document.getElementById( 'swbutton' );
\r
389 var elm = document.getElementById( 'html2comic' );
\r
390 var cls = 'show-border';
\r
391 var val = btn.firstChild.data
\r
393 function switchBorder(){
\r
394 var current = elm.className;
\r
395 elm.className = cls === current ? '' : cls;
\r
396 btn.firstChild.data = cls === current ? val: 'hide border';
\r
399 <!-- InstanceEndEditable -->
\r
401 <!-- InstanceEnd --></html>
\r