• ベストアンサー

CSSの鏡面反射について

スクリプトを使わず鏡面反射の効果が出来ないか色々探してhttp://designshack.net/articles/css/mastering-css-reflections-in-webkit/ここに辿りついたのですが、どうもこの通りに自分のCSSのコードに組み込んでも表示されません。 参考にしたサイトでは画像を使っているのですが、自分のはコンテンツの箱を作ってそれを鏡面反射させたいのです。 この効果は画像だけに適応されるのでしょうか?

  • CSS
  • 回答数3
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

一般ボックスでも可能です。 書き方が間違っているか、対応していないブラウザを使ってるだけではないでしょうか? <div style="-webkit-box-reflect: below;"> あいうえお </div>

pitipitiseeker
質問者

お礼

CSSを勉強したばかりなので、勉強不足というところもあるかもしれません。 もう少し頑張ってみようと思います。 ブラウザはchromeを使用しているのでそこは問題ないです。 回答有難うございました。

その他の回答 (2)

  • tracer
  • ベストアンサー率41% (255/621)
回答No.3

スクリプトを使わずにCSSだけで出来てしまうには理由があります。 一言でいえば、CSSが進化したからです。 しかし、肝心のブラウザが進化していなければ、進化したCSSを使用(表示)することができません。 古いブラウザはもちろんですが、InternetExplorerに限っては最新の9でもCSSの進化についてこれていません。そして、残念ながら参考にされたサイトのソースはwebkit(safari/chrome)のみに向けられたテクニックです。つまり、そっくりそのまま使う場合、firefox、oprea、internetExplorerで鏡面反射は表示できません。 ご趣味でWEBサイトを作られているだけかもしれませんが、まともなWEBサイトを目指されるなら、InternetExplorerの表示ーはあまり当てにしないほうがいいですよ。もちろんユーザー毎の好き嫌いはあると思いますが、WEB制作的、あるいは機能的にはどのバージョンのIEも最悪最低と大評判です。

pitipitiseeker
質問者

お礼

ブラウザはchromeを使っているので問題ないです。 もうすこし調べてみようと思います。 回答有難う御座いました。

noname#158634
noname#158634
回答No.1

>この効果は画像だけに適応されるのでしょうか? そうです。そのサイトにも「flip the image」って書いてますよ。 理由を一から説明することはできますが、長くなるし初心者には理解するのが大変なので省きます。 ものすごく簡単な部分だけ言うと、「コンテンツの箱」とやらは「画像ではない」からです。

pitipitiseeker
質問者

お礼

CSSを勉強し始めの頃、テンプレートで鏡面反射をしているサイトを見たのでこれで出来るのではと思ったのですが残念です。 スクリプトで頑張ってみようと思います。 回答有難うございました。

