दिलचस्प पोस्ट
उप-वर्ग या समूह के साथ छोड़ दिया गया जिसके द्वारा एक तेज़ हो? जावा कर्सर प्रदर्शन समस्या की प्रतीक्षा करें क्या हम कंसल्टेंट्स के माध्यम से परिभाषित ऑब्जेक्ट का मान बदल सकते हैं? आईओएस 5 ट्विटर फ़्रेमवर्क: उपयोगकर्ता इनपुट और पुष्टि के बिना ट्वीटिंग (मोडल व्यू नियंत्रक) सीएसएस डिस्प्ले प्रॉपर्टी को डिफ़ॉल्ट वैल्यू पर रीसेट करें एक्सेस उल्लंघन त्रुटियों को डिबग करना? अनुपात को आर जीजीप्लोट में हिस्टोग्राम में वाई-अक्ष का सामान्यकरण पायथन में, मैं सूची में सभी वस्तुओं को फ़्लोट्स में कैसे रूपांतरित कर सकता हूं? फेसबुक कनेक्ट और एएसपी.नेट बूटस्ट्रैप बंद करें मेनू पर क्लिक करें "पर क्लिक करें" @ फोंट-फेस इंटरनेट एक्सप्लोरर 11 के विशिष्ट संस्करण के साथ काम नहीं कर रहा है JavaFX 2.0 का उपयोग करके कोड संकलित करें (कमांड लाइन का उपयोग कर) गोलंग: खराब प्रमाणपत्र के साथ एक https अनुरोध कैसे करें? Log4j.properties का स्थान बदलें त्रुटि: पैकेज 'com.google.example' main.xml में विशेषता 'adSize' के लिए कोई संसाधन पहचानकर्ता नहीं मिला

क्या मीडिया प्रश्नों को स्क्रीन के बजाय एक div तत्व के आधार पर आकार बदल सकता है?

मैं उन डिवा तत्वों के आकार के आधार पर तत्वों का आकार बदलने के लिए मीडिया प्रश्नों का उपयोग करना चाहूंगा। मैं स्क्रीन आकार का उपयोग नहीं कर सकता क्योंकि div का उपयोग केवल वेबपृष्ठ के विजेट के समान किया जाता है, और इसका आकार भिन्न हो सकता है

अद्यतन करें

ऐसा लगता है कि अब इस पर काम किया जा रहा है: http://responsiveimagescg.github.io/cq-usecases/

Solutions Collecting From Web of "क्या मीडिया प्रश्नों को स्क्रीन के बजाय एक div तत्व के आधार पर आकार बदल सकता है?"

नहीं, मीडिया प्रश्न एक पृष्ठ में मौजूद तत्वों के आधार पर काम करने के लिए डिज़ाइन नहीं किए गए हैं। वे उपकरणों या मीडिया प्रकारों के आधार पर काम करने के लिए डिज़ाइन किए गए हैं (इसलिए उन्हें मीडिया प्रश्नों को कहा जाता है) width , height , और अन्य आयाम-आधारित मीडिया सुविधाओं में सभी व्यूपोर्ट या स्क्रीन-आधारित मीडिया में डिवाइस की स्क्रीन के आयाम को दर्शाते हैं। उनका उपयोग किसी पृष्ठ पर एक निश्चित तत्व के संदर्भ में नहीं किया जा सकता है।

यदि आपको अपने पृष्ठ पर किसी विशिष्ट तत्व के आकार के आधार पर शैलियों को लागू करने की आवश्यकता है, तो आपको मीडिया प्रश्नों के बजाय उस div तत्व के आकार में परिवर्तनों को देखने के लिए जावास्क्रिप्ट का उपयोग करना होगा।

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

https://github.com/marcj/css-element-queries

एक आईफ्रेम के अंदर एक मीडिया क्वेरी एक तत्व क्वेरी के रूप में कार्य कर सकता है मैंने सफलतापूर्वक इसे लागू किया है विचार Zurb द्वारा उत्तरदायी विज्ञापन के बारे में हाल ही में एक पोस्ट से आया कोई जावास्क्रिप्ट नहीं!

यह वर्तमान में सीएसएस के साथ संभव नहीं है क्योंकि @ बोल्टक्लॉक ने स्वीकार किए गए उत्तर में लिखा था, लेकिन आप जावास्क्रिप्ट का उपयोग करके इसके आसपास काम कर सकते हैं।

मैंने इस तरह के मुद्दे को हल करने के लिए एक कंटेनर क्वेरी (उर्फ एलीमेंट क्वेरी) प्रोलिफिल बनाया है। यह दूसरी स्क्रिप्ट से थोड़ा अलग काम करता है, इसलिए आपको अपने तत्वों के HTML कोड को संपादित करने की आवश्यकता नहीं है। आपको बस इतना करना है कि स्क्रिप्ट शामिल है और इसे अपने सीएसएस में उपयोग करें जैसे:

 .element:container(width > 99px) { /* If its container is at least 100px wide */ } 

https://github.com/ausi/cq-prolyfill

