"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं कम कीमत में संपत्ति के नाम गतिशील रूप से बनाने के लिए वेरिएबल का उपयोग कैसे कर सकता हूं?

मैं कम कीमत में संपत्ति के नाम गतिशील रूप से बनाने के लिए वेरिएबल का उपयोग कैसे कर सकता हूं?

2024-12-21 को प्रकाशित
ब्राउज़ करें:128

How can I use variables to dynamically create property names in LESS?

LESS में संपत्ति के नाम में चर का उपयोग करना (गतिशील गुण / संपत्ति नाम इंटरपोलेशन)

LESS वर्तमान में गतिशील रूप से सम्मिलित गुणों का समर्थन नहीं करता है, इस विषय पर कुछ चर्चाओं के बावजूद स्टैक ओवरफ़्लो।

समाधान #1: संपत्ति में गतिशील रूप से उत्पन्न गुणों को इंजेक्ट करें वैल्यू

यह समाधान गतिशील रूप से बनाई गई संपत्तियों को हार्ड-कोडित संपत्ति मूल्य में इंजेक्ट करता है:

.vendors(@property, @value, @pre: ect) {
  -inj:~"@{pre}; -webkit-@{property}: @{value}; -moz-@{property}: @{value}; -ms-@{property}: @{value}; -o-@{property}: @{value}; @{property}: @{value}";
}

.vendors@property, @value, @बाकी:"") { @इंजेक्ट:~"@{रेस्ट} -वेबकिट-@{प्रॉपर्टी}: @{वैल्यू}; -moz-@{संपत्ति}: @{मान}; -ms-@{संपत्ति}: @{मान}; -o-@{संपत्ति}: @{मान}; @{संपत्ति}: @{मूल्य};"; } .परीक्षण(अगलावर्ग){ .विक्रेताओं(परिवर्तन, "मैट्रिक्स(2,0,0,2,20,20)"); .विक्रेताओं(परिवर्तन-उत्पत्ति,"10px 10px", @इंजेक्ट); (~"{@{inject}} .@{nextclass}"){/*अगली श्रेणी की संपत्तियां*/}; }

वर्कअराउंड #3: निम्न वर्ग के नाम में गतिशील रूप से उत्पन्न गुणों को इंजेक्ट करें (कम 1.4.0 )

.vendors(@property, @value, @rest:"") {
  @inject:~"@{rest} -webkit-@{property}: @{value}; -moz-@{property}: @{value}; -ms-@{property}: @{value}; -o-@{property}: @{value}; @{property}: @{value};";
}

.test(@nextclass){
  .vendors(transform, "matrix(2,0,0,2,20,20)");
  .vendors(transform-origin,"10px 10px", @inject);
  (~"{@{inject}} .@{nextclass}"){/*next class properties*/};
}

@nl: `"\n\t"`; .multi@props,@vals,@i,@inj) { @प्रॉपर्टी: एक्सट्रैक्ट (@प्रॉप्स, 1); @वैल्यू: एक्सट्रैक्ट (@वैल्स, 1); @इंजेक्ट:~"@{inj}@{nl}-webkit-@{संपत्ति}: @{value};@{nl}-moz-@{संपत्ति}: @{value};@{nl}-ms -@{प्रॉपर्टी}: @{वैल्यू};@{nl}-o-@{प्रॉपर्टी}: @{वैल्यू};@{nl}@{प्रॉपर्टी}: @{वैल्यू};"; } .multi@props,@vals,@i,@inj:"") जब (@i > 0) { @संपत्ति: निकालें (@props, @i); @मूल्य: निकालें (@vals, @i); @injnext:~"@{inj}@{nl}-webkit-@{property}: @{value};@{nl}-moz-@{property}: @{value};@{nl}-ms -@{प्रॉपर्टी}: @{वैल्यू};@{nl}-o-@{प्रॉपर्टी}: @{वैल्यू};@{nl}@{प्रॉपर्टी}: @{मूल्य};"; .multi@props,@vals,@i - 1),@injnext); }कम संस्करणों 1.6 और उससे ऊपर में, संपत्ति नाम प्रक्षेप को मूल रूप से लागू किया जाता है, इसलिए किसी समाधान की आवश्यकता नहीं है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3