電子書籍の厳選無料作品が豊富!

現在、二枚の画像を徐々に変化させたいと思い

~HTML~

<TABLE>
<TBODY>
<tr>
<td><a href="http://www.abcd5.com/news" class="news_botan"></a></td>
</tr>
<tr>
<td><a href="http://www.efgh5.com/news" class="news_botan"></a></td>
</tr>
</TBODY>
</TABLE>

~CSS~

.news_botan{
width:110px;
height:10px;
display:block;
background:url(IMGTXT/news0.gif) no-repeat;
transition: background-image 4.0s ease 5s;
-webkit-transition: background-image 3.0s ease 3s;
-moz-transition: background-image 3.0s ease 3s;
-ms-transition: background-image 3.0s ease 3s;
-o-transition: background-image 3.0s ease 3s;

}

.news_botan:hover{
background:url(IMGTXT/news3.gif);
}


としましたが変化しませんでした。
どうすれば徐々にnews0.gifからnews3.gifに変化する事が出来るのでしょか?

A 回答 (3件)

No.2です。


えらく冗長だと思ったら重複してますね。
<style type="text/css">
<!--
html,body{margin:0;padding:0;background-color:gray;}
h1,h2,h3,h4,h5,h6{margin:0;line-height:1.6em;}
p{text-indent:1em;}
div.header,div.section,div.footer{width:90%;min-width:630px;max-width:900px;margin:0 auto;padding:5px;background-color:white;}
div.header{position:relative;}
div.header div.nav{width:100px;position:absolute;top:100%;left:0;}
body>div.section h2,
body>div.section>p,body>div.section>div.section{
margin-left:100px;
width:auto;min-width:0;
}
div.header div.nav ol,div.header div.nav ol li{margin:0;padding:0;list-style:none;}
div.header div.nav ol li{width:100px;height:40px;position:relative;overflow:hidden;}
div.header div.nav ol li a{display:block;width:100%;height:100%;text-indent:-100px;}
div.header div.nav ol li a:after{display:block;position:absolute;left:100px;top:0;opacity:1;}
div.header div.nav ol li a:hover:after{opacity:0;}
/* 時間的変化 */
div.header div.nav ol li a:hover:after{
-moz-transition-property: opacity;
-webkit-transition-property: opacity;
-o-transition-property: opacity;
-ms-transition-property: opacity;
-moz-transition-duration:1s;
-webkit-transition-duration:1s;
-o-transition-duration:1s;
-ms-transition-duration:1s;
-moz-transition-timing-function:ease-in-out;
-webkit-transition-timing-function:ease-in-out;
-o-transition-timing-function:ease-in-out;
-ms-transition-timing-function:ease-in-out;
}
/* ここまで */
div.header div.nav ol li a[href="/"]{background-image:url(./images/navi/home2.gif);}
div.header div.nav ol li a[href="/"]:after{content:url(./images/navi/home.gif);}
div.header div.nav ol li a[href="/books"]{background-image:url(./images/navi/books2.gif);}
div.header div.nav ol li a[href="/books"]:after{content:url(./images/navi/books.gif);}
div.header div.nav ol li a[href="/profile"]{background-image:url(./images/navi/profile2.gif);}
div.header div.nav ol li a[href="/profile"]:after{content:url(./images/navi/profile.gif);}
-->
</style>

 まあ、デザインのためにHTMLは書かないようにしましょう。その意味でTABLEは禁止!!

 先でナビゲーションを横に並べようとしたり、増えたりするたびにHTMLやスタイルシートを書き直すなんて羽目になります。
