wordress html5 IEのレイアウト崩れ 

通常HTMLはOKだし、他のブラウザでも問題がないのだが、wordpress内だけIEのレイアウト崩れる。

http://naifix.com/ie8-html5-css3/

 

メガネくんのペタペタ日記で発生

上記おこなっても変わらない場合は、IEの解釈の脆弱さが生んでいるだと思うが、paddingやfont-sizeなど、各々個々に設定する。親のスタイルを子が継承しきれていないので子にも定義する必要あり。backgraound-imageにpadding設定しているとその分imageが非表示不分が産まれたりしたのでpaddingは使わず、その中にある要素側にpaddingをつけて対応。そのために、通常サイトのcssとブログ側のcommon.cssに差異がある。

サイドバーのh2だが、html5用にしたからなのかそれともsidebar.php側のせいなのか、
.widgettitle というクラス名で指定することとなった。

 

 

height:100%で画面全体に表示させる方法

http://www.hamashun.com/blog/2006/08/_css.html

 

CSSを始めた頃によくある間違いで、heightに100%を指定しても反映されない、という物があります。
それは大抵の場合、


div {
	height:100%;
	border:dotted 2px #666666;
}

<div>100%になるかな?</div>

と、このような記述をしていると思います(サンプル)。
CSSの仕様として、heightを%で指定する際は、親要素のheightを基準にする、という流れになっています。
そしてheightの初期値はautoであり、autoの高さは、内容に依存します。
つまり、上記の記述では、一行分のheightしか表示されない事になります。
一方で正解は、


html,body { height:100%; }
div {
	height:100%;
	border:dotted 2px #666666;
}

<div>100%になりました!</div>

100%にしてもブラウザの縦いっぱいまでが100%の領域。スクロールすると100%以上の領域となってしまうため、他のコンテントの領域がブラウザの縦幅以上のpxになっても100%にしている箇所はスクロールされる前の領域分の影響となる。

IEでhtml5のvideoが再生されない (サーバーで)

ローカルではIEでも表示されたのに、サーバーではIEでは表示されない。chromeはOK.

 

http://tamachan.tama777.com/Reference/small_technic_Video_mp4.html

HTML5の<video>タグでmp4の画像が再生されないパターンにはまりました。
IE9で起きる現象です。 他の形式の動画は再生されるがMPEG4だけはダメという場合は、同じ原因かもしれません。 以下の手順で確認してください。
原因は、mp4には種類(MPEG4、H.264とか)があるのにこれを把握していなかったためでした(-_-;)
要は、IE9はH.264タイプのmp4に対応していることでした。(マシンにcodecがインストールされている場合はWebMにも対応)
結果的には、MPEG-4タイプのmp4を、H.264 タイプのmp4に変えてあげて解決です。

 

★IE9で動画に対してのデバッグの方法

  1. 問題のあると思われるサイトを開く
  2. [ツール]メニュー-[F12 開発者ツール]クリック
    ショートカットキー:F12
    まずは、ファイルエラーの確認です。
  3. [コンソール]タブをクリックする
  4. 一番下の欄に「document.getElementsByTagName(“video”)[0].error.code」と入力(Enter)
    ここで、エラー4と表示されると、MPEG4の種類などに問題があることになります。
    問題がないときは、『プロパティ ‘code’ の値を取得できません: オブジェクトは Null または未定義です。』 が表示されます。
    プレビュー
    エラー4のときはエンコードがH.264 タイプのmp4であるか、確認してください。ファイルがH.264 タイプのmp4であるかどうかのは MediaInfo などで確認できます。 

    MediaInfoについてはこちら
    http://senryaku.sengoku-jidai.com/Freesoft/Mediainfo.html

  5. MediaInfoでは、H.264なら「1ビデオストリーム:AVC」、MPEG4なら「1ビデオストリーム:MPEG4 Visual」のように表示されます。 MPEG4ならファイルを作りなおしてみてください。
    ここでで問題なければ、続けてMIMEタイプの確認を行います。
  6. [ネットワーク]タブをクリックする
  7. [チャプチャの開始]をクリック
  8. サイト表示画面に戻り、F5ボタンをクリックして更新
    プレビュー
    リストの「種類」を確認してください。 「video/mp4」でなければ、サーバーに対して正しいMIMEタイプが返るようにする必要があります。
    リストの項目をダブルクリックすると、その他の値も確認できます

MIMEタイプの設定

