मैंने कहीं पढ़ा है कि <img>तत्व दोनों की तरह व्यवहार करता है। यदि सही है, तो क्या कोई उदाहरण के साथ समझा सकता है?
मैंने कहीं पढ़ा है कि <img>तत्व दोनों की तरह व्यवहार करता है। यदि सही है, तो क्या कोई उदाहरण के साथ समझा सकता है?
जवाबों:
यह सच है, वे दोनों हैं - या अधिक सटीक रूप से, वे "इनलाइन ब्लॉक" तत्व हैं। इसका मतलब है कि वे पाठ की तरह इनलाइन प्रवाह करते हैं, लेकिन इसमें ब्लॉक तत्वों की तरह चौड़ाई और ऊंचाई भी होती है।
CSS में, आप display: inline-blockइसे छवियों के व्यवहार को दोहराने के लिए एक तत्व सेट कर सकते हैं *।
छवियों और वस्तुओं को "प्रतिस्थापित" तत्वों के रूप में भी जाना जाता है, क्योंकि उनके पास प्रति सामग्री नहीं है, तत्व अनिवार्य रूप से द्विआधारी डेटा द्वारा प्रतिस्थापित किया जाता है।
* ध्यान दें कि ब्राउज़र तकनीकी display: inlineरूप से उपयोग करते हैं (जैसा कि डेवलपर टूल में देखा गया है) लेकिन वे छवियों को विशेष उपचार दे रहे हैं। वे अभी भी सभी लक्षणों का पालन करते हैं inline-block।
imgतत्व inline-blockवास्तव में inlineतत्व नहीं हैं। आप एक आधुनिक ब्राउज़र में एक छवि पर राइट क्लिक करके, "निरीक्षण तत्व" पर क्लिक करके, फिर गणना की गई शैली को देख सकते हैं, जो दिखाएगा display: inline। टैग के अंदर कोई ब्लॉक संदर्भ नहीं है, इसलिए इसे कॉल करना सही नहीं है inline-block। प्रतिस्थापित इनलाइन तत्वों के बारे में अधिक जानकारी के लिए क्वेंटिन का उत्तर और यह एमडीएन लेख देखें ।
imgतत्व इनलाइन हैं - Google Chrome देव उपकरण imgइनलाइन होने के रूप में तत्वों को दिखाते हैं। यह पोस्ट एकमात्र ऐसी जगह है जो मैंने अब तक पाई है जो कहती है कि वे inline-blockइसके बजाय हैं। दिलचस्प बात यह है कि मुझे ऐसा कोई अधिकार नहीं मिला है जो कहता हो कि वे inlineया तो हैं। क्या टैग कार्यान्वयन-निर्भरता का इलाज करना है, शायद?
display:inline-block।
एक imgतत्व एक प्रतिस्थापित इनलाइन तत्व है ।
यह एक इनलाइन तत्व की तरह व्यवहार करता है (क्योंकि यह है), लेकिन इनलाइन तत्वों के बारे में कुछ सामान्यीकरण तत्वों पर लागू नहीं होते imgहैं।
जैसे
सामान्यीकरण: "चौड़ाई इनलाइन तत्वों पर लागू नहीं होती है"
वास्तव में कल्पना क्या कहती है : "इस पर लागू होता है: सभी तत्व लेकिन गैर-प्रतिस्थापित इनलाइन तत्व, तालिका पंक्तियाँ, और पंक्ति समूह"
चूंकि एक छवि एक प्रतिस्थापित इनलाइन तत्व है, यह लागू होता है।
लगभग सभी उद्देश्यों के लिए, उन्हें एक चौड़ाई सेट के साथ एक इनलाइन तत्व के रूप में सोचते हैं। मूल रूप से आप यह निर्धारित करने के लिए स्वतंत्र हैं कि आप सीएसएस का उपयोग करके चित्र कैसे प्रदर्शित करना चाहते हैं मैं आमतौर पर कुछ इमेज क्लासेस सेट करता हूँ जैसे:
img.center {display:block;margin:0 auto;}
img.left {float:left;margin-right:10px;}
img.right {float:right;margin-left:10px;}
img.border {border:1px solid #333;}
यह सच है, वे दोनों हैं - या अधिक सटीक रूप से, वे "इनलाइन ब्लॉक" तत्व हैं। इसका मतलब है कि वे पाठ की तरह इनलाइन प्रवाह करते हैं, लेकिन इसमें ब्लॉक तत्वों की तरह चौड़ाई और ऊंचाई भी होती है।