ナビゲーションリストを様々にデザインしてみよう。( http://www.ichiya.com/WebService/Howto/sample/HT … )
で、ブラウザの表示メニュー→スタイル(シート)と進んで、スタイルを色々と変えたり印刷プレビュー見たりしてみましょう。HTMLにはデザイン的要素は全くないので、どのようにもデザインできますね。
 それをしないことには、始まりません。
    • good
    • 0
この回答へのお礼

ORUKA1951さま

色々とご教授ありがとうございました。
これからはtableは使わず始め良く考えて構築したいと思います。
今回は色々と勉強させて頂き
ありがとうございました

お礼日時:2014/05/21 21:37

ごく簡単なサンプル挙げておきます。


★Another HTML Lint - Gateway( http://www.htmllint.net/html-lint/htmllint.html# )
 で検証済みのHTML4.01strict + CSS3です。
★タブは_に置換してあるので戻す。
★HTML5にする場合は、<!doctype html>にして、<div class="header"></div>→<header></header>、<div class="nav"></div>→<nav></nav>のように変更して、CSSも書き換える。
★画像は添付のような物

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
_<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
_<title>サンプル</title>
_<meta name="author" content="ORUKA1951">
_<meta http-equiv="Content-Style-Type" content="text/css">
_<link rev="made" href="mailto:oruka1951@hoge.com" title="send a mail" >
_<link rel="START" href="../index.html">
_<style type="text/css">
<!--
html,body{margin:0;padding:0;background-color:gray;}
h1,h2,h3,h4,h5,h6{margin:0;line-height:1.6em;}
p{text-indent:1em;}
div.header,div.section,div.footer{width:90%;min-width:630px;max-width:900px;margin:0 auto;padding:5px;background-color:white;}
div.header{position:relative;}
div.header div.nav{width:100px;position:absolute;top:100%;left:0;}
body>div.section h2,
body>div.section>p,body>div.section>div.section{
margin-left:100px;
width:auto;min-width:0;
}
div.header div.nav ol,div.header div.nav ol li{margin:0;padding:0;list-style:none;}
div.header div.nav ol li{width:100px;height:40px;position:relative;overflow:hidden;}
div.header div.nav ol li a{display:block;width:100%;height:100%;text-indent:-100px;}
div.header div.nav ol li a:after{display:block;position:absolute;left:100px;top:0;opacity:1;}
div.header div.nav ol li a:hover:after{opacity:0;}
div.header div.nav ol li a:hover:after{
-moz-transition-property: opacity;
-webkit-transition-property: opacity;
-o-transition-property: opacity;
-ms-transition-property: opacity;
-moz-transition-duration:1s;
-webkit-transition-duration:1s;
-o-transition-duration:1s;
-ms-transition-duration:1s;
-moz-transition-timing-function:ease-in-out;
-webkit-transition-timing-function:ease-in-out;
-o-transition-timing-function:ease-in-out;
-ms-transition-timing-function:ease-in-out;
}

div.header div.nav ol li a[href="/"]{background-image:url(./images/navi/home2.gif);}
div.header div.nav ol li a[href="/"]:after{content:url(./images/navi/home.gif);}
div.header div.nav ol li a[href="/books"]{background-image:url(./images/navi/books2.gif);}
div.header div.nav ol li a[href="/books"]:after{content:url(./images/navi/books.gif);}
div.header div.nav ol li a[href="/profile"]{background-image:url(./images/navi/profile2.gif);}
div.header div.nav ol li a[href="/profile"]:after{content:url(./images/navi/profile.gif);}
div.header div.nav ol li a:after{
-moz-transition-property: opacity;
-webkit-transition-property: background-image;
-o-transition-property: background-image;
-ms-transition-property: background-image;

-moz-transition-duration:1s;
-webkit-transition-duration:1s;
-o-transition-duration:1s;
-ms-transition-duration:1s;

-moz-transition-timing-function:ease-in-out;
-webkit-transition-timing-function:ease-in-out;
-o-transition-timing-function:ease-in-out;
-ms-transition-timing-function:ease-in-out;
}
-->
_</style>
</head>
<body>
_<div class="header">
__<h1>タイトル</h1>
__<p>このページでは・・・・</p>
__<div class="nav">
___<ol>
____<li><a href="/">Top</a></li>
____<li><a href="/books">書籍</a></li>
____<li><a href="/profile">プロフィール</a></li>
___</ol>
__</div>
_</div>
_<div class="section">
__<h2>見出し</h2>
__<p>本文はsection</p>
__<div class="section" id="section1">
___<h3>項見出し</h3>
___<p>本文項記事</p>
___<p>sectionの階層でレベルが判断される</p>
__</div>
_</div>
_<div class="footer">
__<h2>文書情報</h2>
__<dl class="documentHistry">
___<dt id="FIRST-PUBLISHED">First Published</dt>
___<dd>2013-03-03</dd>
__</dl>
_</div>
</body>
</html>
「background-imageを徐々変」の回答画像2
    • good
    • 0

background-imageプロパティはtransitionでは変化させることが出来ません。


理由は、数値でない--時間的変化可能なプロパティではないからです。!!言われてみれば当たり前の事ですが・・
If one of the identifiers listed is not a recognized property name or is not an animatable property( http://www.w3.org/TR/css3-transitions/#transitio … )
 opacityプロパティを使います。

なお、プレゼンテーションにtableを使うべきではありません。
・単に文書内容を整形する目的だけで表を用いるべきでない。( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
・ページレイアウトの目的で表を用いる。( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
 1999年のHTML4.01の勧告以来強く言われ続けた事です。
 DIV要素に「id属性及び class属性と併用することで、文書に構造を付加( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )」することで対応します。HTML5だと「文書をよりよく構造化するために、( http://standards.mitsue.co.jp/resources/w3c/TR/h … )」nav要素が追加されました。
 すなわち、HTML4.01(XHTML1.0,XHTML1.1)でしたら
<div class="header">
 <div class="nav">
  <ol>
   <li><a href="/">トップ</a></li>
・・・
 HTMLでしたら
<header>
 <nav>
  <ol>
   <li><a href="/">トップ</a></li>
・・・
とすべきです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!