2014-09-29 6 views
9

क्षमा करें अगर यह एक बेवकूफ सवाल है, लेकिन तथ्य यह है कि मुझे इसके बारे में कोई जानकारी नहीं है।आईएमजी तत्व की चौड़ाई, ऊंचाई विशेषताओं के लिए प्रतिशत का उपयोग करने के क्या परिणाम हैं?

मैं किसी तरह HTML पन्नों में एक img तत्व यह है कि w3schools.com से इस वाक्य देखा (यह एक img तत्व में width स्थापित करने की बात कर रहा है) की स्थिति को खोजने के लिए खोज रहा था:

HTML 4.01 में, चौड़ाई पिक्सेल में या युक्त तत्व के% में परिभाषित किया जा सकता है। एचटीएमएल 5 में, मान पिक्सल में होना चाहिए।

यह कहता है कि चौड़ाई विशेषता को पिक्सल में प्रतिशत में सेट किया जाना चाहिए। लेकिन प्रतिशत का उपयोग करते समय मेरी समस्या को हल करना कहीं अधिक आसान था। मैंने प्रतिशत का उपयोग किया और FireFox, Chrome, और IE के नवीनतम संस्करणों में परिणाम की जांच की। सब ठीक थे।

अब, मेरा सवाल यह है कि प्रतिशत (एचटीएमएल 5 निर्देशों के बावजूद) का उपयोग करने के बुरे नतीजे क्या हैं, जबकि यह वास्तव में ठीक काम करता है? हमें किसके बारे में परवाह करना चाहिए और हमें क्या नहीं करना चाहिए?

स्थिति को पढ़ने और स्पष्ट करने के लिए आपको बहुत बहुत धन्यवाद।

+4

कृपया ध्यान दें कि w3schools में अक्सर इसकी साइट पर सामानों के बारे में गलत जानकारी होती है और यह ठीक से सीखने के लिए एक खराब संसाधन है। प्रतिशत चौड़ाई का उपयोग न करने का कोई कारण नहीं है (और इसका उपयोग उत्तरदायी डिज़ाइन के साथ बहुत अधिक किया जाता है): https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img। एकमात्र चीज जो मैं कहूंगा वह प्रतिशत की चौड़ाई के साथ प्रतिशत की चौड़ाई का उपयोग नहीं करती है क्योंकि आपका पहलू अनुपात – Pete

+1

खो सकता है लेकिन ध्यान दें कि इस छवि की ऊंचाई के बारे में मोज़िला और w3schools दोनों के बारे में अधिक जानकारी या कारणों के बिना समान कह रहे हैं। –

+1

मेरी धारणा यह है कि एचटीएमएल 5 द्वारा छवियों के पहलू अनुपात की गणना और समायोजन करने का ख्याल रखेगा। और इसके लिए, पिक्सेल में चौड़ाई को प्राथमिकता दी जाती है और प्रतिशत में नहीं। –

उत्तर

3

सीएसएस की बजाय HTML में छवि आयाम देने का मुख्य कारण यह है कि उपयोगकर्ता एजेंट (ब्राउज़र) छवि के लिए पृष्ठ में उचित मात्रा में स्थान छोड़ सकता है, जबकि ब्राउजर इसके लिए प्रतीक्षा कर रहा है भार। यदि छवि का आकार सेट नहीं किया जाता है, तो छवि को डाउनलोड होने के बाद ब्राउज़र को पृष्ठ को फिर से प्रस्तुत करना होगा - और पृष्ठ पर प्रत्येक आगामी छवि के लिए फिर से ऐसा करना होगा।

उन कारणों के लिए, प्रदर्शनकारी मार्कअप इस संस्करण में एचटीएमएल से हटा दिया गया:

WHATWG HTML5 डॉक्स presentational markup पर अनुभाग में निम्न राज्य। यह परिवर्तन आश्चर्यचकित नहीं होना चाहिए; एचटीएमएल 4 ने कई साल पहले प्रस्तुतिकरण मार्कअप को हटा दिया और लेखकों को प्रस्तुतित्मक मार्कअप से दूर जाने में मदद करने के लिए एक मोड (एचटीएमएल 4 संक्रमण) प्रदान किया; बाद में, एक्सएचटीएमएल 1.1 आगे बढ़ गया और उन सुविधाओं को पूरी तरह से अप्रचलित कर दिया।