प्रश्न बहुत अस्पष्ट है जैसे कि बोल्टक्लॉक कहते हैं, मीडिया प्रश्न केवल डिवाइस के आयामों को जानते हैं। हालांकि, आप समायोजन करने के लिए उतरने वाले चयनकर्ताओं के साथ संयोजन में मीडिया प्रश्नों का उपयोग कर सकते हैं।

 .wide_container { width: 50em } .narrow_container { width: 20em } .my_element { border: 1px solid } @media (max-width: 30em) { .wide_container .my_element { color: blue; } .narrow_container .my_element { color: red; } } @media (max-width: 50em) { .wide_container .my_element { color: orange; } .narrow_container .my_element { color: green; } } 

केवल अन्य समाधान के लिए जेएस आवश्यक है

मैं कुछ साल पहले एक ही समस्या में गया था और मेरे काम में मेरी मदद करने के लिए एक प्लगइन के विकास को वित्तपोषित किया था। मैंने प्लग-इन को ओपन-सोर्स के रूप में जारी किया है ताकि दूसरों को इसका लाभ मिल सके, और आप इसे गिथूब पर ले सकते हैं: https://github.com/eqcss/eqcss

कुछ तरीकों से हम पृष्ठ पर एक तत्व के बारे में हम क्या जानते हैं इसके आधार पर अलग-अलग प्रतिक्रियाशील शैली लागू कर सकते हैं। यहां कुछ तत्व प्रश्न हैं जो EQCSS प्लग इन आपको सीएसएस में लिखेंगे:

 @element 'div' and (condition) { $this { /* Do something to the 'div' that meets the condition */ } .other { /* Also apply this CSS to .other when 'div' meets this condition */ } } 

तो क्या स्थितियां ईक्यूसीएसएस के साथ उत्तरदायी शैली के लिए समर्थित हैं?

वजन प्रश्न

  • px में न्यूनतम चौड़ाई
  • % में न्यूनतम चौड़ाई
  • अधिकतम चौड़ाई px
  • % में अधिकतम-चौड़ाई

ऊँचाई प्रश्न

  • px में न्यूनतम ऊंचाई
  • % में न्यूनतम ऊंचाई
  • px में अधिकतम ऊंचाई
  • % में अधिकतम-ऊंचाई

प्रश्न पूछें

  • मिनट-वर्ण
  • अधिकतम-वर्ण
  • मिनट लाइनों
  • अधिकतम लाइनों
  • मिनट-बच्चों
  • अधिकतम-बच्चों

विशेष चयनकर्ता

ईक्यूसीएसएस तत्व प्रश्नों के अंदर आप तीन विशेष चयनकर्ताओं का उपयोग भी कर सकते हैं जो आपको अपनी शैली को और अधिक विशेष रूप से लागू करने की अनुमति देते हैं:

  • $this (क्वेरी से मेल खाने वाला तत्व)
  • $parent (क्वेरी से मेल खाने वाले तत्वों का मूल तत्व)
  • $root (दस्तावेज़ का मूल तत्व, <html> )

एलीमेंट क्वेरीज़ आपको व्यक्तिगत रूप से उत्तरदायी डिज़ाइन मॉड्यूल से अपने लेआउट को तैयार करने की अनुमति देते हैं, जिनमें से कुछ 'स्वयं-जागरूकता' के साथ-साथ पृष्ठ पर प्रदर्शित किए जा रहे हैं।

ईक्यूसीएसएस के साथ आप एक विजेट को 150px चौड़ा से 1000px चौड़ा तक देखने के लिए डिज़ाइन कर सकते हैं, फिर आप विश्वास कर सकते हैं कि उस विजेट को किसी भी पृष्ठ में किसी भी साइडबार में किसी भी टेम्पलेट (किसी भी साइट पर) का उपयोग करके छोड़ दें और

एकमात्र तरीका मुझे लगता है कि आप सीएसएस के साथ विशुद्ध रूप से क्या चाहते हैं, यह पूरा कर सकते हैं, अपने विजेट के लिए एक तरल कंटेनर का उपयोग करना है। यदि आपकी कंटेनर की चौड़ाई स्क्रीन का प्रतिशत है तो आप अपने कंटेनर की चौड़ाई के आधार पर शैली के लिए मीडिया प्रश्नों का उपयोग कर सकते हैं, क्योंकि अब आपको प्रत्येक स्क्रीन के आयामों के लिए पता चल जाएगा कि आपके कंटेनर के आयाम क्या हैं। उदाहरण के लिए, मान लें कि आप अपने कंटेनर का 50% स्क्रीन चौड़ाई बनाने का निर्णय लेते हैं। फिर 1200px की एक स्क्रीन चौड़ाई के लिए आप जानते हैं कि आपका कंटेनर 600px है

 .myContainer { width: 50%; } /* you know know that your container is 600px * so you style accordingly */ @media (max-width: 1200px) { /* your css for 600px container */ } 

यह बहुत अच्छी तरह से काम करता है और एक अपेक्षाकृत छोटे बिल्ड (~ 4kb minified) है https://github.com/tysonmatanich/elementQuery

मैं मीडिया के प्रश्नों के बारे में भी सोच रहा था, लेकिन फिर मैंने यह पाया:

सिर्फ padding-bottom लिए एक प्रतिशत मूल्य के साथ एक आवरण <div> बनाएँ, जैसे:

 div { width: 100%; padding-bottom: 75%; background:gold; /** <-- For the demo **/ } 
 <div></div>