HTML5のvideoタグで動画配信する際には、まずサーバー側でMIMEタイプの設定を確認しておきましょう。httpd.confや.htaccessで、mp4, webm, ogvが登録されているかを確認します。Apache2ではmime.typesに記述されている場合もあるようです。登録されていなければ、.htaccessに下記のように記述しましょう。

.htaccess

AddType video/mp4 .mp4
AddType video/webm .webm
AddType video/ogg .ogv

 

.htaccessにMIMEタイプを表記したらサーバーでもIEで表示された。

保存先  work/html5_video/8-1/sample_a.html

テスト先  http://cm-creation.net/yoshida/html5_video/8-1/sample_a.html

【HTML5】各デバイス・ブラウザごとの動画再生環境調査

これまでPC用ページではFlashプレイヤーで動画を再生するのが一般的だった。

iPadなどのタブレット端末でPC用ページを表示させたい場合、
多くのタブレット端末(iOS/Android)にFlashプレイヤーがインストールされていない為、
こういったFlashに対応していない端末では動画を再生させる事ができない。

Flashに対応していない端末で動画を再生させるには、
HTML5の”<video>タグ”を利用しブラウザのプレイヤーを利用するか、
独自にプレイヤーを開発するかということになる。

今回はHTML5の”<video>タグ”について調査してみた。

まずは各端末・ブラウザごとに異なる動画形式のものをすべて実機で検証してみる。

http://www.ore-memo.com/1346.html

html5 ビデオ&オーディオ 

下記手順でOK.検証済み。

http://cm-creation.net/yoshida/html5_video/8-1/sample_a.html

●動画はmp4とwebMの2種あればブラウザはカバーできる。

●mp4とwebMのコーデックはXMedia Recodeで作成可能。ただし、mp4のh.264はXMediaでは作れないので支給先にh.264タイプのmp4をもらう。

●IEの9以下にもvideoが適用されるようにhead内に下記を表記  IE6/7/8でも大丈夫。
<script src="http://api.html5media.info/1.1.4/html5media.min.js"></script>

●サーバー側でMIMEタイプの設定をするために.htaccessに下記を表記してサーバーへアップ

AddType video/mp4 .mp4
AddType video/webm .webm
AddType video/ogg .ogv

●body内に表記 下記はコントローラー付、オートスタート、videoタグが使えないブラウザにはリンクから読み込み。
スマホとタブレット用にポスターフレームを準備して1フレーム目に画像を表示させる。ビデオと同じ大きさの画像を準備。スマホとタブレット用に100%にすると左右に黒いバーが挿入されるのでビデオを固定サイズの最小幅に合わせる。
pタグ内の表記はvideoタグをサポートしていないブラウザのみ表示される。

<video controls  poster=”firstframe.jpg” width=”700″ height=”400″ autoplay>
<source src=”sample.mp4″    type=”video/mp4″>
<source src=”sample.webm”  type=”video/webm”>
<p>動画を再生するには、videoタグをサポートしたブラウザが必要です。</p>
<p><a href=”sample.mp4″>sample.mp4</a></p>
</video>

 

だけどもiOSやandroidのスマホやタブレットだけはautoplayは仕様上ならない。ユーザーがボタンを押すまではスタートされないことになっているとのこと。パケット通信が従量課金の可能性を考慮してユーザが意図して再生(タップ)するまで再生・読込ともに行わない仕様とのこと。

 

 

 

 

 

■■■■■■■■■■■■■■■■■■■■■

 

 

 

mp4とwebMの2種あればブラウザはカバーできる。

XMedia Recodeで作成可能

 

http://creator.mynavi-agent.jp/jinzai/feature/webtech/0001.html

video>タグ用の「mp4形式」は、動画のコーデックに「h.264」、音声コーデックに「AAC」を用います。
「h.264」形式は、ブルーレイで採用されたり、PSPなどの様々な機器で採用され、事実上動画形式の標準フォーマットとしての地位を確立しています。

※コーデックとは?
映像や、音声を圧縮する際の圧縮形式のこと、画像でいうとjpg・png・gifなど、音声だとmp3などかこれにあたる。
画像や音声だと、コーデックがそのまま拡張子になることが多いが、動画の場合、動画部分と音声部分を同梱するかたちになるため、動画形式をそのまま拡張子として用いることは無い。
その代りに「mp4」や「avi」といった動画形式を拡張子として用いることが多い。
動画と音声をパッケージ化し、場合によってはその他のメタ情報などを含めて一つのファイルとして纏めるためのファイル形式を「コンテナフォーマット」と呼び、「コンテナ化」されるファイルのコーデックには特に制約はありません。

