आप एससीएसएस की तरह एक पूर्वप्रक्रमक का उपयोग कर सकते हैं:
(वास्तव में इस सवाल का जवाब करने के लिए अद्यतन की मांग की, यह भी live example देख)
// ----------- only things you need to edit { ---------------
$sprite-size: 16px; // standard sprite tile size
$sprite-padding: 0px; // if you have padding between tiles
// ----------- } only things you need to edit ---------------
// basic sprite properties (extension-only class)
%sprite {
width:$sprite-size; height:$sprite-size; // must restrict viewport, otherwise other sprites may "bleed through"
// could set shared standard tilesheet `background-image: url(...)`
// other standard styles, like `display:inline-block` or `position:absolute`
}
// helper for assigning positioning using friendlier numbers like "5" instead of doing the math
@mixin sprite-offset($xoffset:0, $yoffset:0, $increment:$sprite-size, $padding: $sprite-padding) {
background-position: -($xoffset*($increment + $padding)) -($yoffset*($increment + $padding));
}
करने के लिए "फ्लोट" एक एक से पृष्ठभूमि the answer by @jose-faeti की तरह स्प्राइट इंगित करता है कि आपको involve a placeholder element
<div class="float-bg">
<div class="bg"></div>
<p>Lorem ipsum dolor si...</p>
</div>
की तरह शैली के साथ:
.float-bg .bg {
@extend %sprite; // apply sizing properties
background-image: url(...); // actually set the background tiles
@include sprite-offset(4);
// specific configuration per accepted answer
position:absolute;
top: 0;
right: 0;
}
मेरी मूल जवाब में, create a list of buttons लिए आप:
// list out the styles names for each button
$buttons: 'help', 'font', 'layerup', 'layerdown', 'transform', 'export', 'save', 'clear', 'move-left', 'move-right', 'move-up', 'move-down', 'png', 'jpg', 'svg', 'funky';
.btns > * { @extend %sprite; background-image:... } // apply sizing properties, bg
// autoassigns positioning
@for $i from 1 through length($buttons) {
$btn: nth($buttons, $i);
.btn-#{$btn} {
// @extend .sprite;
@include sprite-offset($i - 1);
}
}
तो something like पर काम करेगा:
<ul class="btns">
<li class="btn-help">...</li>
<li class="btn-font">...</li>
<li class="btn-save">...</li>
<li class="btn-export">...</li>
<li class="btn-etc">...</li>
<li class="btn-etc">...</li>
</ul>
पिक्सेल स्थिति यह चुनना है कि स्प्राइट का कौन सा हिस्सा चुना जाना चाहिए। हालांकि स्प्राइट का वह हिस्सा केवल div के ऊपरी दाएं कोने पर दिखाई देना चाहिए। क्या कोई तरीका है जिसमें स्प्राइट्स का उपयोग करके किया जा सकता है? –
आप एक छोटा सा div बना सकते हैं, जिसमें स्प्राइट का आकार होता है और इसे आमतौर पर स्प्राइट पृष्ठभूमि देता है जैसा आप आमतौर पर करते हैं। फिर उस div को अपने 200px * 200px div के अंदर रखें और स्प्राइट div 'स्थिति दें: पूर्ण; शीर्ष: 0; दाएं: 0; '। अभिभावक के पास 'स्थिति: सापेक्ष' या 'स्थिति: पूर्ण' होना चाहिए, या स्थिति ठीक से काम नहीं करेगी। – GolezTrol
@MaximDsouza क्या आपकी समस्या अभी तक हल हो गई है? – GolezTrol