2013-08-08 3 views
29

background-size: cover;の理由で、<div>background-imageの画像を置き換えています。ページは、以前の画像と同じように「画像」がdivになっているように構成されています。Schema.orgはdivにitemprop = "image"を付けますか?

このアイテムの商品を<div>に付けるのは意味がありますか?

答えて

45

CSSは次のとおりです。あなたがそのメタタグにしたい

2つの属性が

<meta itemprop="image" content="/some/url/to/an/image.gif" /> 

あなたはメタ情報が、実際には、ここでそれをテストしてうまく読まれることを確認することができitempropcontentです私が認識しているMicrodataパーサでは認識されません。あなたはこのように画像を指定するmetaタグを追加する必要があります。

<div itemscope itemtype="http://schema.org/Article"> 
    <meta itemprop="image" content="bg.jpg"></meta> 
    <div style="background-image:url('bg.jpg')"></div> 
</div> 
+0

ああありがとう!ニースと全く予想外のこと、私はこれのようなものにすることができるか分からなかった。 ''そして、画像が正しく動作するためには、両方が子であるか、 'itemscope'の内部にある必要があります。 –

+1

ええ、両方ともitemscopeノードの子である必要がありますが、必ずしも直接の子供である必要はありません。新しい項目スコープが宣言されていない限り、他の要素の中に入れ子にすることができます。 –

+1

FYI head要素の外側にあるHTML5メタタグが無効です。 – jwillmer

9

これは、あなたのitemscopeに含まれるdiv内のメタタグに適しています。 http://www.google.com/webmasters/tools/richsnippets

+0

divを渡すとsrcが無効ですhtmlと思います。私はずっと心配していると思う、明らかにこれは愚かかどうか? –

+1

私はshawnの提案が良かったと思います:urlとプロパティを指定するmetaタグを追加してください。そうすることで、マークアップが完璧であることを心配する必要はありません – Kristian

+1

クリスチャンは間違っています。画像へのURLは、メタの** content **属性によって提供されます。divの子として、'はバグではありません。 – Nepaluz

0

コンテンツにimgを指定すると、それはDOMで見られるが、として、視覚的に操作する必要がある場合はCSSでそれを隠していないのはなぜbackground-image?など、私の目には、それは少し、より伝統的な作りだけでなく、機能のユーザーは、このような画像(右クリックでメニューツリー)とカーソルハイライトを保存するなどの画像を予測し、デフォルトのブラウザを保持あなたのbodyのうち、metaタグを保持します

<div itemscope itemtype="http://schema.org/Article"> 

    <style scoped> 
    /* I only use scoped to avoid excess classing in this demo. 
     Read: http://caniuse.com/#feat=style-scoped */ 
     figure 
     { position: relative; 
     background-size: cover; 
     background-position: center center } 

     figure > img[itemprop=image] 
     { opacity: 0; 
     position: absolute; 
     left: 0; top: 0; 
     width: 100%; height: 100% } 

     .specific-image 
     { background-image: url(/path-to/image.jpg); 
     width: 300px; height: 150px } 
    </style> 

    <figure class="specific-image"> 
     <img itemprop="image" src="/path-to/image.jpg" width="150" height="150" alt="image"> 
    </figure> 

</div> 

リソースは同じURLパスであり、追加のHTTPリクエストがないため、一度だけダウンロードされます。

+0

ページのレンダリングが遅くなります。 – chovy

+0

@chovyコンテンツの場合、ページの読み込み速度は意味的意味で否定されます。それが純粋に視覚的であれば、それはとにかくCSSでなければなりません。あなたが大きな画像/大量の画像を持っていない限り、ページのレンダリングのスピードは目立たなくなります。その場合、それに対応する方法があります。 – darcher

関連する問題