ただし、冒頭で説明している通り、どの動画形式を採用するかはブラウザの実装側に委ねられています。
そして、「h.264」に対応しているブラウザは、Safari・IE9・Google Chromeで、Firefox・Operaは対応していません。

また、Googleもゆくゆくは「h.264」に対して非対応を表明しており、採用コーデックの行方はいまだ不透明です。

なぜこのようなことになっているかというと、「h.264」には、多数の特許権が含まれており、「h.264」を採用した製品をリリースするには、ライセンス料を支払わなくてはいけません。
現在、無料動画に関してはライセンス料は無料となっていますが、今後ライセンス料が必要になる可能性があり、Mozilla・Googleなどがその部分を懸念しているためです。
似たような問題に、GIFのライセンス料問題があります。

そういうわけで、Firefox・Opera・(将来的に)Google Chromeにも対応させましょう。
Firefox・Google Chrome・Operaで利用可能な動画形式に「Web M」というものがあります。

Web MはGoogleがリリースした、フリーの動画形式で、動画部分に、Googleが買収した「VP8」、音声部分に、オープンソースの音声形式「Vorbis」を採用しています。
「VP8」は、特許上の問題を抱えているという懸念がささやかれていますが、今のところは利用に問題はなさそうですし、そのあたりのことはエンドユーザーにはあまり関係の無い話です。

前置きが長くなりましたが、「mp4」と合わせて「Web M」動画を用意すれば、ひとまずは全ブラウザをサポートできるということになります。
※ただし、「Web M」登場以前のブラウザ(古いFirefoxや古いOperaなど)をサポートしようと思うともう少し話がややこしくなりますが、IE以外のブラウザは自動更新が前提なので、まぁいいでしょう。

さて、動画を2種類用意したのはいいですが、ブラウザの振り分けはどのようにやるのでしょうか?
JavaScriptを使ってUA判定させる・・・?

そんな面倒なことはしなくても大丈夫です。
<video>タグの仕様では、動画形式は各ブラウザの実装に委ねられているので、もともと複数の動画を用意しなくてはいけない前提で仕様が策定されているので、動画振り分けの仕組みも盛り込まれています。

<video width=”480″ height=”270″ controls autoplay>
<source src=”sample.mp4″>
<source src=”sample.webm”>
</video>

この様に<video>タグ内に複数の<source>タグを記述すれば、ブラウザは上から順にファイルを参照し、表示可能な動画があれば、その動画を再生します。
<video>タグでは、JavaScriptを使って対応ブラウザのチェックをするなどの処理は全く必要ないのです。

また、そもそも<video>タグに対応していないブラウザはどう振り分けるかというと

<video width=”480″ height=”270″ controls autoplay>
<p>このブラウザでは対応しておりません。IE9/Forefox/Chrome/Safari等をご利用ください。</p>
<source src=”sample.mp4″>
<source src=”sample.webm”>
</video>

この様に、<video>タグ内に未対応ブラウザ用の記述をすれば、その内容が表示されることになります

XMedia Recode 3.0.1.5の利用(デスクトップ/画像ファイル変換/)

XMedia Recodeは、Free WebM Encoderとは打って変わって、非常に高い設定機能を備えたフリーソフトです。
設定機能だけでなく、H.264形式の動画の書き出しにも対応しており、Adobe Media Encoderを用意できないユーザーでも、気軽にHTML5対応の動画を作れます。

XMedia RecodeはH.264 WebM   MP4 形式どちらも作れる

http://creator.mynavi-agent.jp/jinzai/feature/webtech/0003.html

■<video>タグによる動画再生サンプル

以下のサンプルでは、<source>タグで3種類の動画形式を指定しています。 mp4形式はGoogle Chrome・Safari向け、ogv形式はFirefox・Opera向け、webm形式はGoogle Chrome・Opera向けです。

<p>HTML5のvideoタグによる動画再生</p>
<video controls autoplay poster=”firstframe.jpg” width=”320″ height=”240″>
<source src=”sample.mp4″    type=”video/mp4″>
<source src=”sample.ogv”  type=”video/ogv”>
<source src=”sample.webm”  type=”video/webm”>
<p>動画を再生するには、videoタグをサポートしたブラウザが必要です。</p>
</video> 

 

スマホとタブレット用にポスターフレームを準備して1フレーム目に画像を表示させる。ビデオと同じ大きさの画像を準備。

<video width=”640″ height=”360″  controls   poster=”img/poster.jpg”>

スマホとタブレット用に100%にすると左右に黒いバーが挿入されるのでビデオを固定サイズの最小幅に合わせる。

