2016-06-17 5 views
0

私のサイトでは、拡大できるような大きな画像がある場合は、その下に拡大鏡があり、容器の高さに30pxを追加します。だから、もし画像の中には大きな画像がないページがあれば、サムネイルはすべて不均一に見えるでしょう。兄弟の子供のためのCSSセレクター

HTMLマークアップ -

<div class="parent"> 
    <a class="itemImage"> 
     <img src="someImage.jpg"/> 
    </a> 
    <a class="magnify"> <!-- This element is only generated if a larger image is available --> 
     <img class="itemEnlarge" src="magnifyingGlass.jpg"/> 
    </a> 
</div> 

だからここに `someImage.jpgの最大次元です - 拡大鏡付き

  • :拡大鏡なしのx 100pxに200pxの(幅x高)
  • : 200px x 130px(WxH)

の高さに設定できますか要素が生成されたかどうかに基づいてを返しますか?

私はこれを試しましたが、正直なところ、これがCSSプロパティをどのように適用するのか分かりません。

.parent .itemImage + a .itemEnlarge{max-height: 100px;} 
+1

いいえ、以前の兄弟(またはその子孫)をCSSで選択することはできません。 DOM内の参照要素の後ろにある兄弟だけを選択できます。 – Harry

+1

http://stackoverflow.com/questions/1817792/is-there-a-previous-sibling-css-selector – j08691

+0

「.magnify」要素は、より大きな画像が利用可能な場合にのみ生成されると言います。これはサーバー上で行われますか? – hungerstar

答えて

0

class = "parent"に相対的な位置を設定し、absoluteの位置をa.magnifyに設定してみてください。 Positioning Absoluteはスペースを必要とせず、必要な場所を左、右、上、下に配置することができます。これにより、拡大鏡の有無にかかわらず、高さが同じになります。それがうまくいかない場合は、見るために私のためにフィドルを送ってください。

+0

@Robが提案しているものの[ここに例があります](https://jsfiddle.net/hungerstar/nv4jhtjf/)。 – hungerstar

関連する問題