2012-02-07 17 views
19

इस तकनीक का उपयोग करने में पहली बार ऐसा लगता है कि इस बात पर ध्यान दिए बिना कि सीमा को असाइन करने का मैं कौन सा गुण क्रोम में नहीं जाऊंगा। अन्य ब्राउज़र्स ठीक हैं। मैंने रूपरेखा की कोशिश की है: कोई नहीं, सीमा: 0; आदि, आदि। छवि के चारों ओर एक रंगीन सीमा जोड़ने की भी कोशिश की, और देखा कि काला सीमा अभी भी रंगीन सीमा के भीतर थी। ऐसा नहीं लगता है कि दूर जाना है।क्रोम में स्प्राइट छवि के चारों ओर सीमा हटाएं

कार्य-आसपास या सलाह की बहुत सराहना की गई।

.share-link { 
display: block; 
width: 41px; 
height: 32px; 
text-decoration: none; 
background: url("link-icon.png"); 
} 

.share-link:hover { 
background-position: -41px 0; 
} 


<a title="Share this Link" href="#"><img class="share-link"></a> 
+0

पूछने के लिए खेद है, लेकिन क्या काला सीमा दुर्घटना से छवि का हिस्सा हो सकती है? – kapa

+0

कृपया एक jsfiddle उदाहरण दें। – Christoph

+0

@bazmegakapa बिल्कुल मेरे विचार, शायद छवि 41x32px से छोटी है ... – Christoph

उत्तर

37

ऐसा इसलिए है क्योंकि आप img टैग का उपयोग कर src विशेषता के साथ उपयोग कर रहे हैं। क्रोम अनिवार्य रूप से कंटेनर के आकार को इंगित करता है जिसमें कुछ भी नहीं है।

यदि आप एंकर टैग के बीच कोई छवि नहीं रखना चाहते हैं, तो छवि टैग का उपयोग न करें। टैग के बीच कुछ भी रखना जरूरी नहीं है।

Demo here.

+0

आह .. ठीक है। यह कुछ समझ में आता है। –

+0

+1 बिल्कुल वही जो मैंने लिखना शुरू किया। या तो 'img', या 'पृष्ठभूमि-छवि' सेट वाले किसी अन्य तत्व का उपयोग करें। [एसओ पर अधिक] (http://stackoverflow.com/questions/4335957/using-sprites-with-img-tag/4336431#4336431)। ओपी के उदाहरण में, 'पृष्ठभूमि-छवि' को 'ए' पर निर्दिष्ट किया जाएगा। – kapa

+1

सही स्कॉट काम करता है। जानकारी के लिए धन्यवाद :) मुझे यकीन है कि कई लोगों को यह उपयोगी लगेगा। चीयर्स। –

1

अपने पूछ तो सीमा जो तब onFocus को सक्रिय करता है से छुटकारा पाने के:

*:focus {outline: none;} 

या

.nohighlight:focus { outline:none; } 

इस सीमा से छुटकारा पाने चाहिए।

+2

फोकस की परवाह किए बिना सीमा है। यह स्थिर रहता है। –

+0

यह भी अर्थात् के लिए काम करता है। – enkor

2

यह एक क्रोम बग, अनदेखी है "सीमा: कोई नहीं;" अंदाज।

मान लें कि आपके पास एक छवि "डाउनलोड-बटन-102x86.png" है जो आकार में 102x86 पिक्सल है। अधिकांश ब्राउज़रों में, आप उस आकार को इसकी चौड़ाई और ऊंचाई के लिए आरक्षित करेंगे, लेकिन क्रोम बस वहां एक सीमा को चित्रित करता है, इससे कोई फर्क नहीं पड़ता कि आप क्या करते हैं।

तो आप क्रोम को यह सोचने के लिए चालित करते हैं कि वहां कुछ भी नहीं है - 0px द्वारा 0px का आकार, लेकिन बटन के लिए अनुमति देने के लिए बिल्कुल सही "पैडिंग" के साथ। यहां एक सीएसएस आईडी ब्लॉक है जिसका उपयोग मैं इसे पूरा करने के लिए कर रहा हूं ...

#dlbutn { 
    display:block; 
    width:0px; 
    height:0px; 
    outline:none; 
    padding:43px 51px 43px 51px; 
    margin:0 auto 5px auto; 
    background-image:url(/images/download-button-102x86.png); 
    background-repeat:no-repeat; 
} 

व्हायोला! हर जगह काम करता है और क्रोम में रूपरेखा/सीमा से छुटकारा पाता है।

+0

2015 और यह अभी भी क्रोम और आईई 10 में पूरी तरह से काम करता है। धन्यवाद – BrianLegg

-2

डिफ़ॉल्ट रूप से किसी भी लिंक में लिपटे किसी भी छवि में छवि के चारों ओर एक सीमा होगी (जिस तरह से टेक्स्ट रेखांकित किया गया है)। सीमा निकाला जा रहा है सरल

a image {border: none} or a image {border: 0} 

है जब से मैं कभी नहीं छवि लिंक के चारों ओर बॉर्डर देखने के लिए मैं आमतौर पर हर साइट पर ऊपर सेट मैं विकसित

+0

यह विकृत सीएसएस है। सही चयनकर्ता 'img'' छवि नहीं है – Scott

+0

गलत सीएसएस चयनकर्ता, और गलत उत्तर। उनकी समस्या संपत्ति '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' इस पर। –

7

आप एक बेस 64 बहुत छोटी पारदर्शी छवि का उपयोग कर सकते हैं

<img class="share-link" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"/> 
+0

सरल, इस तरह, – oCcSking

0

मेरी बेस 64 एम्बेडेड छवियां इसके चारों ओर एक भूरे रेखा को दिखाती रहती हैं इससे कोई फर्क नहीं पड़ता कि मैंने क्या किया। <img> के बजाय <div> का उपयोग करना मेरे लिए काम करता है।

(गलत) इससे पहले कि मैं प्रयोग किया है:

<img class='message-bubble-small'> 

सीएसएस में:

img.message-bubble-small { 
    background-image: url(data:image/png;base64,...); 
    background-size: 16px 16px; 
    width: 16px; 
    height: 16px; 
    float: left; 
} 

के बाद मैं प्रयोग किया है:

HTML में

मैं n HTML:

<div id='message-bubble-small'> 
सीएसएस में

:

#message-bubble-small { 
    background-image: url(data:image/png;base64,...); 
    background-size: 16px 16px; 
    width: 16px; 
    height: 16px; 
    float: left; 
} 
पिछले उदाहरण मैं क्रोम में कोई और अधिक ग्रे लाइनों है साथ

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