(スマートフォンサイトの為のhtml5とcss3 p196)(HTML5 CSS3 p265)

●未対応ブラウザに表示する方法
<video>~</video>のなかに表記
<p>表記で記した内容は<video>に対応したブラウザには表示されることはない。

<video controls  poster=”firstframe.jpg” width=”320″ height=”240″>
<source src=”sample.mp4″    type=”video/mp4″>
<source src=”sample.ogv”  type=”video/ogv”>
<source src=”sample.webm”  type=”video/webm”>
<p>動画を再生するには、videoタグをサポートしたブラウザが必要です。</p>
<p><a href=”sample.mp4″>sample.mp4</a></p>
</video> 

 

オートプレイについて
http://www.htmq.com/html5/video.shtml

 

 

一行追加するだけで、IE6/7/8でもHTML5のvideoとaudioを利用できる -html5media

HTML5のvideo要素やaudio要素をサポートしていないメジャーブラウザでもたった一行、ページに追加するだけでこれらを利用できるようにするスクリプトを紹介します。

html5mediaの実装

html5mediaの利用方法は簡単です。

ページに追加する一行

下記をページのhead内に記述します。

1
<script src="http://api.html5media.info/1.1.4/html5media.min.js"></script>

これだけで、すべてのメジャーブラウザでHTML5のvideoとaudioを利用できるようになります。
video, audioに非対応のIE7でも期待通りに動画が再生されます。

http://coliss.com/articles/build-websites/operation/javascript/js.html

 

 

MIMEタイプの設定

HTML5のvideoタグで動画配信する際には、まずサーバー側でMIMEタイプの設定を確認しておきましょう。httpd.confや.htaccessで、mp4, webm, ogvが登録されているかを確認します。Apache2ではmime.typesに記述されている場合もあるようです。登録されていなければ、.htaccessに下記のように記述しましょう。

.htaccess

AddType video/mp4 .mp4
AddType video/webm .webm
AddType video/ogg .ogv

 

 

https://developer.mozilla.org/ja/docs/Web/HTML/Supported_media_formats

WebM

WebM 形式は制限されたバージョンの Matroska コンテナフォーマットに基づいています。これは、常に VP8 ビデオコーデックと Vorbis オーディオコーデックを使用します。WebM は Gecko (Firefox)、Chrome、Opera でネイティブにサポートされており、また Internet Explorer や Safari ではアドオンを追加することでこの形式をサポートできます。

なぜ IE9 は WebM をネイティブサポートしないかに関する Microsoft の主張

WebM 形式、具体的にいうと VP8 ビデオコーデックは、パテントプール形成のための MPEG LA による呼びかけに答えた企業のグループによって特許侵害で告発されましたが、MPEG LA はそれらの特許を “永続的、 移転可能、ロイヤリティフリーのライセンス” で Google にライセンスすることに同意しました。つまり事実上、WebM 形式に関するすべての既知の特許は無償で誰にでもライセンスされます。

Gecko は下記の MIME タイプを WebM ファイルとして認識します:

video/webm
ビデオを含む (オーディオも含むと思われる) WebM メディアファイル。
audio/webm
オーディオだけを含む WebM メディアファイル。

MP4 H.264 (AAC or MP3)

H.264 ビデオコーデックと AAC オーディオコーデックまたは MP3 オーディオコーデック による MP4 コンテナフォーマットは、Internet Explorer 、Safari および Chrome でネイティブサポートされていますが、Chromium や Opera はサポートしていません。Firefox はまもなくこの形式をサポートしますが、これはサードパーティのデコーダを利用できるときだけです。

MPEG メディアは特許で保護されており、無償ではライセンスされていません。すべての必要なライセンスは MPEG LA から購入できます。Mozilla [12]、Google [12] および Opera によると、現在 H.264 はロイヤリティフリーな形式ではないためオープンな Web プラットフォームには合いません。しかしロイヤリティフリーの形式が Internet Explorer や Safari でサポートされていないため、 それでも Mozilla は H.264 形式をサポートすることを決めており、また Google は Chrome から H.264 のサポートを削除するという約束をいまだに果たしていません。

 

html5 タグの使い方

http://memocarilog.info/webdesign/4142

section

<section></section>

見出しを伴う章や節のまとまりとなる部分。必ず<h1>〜<h6>のいずれかの見出しが入る。
コンテナ要素ではないので、<div>の代わりという訳ではない。レイアウトの為に必要な場合は<div>を使う。

