2010-08-13 14 views
7

क्या आईई 6 में <hr> तत्व पर सीमा से छुटकारा पाने का कोई तरीका नहीं है, इसे किसी अन्य तत्व में लपेटने के बिना? दुर्भाग्यवश, एक और आवश्यकता हैक नहीं है।आईई 6 में <hr> टैग अदृश्य बनाते हैं?

मैं जैसे सीमा स्टाइल से सभी ब्राउज़रों के लिए यह करने के लिए प्रबंधित किया है:

hr.clear { 
    clear: both; 
    border: 1px solid transparent; 
    height: 0px; 
} 

फिर भी IE6 अभी भी एक 1 पिक्सेल सफेद रेखा बना देता है।

+2

क्यों सीमा नहीं: कोई नहीं? मुझे लगता है कि यह आईई 6 पर भी काम करता है। – zneak

+0

उपरोक्त दोनों समाधान सभी आईई ब्राउज़र में 1-पीएक्स लाइन छोड़ देते हैं। मैं विंडोज पर आईईटीस्टर और आईई 8 के साथ परीक्षण कर रहा हूं। – montrealist

उत्तर

10

display: none काम नहीं करता है क्योंकि आप तत्व प्रवाह से <hr> को पूरी तरह से हटा रहे हैं। इससे आपके फ्लोट को साफ़ करना बंद हो जाता है।

यदि आप इसे पूरी तरह छिपाने के साथ ठीक हैं, तो बस इसके बजाय visibility: hidden का उपयोग करें। यह अभी भी फ्लोट को साफ़ करेगा, और यह सभी आईईएस पर काम करता है:

hr { 
    clear: both; 
    visibility: hidden; 
} 
+0

बैंग ऑन। धन्यवाद! – montrealist

+0

स्पष्ट: दोनों मेरे लिए एक जरूरी था, दृश्यता: छुपा केवल काम नहीं किया .. –

1

कैसे इस बारे में:

http://blog.neatlysliced.com/2008/03/hr-image-replacement/

+0

हाँ, मैंने यह देखा। लेकिन मुझे एक छवि की आवश्यकता नहीं है, मुझे बस इसे अदृश्य होने की आवश्यकता है। – montrealist

+0

.. 'डिस्प्ले: कोई नहीं;' इसे सिर्फ छुपाएगा और 1px लंबवत स्थान होगा जो पोस्टर चाहता है। – Hristo

+0

मुझे इसे छिपाने की जरूरत नहीं है बल्कि केवल इसकी सीमा से छुटकारा पाने की आवश्यकता है। मुझे इसे एक समाशोधन तत्व के रूप में चाहिए। इसलिए, 'प्रदर्शन: कोई नहीं' एक विकल्प नहीं है। – montrealist

1

तो समस्या यह है कि आईई "सीमाओं" के रूप में <hr> सीमाओं पर विचार नहीं करता है। यदि आप

border: 1px #f0f solid; 

सेट करें ... यह मौजूदा bevelled सीमा के आसपास एक fuchsia सीमा जोड़ देगा। सौभाग्य से, फ़ायरफ़ॉक्स और आईई 8 इसे प्रस्तुत करते हैं और महसूस करते हैं कि border: 0; का मतलब है कि मैं सीमा नहीं चाहता हूं। दुर्भाग्यवश, आईई 7 और निचले संस्करण ऐसा नहीं करते हैं।

तो अपने प्रश्न ... कोई जवाब देने के लिए ... वहाँ एक एक और तत्व में यह लपेटकर या यह हैकिंग (मैं हेवन के बिना एक तरह से IE6में <hr> तत्व पर सीमा से छुटकारा पाने के लिए नहीं है मेरे अनुभव से ऐसा करने का कोई तरीका नहीं मिला)।

आपके विकल्प या तो में <div> में लपेटते हैं, यदि आपके पास ठोस पृष्ठभूमि रंग है, तो color संपत्ति को पृष्ठभूमि रंग के लिए सेट करें, या पृष्ठभूमि के लिए छवियों का उपयोग करें।

विकल्प 1:

<div style="height:1px; background: transparent;"> 
    <hr style="display:none;" /> 
</div> 

विकल्प 2:

hr.clear { 
    border: 0 none; 
    height: 1px; 
    color: #ffffff; /* if your bg is white, otherwise choose the right color */ 
} 

विकल्प 3 ... इस बाहर की जाँच: http://blog.neatlysliced.com/2008/03/hr-image-replacement/

क्षमा करें कि IE (पुराने संस्करणों) द्वारा अदा नहीं करता है नियम। आशा है कि ये आपकी मदद करेगा।

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