関連するQ&A

  • 画像に鏡面反射を付けたい!

    ご質問させていただきます。 自分のホームページ内のimg画像に、鏡面反射(床面への映り込み)を付けたいのですがどの様な方法があるのでしょうか? 何卒、分かり易く教えて頂ければありがたく存じます。                                                             敬具

    • ベストアンサー
    • HTML
  • CSSの使い方の流儀?

    先日業者にホームページの作成を依頼したところ、 子孫セレクタを駆使したCSSを使ったページが できあがってきたのですが・・・ たとえばこんな感じ <div id="header">   <div class="block1">     <span>・・・・・・</span>     ・・・・・・・   </div>   <span>・・・・・・</span>   ・・・・・・・ </div> <div id="contents">   <div class="block2">     <span>・・・・・・</span>     ・・・・・・・   </div>   <span>・・・・・・</span>   ・・・・・・・ </div> これに対して CSSでこんなスタイルが設定されています(セレクタ部のみ抜粋) #header .block1 #header .block1 span #header span #contents .block2 #contents .block2 span #contents span 私だったらわざわざ複雑な子孫セレクタを使わずに、 個々にクラスかIDを設定すると思うのですが・・・ また、ただ画像が貼ってあるだけと思ったら、 CSSでspanの背景画像として貼ってあったり、 ただの仕切り線と思ったら、 やはりdivのボーダーラインを使っていたり・・・ こういう作りって一般的なのでしょうか? あるいは、何か利点があるのでしょうか? ブログのカスタマイズなどだと、元のHTMLを自分で直せない場合が多いので、 こういうコトをすることが良くある、というのはわかるのですが・・・ あまりにHTMLのタグの構造とCSSが密接に絡んでいて、 ほんの一文追加しようとしただけで苦労していまして・・・ なんでこういう書き方なのかな・・・と、 不思議に思っています。。

  • CSSレイアウトで、画像を常に画面の真ん中にする方法について。

    質問失礼いたします。 テーブルでレイアウトしたサイトをCSSレイアウトに変更したいと考えております。 現在は、1行1列の100%×100%のテーブルに「align="center" valign="middle"」を設定することで、画像(コンテンツ)を常に画面の真ん中に表示するように設定しています。 ジャバスクリプトを使わずに、 DIVタグなどを使って、CSSレイアウトでこれと同じように表示するにはどうしたらよいでしょうか? いろいろ調べたり、聞いたりしましたが、いまいちスムーズな方法がみつからず、困っております。 どなたかご存知の方がおりましたら、具体的に教えいただければ大変うれしいです。 宜しくお願いいたします。

  • TABLEの背景画像をCSSに変更したい。

    今までTABLEを使って背景画像を指定していたのですが、CSSに変更したいと考えています。 現在はTABLEで図1のようにABC A'B'C' A''B''...と連続する背景画像を<図3>のカラム「ロ」に入れています。 これをCSSのbackgroud-imageで指定すると図2のB'ように途中で切れてしまいます。 これを背景イメージA,B,Cのいずれかの境界で背景を終わらせるようにコントロールすることはできないものでしょうか。 CSSだけで指定するのは困難なように思います。 JAVA Scriptとの併用になるのでしょうか。 CSSは基本的な使い方は理解しているつもりですが、JAVA Scriptは読める程度で書くことはできません。 わかりにくい説明で申し訳ありませんがどなたか教えていただければ助かります。 よろしくお願いします。 なお背景画像の高さはA=B=Cです。 背景画像は<図3>のカラム「ロ」、カラム「イ」「ロ」はコンテンツしだいで下に伸びます。 <図1:背景イメージ> ■■■ ┐  ■■■ A ■■■ ┘ □□□ ┐ □□□ B □□□ ┘  ◆◆◆ ┐ ◆◆◆ C ◆◆◆ ┘  <図2:backgroud-imageによる指定> ■■■ ┐  ■■■ A ■■■ ┘ □□□ ┐ □□□ B □□□ ┘  ◆◆◆ ┐ ◆◆◆ C ◆◆◆ ┘  ■■■ ┐  ■■■ A' ■■■ ┘ □□□ ┐ □□□ B'     ┘  <図3:現在のカラム(TABLEで指定)> ┌─────────┐ │┌─┐┌─┐┌─┐│ ││ ││ ││ ││ ││イ││ロ││ハ││ ││ ││ ││ ││ │└─┘└─┘└─┘│ └─────────┘

    • ベストアンサー
    • CSS
  • ホームページ制作・CSSについて

    CSSで段組をし、HTML+CSSでホームページを作っているのですが、疑問がでてきました。 仮にwidth:700、height:400の箱が#wrapperや#containerにあたる主な要素を詰め込む領域だとします。 body全体の背景色は白で、上記700×400内の背景色も白、700×400内にはCSSで黒に近い暗い色の画像を背景として設定しているため、文字色も白です。   これはスパム行為とみなされないでしょうか・・・?   今のところ、自分では満足な仕上がりになっているので、あまり変更はしたくないのですが、スパムとみなされてしまうようでは、検索にもかからない可能性が出てきますし、問題ですよね。   スパム行為としてみなされるのかどうか、また、もしそうであれば、現状をあまり変更せずに回避するにはどのようにしたらよいでしょうか。 ご存知の方は教えてください。よろしくお願いします。

  • CSS3グラデーションで、右端だけフェードする線を

    CSS3グラデーションで、右端だけフェードする線を作成したいのですが、どうすれば良いでしょうか? ・下記リンク先では、中央に位置した線の両端がフェードアウトしているのですが、 これを左端に位置させ、線の右端部分だけをフェードアウトさせたいのですが、どうすれば良いでしょうか? ▽[CSS]画像無しで、両端にいくにつれ薄くなるラインを描くテクニック | コリス   http://coliss.com/articles/build-websites/operation/css/css-tutorial-fading-dark-gradient-by-cyberap.html できれば、この部分を解説して欲しいのですが、アレでしたら、完成形だけでもどこかに上げていただけないでしょうか? background-image: linear-gradient(0deg, rgba(0,0,0,0), rgba(0,0,0,0.1) 50%, rgba(0,0,0,0)), linear-gradient(0deg, rgba(214,198,175,0), rgba(214,198,175,0.8) 50%, rgba(214,198,175,0)), radial-gradient(50% 100%, ellipse cover, rgba(0,0,0, 0.05), rgba(0,0,0,0) 50%); background-image: -o-linear-gradient(0deg, rgba(0,0,0,0), rgba(0,0,0,0.1) 50%, rgba(0,0,0,0)), -o-linear-gradient(0deg, rgba(214,198,175,0), rgba(214,198,175,0.8) 50%, rgba(214,198,175,0)), -o-radial-gradient(50% 100%, ellipse cover, rgba(0,0,0, 0.05), rgba(0,0,0,0) 50%); background-image: -ms-linear-gradient(0deg, rgba(0,0,0,0), rgba(0,0,0,0.1) 50%, rgba(0,0,0,0)), -ms-linear-gradient(0deg, rgba(214,198,175,0), rgba(214,198,175,0.8) 50%, rgba(214,198,175,0)), -ms-radial-gradient(50% 100%, ellipse cover, rgba(0,0,0, 0.05), rgba(0,0,0,0) 50%); background-image: -moz-linear-gradient(0deg, rgba(0,0,0,0), rgba(0,0,0,0.1) 50%, rgba(0,0,0,0)), -moz-linear-gradient(0deg, rgba(214,198,175,0), rgba(214,198,175,0.8) 50%, rgba(214,198,175,0)), -moz-radial-gradient(50% 100%, ellipse cover, rgba(0,0,0, 0.05), rgba(0,0,0,0) 50%); background-image: -webkit-linear-gradient(0deg, rgba(0,0,0,0), rgba(0,0,0,0.1) 50%, rgba(0,0,0,0)), -webkit-linear-gradient(0deg, rgba(214,198,175,0), rgba(214,198,175,0.8) 50%, rgba(214,198,175,0)), -webkit-radial-gradient(50% 100%, ellipse cover, rgba(0,0,0, 0.05), rgba(0,0,0,0) 50%);

    • ベストアンサー
    • CSS
  • DreaWeaverを使ったCSSルール設定

    これまでDreaWeaverを使用したことがなく、ビルダーを使ってきました。しかしこれからはCSSを使用しないといけないと思い奮起し現在、DreaWeaverと格闘しています。 そこで初歩的なことをお聞きしたいのですが、ビルダーではHPを作成するにあたり、まず表で骨格となるデザインをレイアウトしその後で文字や画像などを表やセルにいれ、その中でさらにレイアウトをしてきました。 そこでDreaWeaverを使うにあたり、皆様はまずはどこからHPを作成していっているかということです。 その概念がまだ頭の中で出来上がっていません。どうしても表が頭にあります。 またロールオーバーなどの画像をいれる箱は表にしたほうがいいのか、全体的なイメージがつかめていせん。 自身のHP作成のイメージは一番上にヘッダー(HPのタイトル)を入れ、 その下にロールオーバーを入れた画像を置き、そのさらに下にコンテンツを並べたいと思っています。 皆さんのご意見をお聞かせください。

  • 【CSS】マウスオーバー効果有りメニューで現在いる場所によって一部画像変更したい

    最近ホームページを作り始めた者です。 現在メニューを画像に変更しようとこちら http://www.iam-strangeman.com/blogs/2006/07/css_mouseover_1.html を参考にメニューを作っています。このページと同じ効果は得られたのですが、 たとえば、現在TOPにいるならTOPを常にmouseover時と同じように 表示させたりするにはどうすれば良いのでしょうか。 CSSファイルを複数作ってページによってファイルを変えるようなことはしたくありません。 読み取られるページによって一部スクリプトを変更させたり、 上から良いように画像を載せたりする方法などはあるのでしょうか。 その他でも良い方法があればどうか宜しくお願いします。

    • 締切済み
    • CSS
  • CSSで「フレーム」のような効果は出せますか?

    遅ればせながら テーブルやフレームを使わず、スタイルシートによる段組レイアウトを勉強しています。 段組レイアウトそのものは何とかできるようになったのですが、 例えば、 ヘッダ(header) 左メニュー(side) 右に内容(contents) といったいわゆる2段組レイアウトの場合 sideのリンクをクリックすると、 contentsだけが別のページにジャンプするという、 フレームのような効果は出せるのでしょうか? ブログのようなCGIにすればいいんでしょうが 更新するのは私ひとりですし、 プログラムを導入するのが面倒で・・・(--;) できればHTMLとCSSだけで実現したいのです。 全画面リンク(_top)にするというテならばありますが その場合、headerおよびsideに配置した画像も、全く同じものなのに再度表示することになって、結果アクセスが重くなりますよね。 あと、アイフレームも極力使いたくないです。 わかりにくい説明で申し訳ありませんが とにかく、以上の方法以外で、 実現できるか出来ないかを教えてください。 私が見ている参考書はレイアウトの事しか載っていなくて・・・ よろしくお願いします。

    • 締切済み
    • CSS
  • 鏡面反射と拡散反射ちんぷんかんぷんです。

    色彩検定の勉強中です。 テキストが理解できません。 光沢のあるツルツルの物体に当たった光の多くは、その表面で一定方向に強く反射されるのが鏡面反射とテキストにあります。 光沢のあるツルツルの物体はなんですか? 一定方向に強く反射するってどういうことですか? 入射角と反射角がイコール(=)だとテキストにあります。どういう意味ですか? マットでツヤのない物体に当たった光の多くは、その表面であらゆる方向に反射するのを、拡散反射とテキストにあります。 マットでツヤのない物体とはなんですか? その表面であらゆる方向に反射するとはどういうことですか? 入射角と反射角はイコールでないとテキストにあります。どういう意味ですか?