section要素の主な特徴しては、

  • 章や節といった単位で扱うので、セクション内容を表すh1~h6の見出しが必ず必要になります。
  • コンテナ要素ではありませんので、レイアウト目的に使用することはできません。スタイリングに都合の良い要素が必要になった場合はdiv要素が推奨されています。

一つ目の特徴としてsection要素は章や節といった単位で扱うので、セクション内容を表す見出し要素が必ず必要になります。

http://www.html5-memo.com/mdn/mdn04/

 

article

<article></article>

ブログのウィジェット・ガジェット、ブログ記事など自己完結する文書の部分。コンテンツとして独立している。
sectionとarticleはどちらを先に書くか等の決まりはなく場合により変わる。

article要素

「article要素」は、ドキュメント、ページ、アプリケーション、サイトの中の自己完結した構成を表します。
つまり、それ自体で独立したコンテンツとして成り立つ自己完結したものを「article要素」で表現します。

では、「独立したコンテンツ」とは?
こう考えるとわかりやすいかもしれません。

「RSSフィードで読み込んで、一つの記事として成り立つかどうか。」

ニュース記事やブログ記事などがわかりやすい例です。
一つの記事があるとします。
この記事全体は独立したコンテンツなので、「article要素」で表現することができます。
ブログ記事一覧ページなど複数の記事を表示している場合、その一つ一つの記事は独立したコンテンツであるため、これも「article要素」で表現できます。

弊社のトップページの「新着情報」のソースコードを参考にして解説していきます。

1
2
3
4
5
6
7
8
9
10
11
<article>
<div>
<div>
<p>2013/07/01</p>
<h1>これだけは絶対!ホームページを公開したらまずやること6か条</h1>
</div>
<p>
<img src="サムネイル画像パス">
</p>
</div>
</article>

当サイトではこのようにコーディングしています。
「RSSフィードで読み込んで、一つの記事として成り立つかどうか」を考えると、記事一つ一つは、RSSフィードとしてその部分だけを抜き取ってもコンテンツとして成立します。
よって、個別に「article要素」で表現することができるのです。

「article要素」は、マークアップする人にとって独立しているかどうか、判断基準が変わってくると思います。
より明確な判断方法などがありましたらまた記事にしてご紹介したいと思います。

追記

http://www.hp-stylelink.com/news/2013/07/20130703.php

 

aside

<aside></aside>

メインのコンテンツとは関係のないコンテンツの部分を示す。広告やリンク集などのマークアップに使用する。

 

h1

<h1>

sectionやarticle事にh1でタイトル部分をマークアップするので、1ページにh1が多数使われる。
(意味が変わった訳ではない)

 

a

<a>

ブロック要素を囲って使用できる。複数の要素を囲う事ができる。

アンカーとして使用しなくなった。
アンカーはid指定があれば飛べる様になった。

img

HTML5では画像がベースラインに揃えて表示されることから画像の下に余白が入る。余白を削除するにはvertical-alignをbottomにする

 

リストに入れている画像に入る余白もこれで消せる

 

 

chancemaker html5 css3 wordpressでレスポンシブルwebデザインしてみる

参照 wp3サイト構築ブック ビジネスサイトp51

ベースになるのはindex.php

●グランドナビ部分はカスタムメニューを使用 wp3構築ブック p66

メニューにおけるブログへのリンク設定は、ページでは時系列で投稿できないことからページからはしない。カスタムリンクのラベルとURLを入力する。このとき、URLに何も入力しないとボタンが生成されないので何かいれること

 

functions.phpへ記述

register_nav_menus(array(
‘navbar’ => ‘ナビゲーションバー’
));

index.phpへ記述

<?php wp_nav_menu(array(‘theme_location’ => ‘navbar’)); ?>

 

トップページ部分はページ部分に”ホーム“としてデフォルトであるのでこのナビゲーションラベルをTOPへ変更すると固定ページで作っているトップページと関連付られる

 

●メイン画像について

wordpressで全部サイトを作るとして、トップページのメイン画像にはjavascriptでスライドいれることが多い。カスタムヘッダーで指定して画像を入れる作りにしてしまうと、トップにおいてカスタムヘッダー画像の記述が反映してしまうのでは?

WP3構築ブックp65

なので、メイン画像の部分はカスタムテンプレートで対応してみる

※カスタムヘッダーの注意。
メインの画像はアイキャッチを使えばよいが、カスタムヘッダー機能を追加して外観のヘッダで標準でしようする画像を設定すると、トップページのメイン画像の部分に標準画像が入ってしまうのでそこでは設定しないこと。となると標準画像への設定は不要かも?

 

