बहुत समय पहले CSS3 जेनरेटेड कंटेंट स्पेक का एक मसौदा था जिसने content
संपत्ति for any HTML element (न केवल :: :: छद्म-तत्वों के बाद/::) को खाली या प्रतिस्थापित तत्वों के लिए औपचारिक प्रतिबंध के बिना अनुमति दी थी। इसे एक बार ओपेरा प्रेस्टो (1, 2) और कम से कम कुछ हद तक वेबकिट (3) द्वारा समर्थित किया गया था। 2011 के अंत तक, content
के लिए content
के वेबकिट के कार्यान्वयन को प्रभावी रूप से इसे खाली स्थान से तत्व में बदलने के लिए span
(यहां तक कि इसके संदर्भ मेनू को बदल दिया गया है, 'छवि को इस रूप में सहेजें ...') जैसे विकल्पों को हटाया गया है। इसने img::before
जैसे छद्म तत्वों को लागू करना भी संभव बना दिया।वेबकिट में 'img` तत्व के लिए सीएसएस की सामग्री' संपत्ति कैसे काम करती है?
वर्तमान ब्लिंक (क्रोम इत्यादि) कार्यान्वयन में, content
संपत्ति img
तत्व पर कोई प्रभाव नहीं पड़ता है। लेकिन img
तत्व स्पष्ट रूप से अलग-अलग संरचना के आधार पर अलग-अलग संरचना है या नहीं: यदि लोड किया गया है, तो यह डीओएम इंस्पेक्टर द्वारा एक साधारण खाली तत्व के रूप में दिखाया गया है, लेकिन यदि टूटा हुआ है, तो यह आंतरिक छाया डोम संरचना को इस तरह प्रकट करता है:
<div id="alttext-container" style="overflow: hidden; border: 1px solid silver; display: inline-block; box-sizing: border-box; padding: 1px;">
<img id="alttext-image" width="16" height="16" align="left" style="margin: 0px; float: left; display: inline;">
<div id="alttext" style="overflow: hidden; display: block;">Alt text</div>
</div>
शायद क्योंकि टूटा img
छाया div
रों की मदद से प्रदर्शित किया जाता है, यह इस मामले केवल (4) में इसे करने के लिए छद्म तत्वों को लागू करना संभव है।
वर्तमान वेबकिट img
के लिए छद्म तत्वों का समर्थन नहीं करता है। लेकिन, दिलचस्प बात यह है कि कम से कम आईओएस 9.2.1 सफारी content
संपत्ति img
(5) के लिए संपत्ति सेट करने के बाद उनका समर्थन करना शुरू कर देती है।
यह संपत्ति इस तरह के परिवर्तन क्यों करती है? मुझे लगता है कि यदि एक खाली तत्व को कोई सामग्री (यहां तक कि जेनरेट) मिलती है, तो ब्राउज़र को इस सामग्री को प्रदर्शित करने के लिए कुछ प्रदान करना होगा, किसी तत्व के साथ प्रभावी तत्व को प्रभावी रूप से बदलना होगा (जैसे ब्लिंक की छाया div id="alttext-container"
), और इस कंटेनर में हो सकता है pseudos। क्या मै गलत हु? और यह व्यवहार नवीनतम वेबकिट संस्करणों से नहीं हटाया गया था?
दिलचस्प रूप से .. सफारी भी तत्वों को दिखाता है और अगर यह टूटा नहीं जाता है तो भी छवि नहीं दिखाता .. –
हां, ऐसा लगता है कि सफारी में यह 'सामग्री' संपत्ति है, लोड/टूटा हुआ राज्य नहीं है, जो 'img' तत्व के प्रतिपादन मॉडल को बदलता है। यह ब्लिंक के व्यवहार से अलग है। वैसे, क्या आपने इसे ओएस में परीक्षण किया एक्स सफारी? –
आश्चर्यजनक, इसे कहीं भी दस्तावेज नहीं मिला .. –