77

में काम नहीं करता है मेरे पास यह सीएसएस कोड inline-block है। क्या कोई मुझे बता सकता है कि इसे इंटरनेट एक्सप्लोरर 6 और 7 में कैसे काम करना है। कोई विचार? शायद मैं कुछ गलत कर रहा हूँ? धन्यवाद!इनलाइन ब्लॉक इंटरनेट एक्सप्लोरर 7, 6

#signup { 
    color:#FFF; 
    border-bottom:solid 1px #444; 
    text-transform:uppercase; 
    text-align:center; 
} 
#signup #left { 
    display: inline-block 
} 
#signup #right { 
    background-image:url(images/signup.jpg); 
    border-left: solid 1px #000; 
    border-right: solid 1px #000; 
    display: inline-block; 
    padding:1% 2% 
    width:16%; 
} 
#signup #right a { font-size:100%; font-weight:bold } 
#signup #right p { font-size:90%; font-weight:bold } 
#signup a:hover { color:#FFF; text-decoration:underline } 

उत्तर

179

IE6/IE7 में, display: inline-block केवल तत्वों कि स्वाभाविक रूप से इनलाइन (जैसे span रों) कर रहे हैं पर काम करता है।

यह इस तरह div रों जैसे अन्य तत्वों पर काम करने के लिए, आप इस की जरूरत है:

#yourElement { 
    display: inline-block; 
    *display: inline; 
    zoom: 1; 
} 

*display: inlineonly IE7 and lower को लागू करने के लिए एक "सुरक्षित" सीएसएस हैक उपयोग करता है।

आईई 6/7, zoom: 1hasLayout प्रदान करता है। हमेशा काम करने के लिए "लेआउट" display: inline-block के लिए एक पूर्व शर्त है।

मान्य सीएसएस रखने के दौरान इस कामकाज को लागू करना संभव है, लेकिन यह वास्तव में सोचने योग्य नहीं है, खासकर यदि आप पहले से ही किसी विक्रेता विक्रेता से पहले से उपयोग कर रहे हैं।

अधिक जानकारी के बारे में display: inline-block के लिए Read this (लेकिन -moz-inline-stack के बारे में भूल जाते हैं, कि केवल अब प्राचीन फ़ायरफ़ॉक्स 2 के लिए आवश्यक था)।

+0

मैंने पढ़ा है (लेकिन परीक्षण नहीं कर सकता) कि आपको '_height: ### px' भी सेट करना चाहिए, जिसे केवल आईई 6 और नीचे समझा जाता है। मान लीजिए कि आप अभी भी ऐसे ब्राउज़र की परवाह करते हैं जो आधिकारिक तौर पर मृत है, यानी। – Blazemonger

+0

कभी-कभी इसे डिस्प्ले की आवश्यकता होती है: इनलाइन \ 9; आईई 8 में काम करने के लिए। – Somebody

+1

इस समस्या के आस-पास एक अच्छा लेख, फ़ायरफ़ॉक्स 2 और आईई 5.5 और 6 को भी कवर करता है: http://blog.mozilla.org/webdev/2009/02/20/cross-browser-inline-block/ – sshow

2

*display:inlineआईई 7 हैक के रूप में ठीक काम करता है। लेकिन, आप *background:#fff; *display:inline; zoom:1 के रूप में कोड में zoom:1 जोड़ सकते हैं। यहां, आप अपना पृष्ठभूमि रंग कोड डाल सकते हैं। कभी-कभी, आपको स्क्रीन पर लेआउट नहीं दिखाई देगा, उदाहरण के लिए, सूची-आइटम स्क्रीन पर दिखाई नहीं देंगे। फिर, ऐसे मामलों में यह बहुत अच्छा काम करता है और ऐसा लगता है जैसे यह अन्य ब्राउज़रों में करता है।

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