<?php if(is_home()): ?>
これだとindex.phpのホームだけに適用。今回はメイン画像はスライドショーするからpageでトップは作るので下記のように変更   wpレッスンブック p295

<?php if(is_page(TOP)): ?>
<?php query_posts(‘pagename=TOP’); ?>
トップページのみ出力

<p<?php echo get_the_post_thumbnail($post->ID); ?></p>
トップページ以外に出力
<?php else: ?>
アイキャッチがある場合はアイキャッチ画像をない場合はヘッダー画像を出力
<?php if(has_post_thumbnail($post->ID)): ?>
<p><?php echo get_the_post_thumbnail($post->ID); ?></p>
<?php else: ?>
<p><img src=”<?php header_image(); ?>” width=”<?php echo HEADER_IMAGE_WIDTH; ?>” height=”<?php echo HEADER_IMAGE_HEIGHT; ?>”/></p>
<?php endif ; ?>
<?php endif; ?>

 

 

●固定トップページのみ表示させる

<?php if(is_home()): ?>
<?php query_posts(‘pagename=TOP‘); ?>
<?php if(have_posts()):
while(have_posts()): the_post();?>
<?php the_content(); ?>
<?php endwhile; endif; ?>

<?php else: ?>

TOP固定ページのトップページのスラッグで設定している。上記のように記述することによりトップページだけで表示されるようになる  WP3構築ブックp85

 

●トップページのみNivo Slider使用

hemes内に nivo-sliderを設置 (デスクトップ、webコンテンツ、nivo-sliderより)

head内に下記表記
※pascal.css, orman.css, へのリンク設定しないとページャー部分がコントロール出来ないので表記する必要あり

<link rel=”stylesheet” href=”<?php bloginfo(‘template_directory’); ?>/nivo-slider/themes/default/default.css” type=”text/css” media=”screen” />    <link rel=”stylesheet” href=”<?php bloginfo(‘template_directory’); ?>/nivo-slider/themes/pascal/pascal.css” type=”text/css” media=”screen” />    <link rel=”stylesheet” href=”<?php bloginfo(‘template_directory’); ?>/nivo-slider/themes/orman/orman.css” type=”text/css” media=”screen” /><link rel=”stylesheet” href=”<?php bloginfo(‘template_directory’); ?>/nivo-slider/nivo-slider.css” type=”text/css” media=”screen” ><link rel=”stylesheet” href=”<?php bloginfo(‘template_directory’); ?>/nivo-slider/demo/style.css” type=”text/css” media=”screen” >

 

bodyに下記表記

<script type=”text/javascript” src=”<?php bloginfo(‘template_directory’); ?>/nivo-slider/demo/scripts/jquery-1.7.1.min.js”></script>
<script type=”text/javascript” src=”<?php bloginfo(‘template_directory’); ?>/nivo-slider/jquery.nivo.slider.pack.js”></script>

<script type=”text/javascript”>
$(window).load(function() {        $(‘#slider’).nivoSlider( {
effect:’random’, // 画像切り替え時のアニメーション
slices:15, // For slice animations
boxCols: 8, // For box animations
boxRows: 4, // For box animations
animSpeed:500, // アニメーション速度(ms)
pauseTime:5000, // 画像切り替えまでの時間(ms)
controlNav:false, // コントロールナビの非表示
} );
});
</script>

<div class=”slider-wrapper theme-default”>
<div id=”slider”>
<img src=”<?php bloginfo(‘template_directory’); ?>/image/top/image1.jpg” alt=””  />         <img src=”<?php bloginfo(‘template_directory’); ?>/image/top/image2.jpg” alt=””  />       <img src=”<?php bloginfo(‘template_directory’); ?>/image/top/image3.jpg” alt=”” />       <img src=”<?php bloginfo(‘template_directory’); ?>/image/top/image4.jpg” alt=””/>         </div>
</div>

 

 

 

●上記をまとめて、header.phpへメイン画像部分を記す。

固定トップページの場合はnivo sliderを表示。動的ページ用home(ブログ)の場合はカスタムヘッダ画像を表示。アイキャッチ画像がある場合はアイキャッチ画像を表示。

<section id=”main_image”>
固定ページTOPの時は
<?php if(is_page(TOP)): ?>
<?php query_posts(‘pagename=TOP’); ?>固定ページTOPにのみ適用

