2013-03-21 30 views
6

मुझे कुछ div थंबनेल छवियां मिलीं। क्या कोई तरीका है कि मैं थंबनेल छवि पर थंबनेल छवि पर प्ले आइकन डाल सकता हूं, केवल अंगूठे के केंद्र (मेरी थंबनेल छवियों में आइटम इमेज का वर्ग नाम है) सीएसएस का उपयोग करके (मेरे प्ले आइकन में क्लास नाम ओवरलेइकॉन है)?वीडियो थंबनेल छवि पर एक प्ले बटन ओवरले कैसे करें?

<div class="ItemLeft"> 


    <div class="Clipping">   
    <a class="ImageLink" href="/videos/id8" title="galaxy"> 
     <img class="ItemImage" src="/Images/video8.jpg" alt="video 8" /> 
     <img class="OverlayIcon" src="/Images/1.png" alt="" /> 
    </a> 
    <a class="DurationInfo" onmouseover="showDuration2(this);" onmouseout="hideDuration2(this);" href="/videos/id1234"><span class="Text">51:57</span></a> 
    </div> 

    <div class="Title"><a href="/videos/id8" title="galaxy">galaxy</a></div> 

    <div class="VideoAge">1 daybefore</div> 

    <div class="PlaysInfo"> broadcast 265</div> 

</div> 

मेरी सीएसएस:

.Item.ItemLeft, .Item.ItemMiddle, .Item.ItemRight 
{ 
    float:left; 
    margin-right:15px; 
} 
.clear 
{ 
    clear:both; 
} 


img.ItemImage { 
    width: 18em; 
    height: 10em; 
} 


.OverlayIcon { 
    position: absolute; 
    top: 40px; 
    left: 65px; 
} 

उत्तर

5

आप अपने .OverlayIcon पर position: absolute का उपयोग कर सकते हैं।

.ImageLink { 
    height: 300px; 
    width: 350px; 
    position: relative; 
    display: block; 
} 
.ItemImage { 
    height: 300px; 
    width: 350px; 
} 
.OverlayIcon { 
    position: absolute; 
    top: 40px; 
    left: 65px; 
} 

कार्य उदाहरण: http://jsfiddle.net/shodaburp/9nEua/

अद्यतन user1788736 की पहली टिप्पणी

ऊपर समाधान तभी काम करता है सभी ऊंचाइयों ही और निर्धारित हैं के आधार पर उदाहरण के लिए। इसके बाद आपको अपने playButton.png आयाम की ऊंचाई के आधार पर top और left मान समायोजित करने की आवश्यकता होगी।

यदि आप वर्तमान में जो कुछ भी है (एचटीएमएल, सीएसएस, jQuery) के जेएसफ़िल्ड प्रदान कर सकते हैं तो स्थिति को और अधिक सटीक समायोजित करना आसान है।

अद्यतन user1788736 की दूसरी टिप्पणी के आधार पर

मैं एक ही आकार की है कि मेरे सर्वर पर एक डमी छवि (56px एक्स 37px) अपलोड की गई। "? W और ज overlayicon के लिए मूल्यों को खोजने के लिए कैसे" http://jsfiddle.net/shodaburp/k6yAQ/1/

अतिरिक्त जानकारी user1788736 की तीसरी टिप्पणी

जब आप कहते हैं कि के आधार पर: यहाँ अपने बेला के अद्यतन संस्करण है मुझे लगता है कि आप वास्तव में top और left.OverlayIcon के लिए मूल्य की तलाश में हैं। अगर मैं गलत हूं तो मुझे सही करो।

सबसे पहले, यदि आप अपनी साइट पर कोई फ़ंक्शन नहीं करना चाहते हैं जो ज़ूमिंग/विस्तार को सक्षम बनाता है, तो छवियों के लिए इकाई माप के रूप में बस px के साथ चिपके रहें।

आपके जेएसफ़ील्ड अंगूठे आयाम के आधार पर, 12em x 10em192px x 160px के बराबर है।

OverlayIconTop = (ItemImageHeight - OverlayIconHeight)/2 
OverlayIconTop = (160 - 37)/2 = 61.5 

(61 या 62 के दौर के बाद से हम पिक्सल के लिए दशमलव नहीं हो सकता)

OverlayIconLeft = (ItemImageHeight - OverlayIconHeight)/2 
OverlayIconLeft = (192 - 56)/2 = 68 
+1

यहां यह पहेली है कि मैं उन लाल प्ले आइकन को प्रत्येक अंगूठे के बीच में चाहता हूं। Http://jsfiddle.net/k6yAQ/ – user1788736

+0

क्या आप प्ले बटन छवि अपडेट कर सकते हैं? यह प्रतिबंधित पहुंच के कारण दिखाई नहीं दे रहा है। "403 निषिद्ध"। यदि नहीं, तो छवि आयाम क्या है? – kyooriouskoala

+0

मुझे नहीं पता कि यह आपकी तरफ क्यों नहीं दिखाता है लेकिन आयाम है: 56 पीएक्स × 37 पीएक्स। क्या कोई अन्य छवि होस्टिंग है जिसे मैं वहां अपलोड कर सकता हूं? – user1788736

1

आप पृष्ठभूमि के रूप में थंबनेल छवि बना सकते हैं और फिर इस पर प्ले बटन छवि है, तो आप भी एक ब्लॉक के रूप में एक विशेषता को परिभाषित करने और पूरे कर सकते हैं क्षेत्र क्लिक करने योग्य

2
.container{ 
    position: relative; 
    width: 200px; 
} 

.container img{ 
    width: 200px; 
} 

.container .play-icon{ 
    cursor: pointer; 
    position: absolute; 
    top : 50%; 
    left : 50%; 
    transform: translate(-50%, -50%); 
} 

svg:hover #play-svg{ 
    fill: #CC181E; 
} 
:

सूत्र .OverlayIcon के लिए top और left मूल्यों को प्राप्त करने के लिए इस प्रकार है

[svg का उपयोग कर कार्य उदाहरण] http://jsfiddle.net/4L2xea4u/

+0

अच्छी तरह से काम करता है, हालांकि मेरे पास थंबनेल की एक सूची है जो पहले होवर के लिए काम करता है, लेकिन बाकी एक ही पहचानकर्ता को साझा करेंगे, वे होवर ओवर नहीं करते हैं, किसी भी प्रकार के लूप की आवश्यकता होती है? – GAV

+0

@Gav चेंज आईडी = "play-svg" क्लास = "play-svg" html पर और svg: होवर # play-svg {to svg: होवर .play-svg { – egiray

0

मैं सिर्फ एक उत्तरदायी लेआउट के लिए इस समस्या के साथ कुश्ती और this demo भर में आया और यह अद्भुत काम किया।

संबंधित मुद्दे