मैं, ग्रहण करेंगे कि चूंकि प्रतिशत मान तत्व है, जिसमें एक छवि निहित है के सापेक्ष हैं, वे प्रस्तुतिकरण माना जाता है, जबकि पिक्सेल आयाम पूर्ण कर रहे हैं और प्लेटफार्मों, उपयोगकर्ता एजेंटों, या देखने बंदरगाहों में अलग अलग नहीं होंगे ।

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

क्या आप अवैध वाक्यविन्यास का उपयोग करना चाहिए? खैर, आप कर सकते हैं, लेकिन इसके लिए डाउनसाइड्स हैं: अमान्य तत्वों का अप्रत्याशित ब्राउज़र प्रतिपादन, खराब ब्राउज़र प्रदर्शन, क्रॉस-ब्राउज़र संगतता समस्याएं, संभावित सुरक्षा चिंताओं और बहुत कुछ। वहां यह भी ज्ञान है कि एचटीएमएल पेडेंट्स हैं जो आपके सिंटैक्स को देख रहे हैं जैसे कुत्ते ने कुछ फेंक दिया है। आखिरकार, यदि आप कुछ सही तरीके से कर सकते हैं - अपने सीएसएस में अपनी प्रतिशत चौड़ाई निर्दिष्ट नहीं करते हैं, तो अपने एचटीएमएल में नहीं - मुझे कुछ गलत करने में कोई बात नहीं दिखती है क्योंकि ब्राउजर जिस पर आपने इसे आजमाया है, अभी भी प्रस्तुत करेगा पन्ना।

जैसा कि मेरी टिप्पणी में उल्लेख किया गया है, छवि चौड़ाई और ऊंचाई को विभिन्न अलग-अलग इकाइयों - पिक्सल, ईएमएस, रीम्स, प्रतिशत, सेंटीमीटर, इंच इत्यादि का उपयोग करके सीएसएस में निर्दिष्ट किया जा सकता है - css measurement units @ w3.org देखें।

+0

इस महान उत्तर के लिए आपको बहुत अधिक 'अलार्मेड एलियन' धन्यवाद। आपके द्वारा उल्लिखित सभी कारणों में से एक को विशेष रूप से 'एचटीएमएल पेडेंट्स' मुद्दे से सावधान रहना चाहिए! – Ormoz

2

हाय जो मैंने पाया वह आपकी धारणा सही है लेकिन इसे स्पष्ट करने के लिए इसे स्वयं आज़माएं। W3 validator

के आधार पर आप इस कोड को पार कर लेते हैं:

<img src="http://placehold.it/350x150" alt=" " width="100%" height="100%"> 

आपको एक त्रुटि तत्व img पर विशेषता चौड़ाई के लिए

खराब मान 100% मिलता है: एक अंकों की उम्मीद, लेकिन इसके बजाय% देखा था।

लेकिन अगर आप इस

<img src="http://placehold.it/350x150" alt=" " width="350" height="150"> 

सभी ठीक है मिलता है, तो विनिर्देश है कि आप खुद को टैग में प्रतिशत को परिभाषित नहीं कर सकते, लेकिन आप सीएसएस के साथ क्या कर सकते हैं।

+0

हाय, मैंने क्रोम में पहला कोड चिपकाया। यह छवि प्रदर्शित किया। और, खिड़की का आकार बदलते समय पहलू अनुपात रखा। – Ormoz

+1

हाँ कोड चलाया गया है ... लेकिन यह अवैध कोड है। @Ormoz ऐसा है कि आप एक से अधिक तत्वों के साथ एक दस्तावेज़ चला सकते हैं, लेकिन अभी भी गलत कोड है, यह भविष्य में कई मुद्दों को पेश कर सकता है ..... फिर आप क्लीनर कोड प्राप्त करने के लिए सत्यापनकर्ता का उपयोग कर सकते हैं टैग पर बस गलत है खुद ही इसे सीएसएस के साथ सेट करें। – DaniP

+0

धन्यवाद, ठीक है यह गलत है, लेकिन क्या गलत कोड लिखना गलत है ?! – Ormoz

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

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