<!–nivo slider–>
<script type=”text/javascript” src=”<?php bloginfo(‘template_directory’); ?>/nivo-slider/demo/scripts/jquery-1.9.0.min.js”></script>
<script type=”text/javascript” src=”<?php bloginfo(‘template_directory’); ?>/nivo-slider/jquery.nivo.slider.js”></script>

<div class=”slider-wrapper”>
<div id=”slider”  class=”nivoSlider”>
<img src=”<?php bloginfo(‘template_directory’); ?>/image/top/image1.jpg” alt=””  />         <img src=”<?php bloginfo(‘template_directory’); ?>/image/top/image2.jpg” alt=””  />       <img src=”<?php bloginfo(‘template_directory’); ?>/image/top/image3.jpg” alt=”” />       <img src=”<?php bloginfo(‘template_directory’); ?>/image/top/image4.jpg” alt=””/>         </div>
</div>


<script type=”text/javascript” src=”<?php bloginfo(‘template_directory’); ?>/nivo-slider/demo/scripts/jquery-1.7.1.min.js”></script>
<script type=”text/javascript” src=”<?php bloginfo(‘template_directory’); ?>/nivo-slider/jquery.nivo.slider.pack.js”></script>

<script type=”text/javascript”>$(window).load(function() {        $(‘#slider’).nivoSlider( {effect:’random’, // 画像切り替え時のアニメーション
slices:15, // For slice animations
boxCols: 8, // For box animations
boxRows: 4, // For box animations
animSpeed:500, // アニメーション速度(ms)
pauseTime:5000, // 画像切り替えまでの時間(ms)
controlNav:false, // コントロールナビの非表示
} );
});
</script>
<!–nivo slider END–>

固定ページTOP以外の時
<?php else: ?>

<div id=”other-image”>
※他のページのメインイメージ幅を#main_image img {max-widht:auto;}にするとnivo slider上で二重に表示されるので、他のページであれば要素#other-imageで囲み#other-image img{max-width:auto;}で幅を自動調節させるために表記する

固定ページTOP以外で且つhomeならば
<?php if(is_home()): ?>

<p><img src=”<?php header_image(); ?>” width=”<?php echo HEADER_IMAGE_WIDTH; ?>” height=”<?php echo HEADER_IMAGE_HEIGHT; ?>”/></p>

固定ぺ―ジ以外でhomeでもない他のページならば
<?php else: ?>
アイキャッチで画像を表示させているならば
<?php if(has_post_thumbnail($post->ID)): ?>
<p><?php echo get_the_post_thumbnail($post->ID); ?></p>
アイキャッチ画像がなく標準のカスタムヘッダーで指定した画像であれば
<?php else: ?>
<p><img src=”<?php header_image(); ?>” width=”<?php echo HEADER_IMAGE_WIDTH; ?>” height=”<?php echo HEADER_IMAGE_HEIGHT; ?>”/></p>
<?php endif ; ?>

<?php endif; ?>

</div>
<?php endif; ?>
</section>

 

 

 

●トップページとして設定する
設定 表示設定 で固定ページチェックオン フロントページでトップページのページを選ぶ
wordpress レッスンブック p309

 

●ブログページ(home)と他の固定ページ用のメインの画像の記述

 

<section id=”main_image”><?php if(is_home()): ?>

<p><img src=”<?php header_image(); ?>” width=”<?php echo HEADER_IMAGE_WIDTH; ?>” height=”<?php echo HEADER_IMAGE_HEIGHT; ?>”/></p>

<?php else: ?>
<?php if(has_post_thumbnail($post->ID)): ?><p><?php echo get_the_post_thumbnail($post->ID); ?></p><?php else: ?><p><img src=”<?php header_image(); ?>” width=”<?php echo HEADER_IMAGE_WIDTH; ?>” height=”<?php echo HEADER_IMAGE_HEIGHT; ?>”/></p><?php endif ; ?>

<?php endif; ?>

</section>

 

●タブレット用

#wrapperの width: 100%;   #grandnav ul のwidthも100%   グランドナビの各幅は#grandnav li a {display:block;        width:120px;}

 

●タブレット トップページ

PC用のwrapperの幅は960px    feed用の幅はPC用は550pxなのでタブレットは可変にするので500÷960×100=52%
バナーのエリアは 390pxなので 390÷960×100=40.62%

コンテンツ幅の比率

 

※MPBはタブレットではoverflow:autoしてもスクロールできない。


 

古いブラウザへのHTML5&CSS3の対応

http://www.nemuchan.com/css3/ie01.html

html5shiv

上記URLからファイルをダウンロードし、jsファイルを任意のディレクトリに置き、headに組み込むだけ。
旧バージョンのブラウザでもHTML5を認識しブロック要素として認識される。 この場合、IE9はhtml5対応なので、IE9未満に向けて設定する。

<!--[if lt IE 9]> 
<script src="js/html5shiv.js"></script>
<![endif]-->
html5shiv

こちらよりダウンロードできます。(最新バージョンはgithubでもチェックした用が良いです。また、html5shivに関する説明も書かれております。)

ダウンロードしたファイルの「dist」フォルダに含まれるファイルを自分の用意しているサーバーにアップロードします。

「html5shiv-printshiv.js」と「html5shiv.js」という二つのファイルがありますが、この二つのファイルの違いは印刷時のサポート機能があるかないかの差らしいです。

「html5shiv-printshiv.js」にはサポート機能があるようです。

自分が用いたいファイルのどちらか片方をアップロードして下さい。

次の記述を<head>タグ内に記述します。(赤字の部分は自分のアップロードしたサーバーのURLに合わせて変更する)

<!–[if lt IE 9]>
<script src=”html5shiv.jsのURL”></script>
<![endif]–>
これで、IEのバージョンが8以前の場合にhtml5shiv.jsが読み込まれ、基本的なHTML5には対応できます。

ダウンロードではなく、Google CodeのリポジトリのURLを指定し、URLに「http://html5shiv.googlecode.com/svn/trunk/html5.js」と入力しても利用できます。

ただ、このURLは私が確認した2013.10.21時点でも有効ですが、zipファイルをダウンロードして使うようになる前の方法のようで、そのうち使えなくなるかもしれません。

また、この方法はいくつかの理由であまり望ましくないようなので、素直にダウンロードして利用する方が良いです。

 

html5.js

IE6-9でのCSS3表現を有効にする。
IE9.jsというものもあり、詳しくはこちらのサイトに解説がありました。

■ IE対策 - CSS3編 –

CSS3 pie

IE6-9でのCSS3表現を有効にする。
使い方はこちらのサイトで詳しく解説されてます。

css3-mediaqueries-js

 

 

Modernizr

javascriptによる機能判別処理。

各機能への対応、未対応を示すクラスが自動的に挿入されるので対応状況に応じたデザイン変更設定も可能。

Modernizrを利用すると各機能への対応、未対応を示すクラスが<html>に自動的に挿入される。クラス名にはModernizrのプロパティ名が使用され、未対応の場合は 「no-」を付けた形になる。」

使用するときは

<script src=”modernizr-2.6.1.js!></script>を記述

p119 スマートフォンhtml5 css3

フレキシブルボックスレイアウトの場合はサポートしていないブラウザのために

.no-flexboxlegacy  もcss側で追記表記すると未対応ブラウザでもフレキシブルボックスデザインが関係なく通常のデザインで表示

例 .no-flexboxlegacy #nav  {  ●●:×× ;  }

 

 

コンディショナルコメント

(スマートフォンサイト html5 css3  p91)

ブラウザによって、CSS の解釈が違うので、同じ CSS を読み込んでも表示が異なる時があります
それを防ぐには、「CSSハック」 と「コンディショナルコメント」という方法があります

「CSSハック」とは
ブラウザのバグを逆手にとって利用する事ができ、ブラウザやそのバージョン毎に細かい設定が可能である
しかし、CSSファイル にのみ記載すればいいが、ソースが長くなってしまうこともある
また、ブラウザが新しいバージョンになった場合に使えなくなることがある

「コンディショナルコメント」とは
条件分岐によりタグを選択することができるが、HTML に記述するので、対象のページ数が増えてしまうこともある
分岐の条件として “IE” と “IE以外” のみだけの対応になり、IE以外 のブラウザ種別では対応外となる(MacIEなども対応外である)
結論としては使用シェアの高い「IE」「Firefox」のみ意識すれば
「コンディショナルコメント」の方が便利に使えそうだ

IE8以前に設定

<!–[if lt IE 9]>

<link rel=”stylesheet” href=”style-l.css”>

<![endif]–>

 

 

http://m-style-beta.ddo.jp/-bibouroku/30db30fc30e030fc/300ccss30cf30c330af300d-3068300c30b330f330a330b730e730ca30eb30b330e130f330c8300d-4f5c62104e2d

 

http://blog.sakurachiro.com/2009/07/285/

 

画像下の余白

レスポンシブルweb デザインにおける、画像下の余白は、html5では画像がベースラインに揃えて表示されることから画像下に余白が入る。この余白を削除するためには img要素に

vertical-align:bottom  を指定する。