मैं एक स्टाइलशीट में अप्रयुक्त / अप्रयुक्त सीएसएस नियम कैसे पा सकता हूं?


18

मुझे एक बहुत बड़ी CSS फ़ाइल और एक HTML फ़ाइल मिली है। मैं यह जानना चाहूंगा कि HTML फ़ाइल प्रदर्शित करते समय किन नियमों का उपयोग नहीं किया जाता है। क्या इसके लिए उपकरण हैं?

CSS फ़ाइल कुछ वर्षों में विकसित हुई है और जो मुझे पता है कि किसी ने कभी भी इसमें से कुछ भी नहीं हटाया है - लोगों ने बार-बार नए ओवरराइडिंग नियम लिखे।

EDIT: यह डस्ट-मी चयनकर्ताओं या क्रोम के वेब पेज प्रदर्शन टूल का उपयोग करने का सुझाव दिया गया था । लेकिन वे दोनों चयनकर्ताओं के स्तर पर काम करते हैं, न कि व्यक्तिगत नियमों के आधार पर। मेरे पास बहुत सारे मामले हैं जहां एक चयनकर्ता के अंदर एक नियम हमेशा ओवरराइड होता है - और यही वह है जो मैं ज्यादातर से छुटकारा चाहता हूं। उदाहरण के लिए:

body { color: white; padding: 10em; }
h1 { color: black; }
p { color: black; }
...
ul { color: black; }

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

संपादित करें: और बेकार नियम का एक और मामला: जब यह किसी चीज को बिना बदले मौजूदा डुप्लिकेट करता है:

a       { margin-left: 5px; color: blue; }
a:hover { margin-left: 5px; color: red; }

मैं खुशी से दूसरे से छुटकारा पाऊँगा margin-left... फिर से मुझे लगता है कि उन उपकरणों को ऐसी चीजें नहीं मिलती हैं।

संपादित करें: मैं सभी उत्तरों की सराहना करता हूं, लेकिन दुख की बात है कि आपके द्वारा सुझाए गए उपकरण कोई उपयोगी सुझाव नहीं देते हैं। मैंने आपके उत्तरों को बढ़ा दिया है, लेकिन मैं एक ऐसे उपकरण की प्रतीक्षा करूँगा जो ऊपर बताए अनुसार चीजों को अधिक बारीक करता है।

धन्यवाद,


आप किसी उपयुक्त उपकरण की कमी को एक अवसर के रूप में ले सकते हैं: चूंकि आप समझते हैं कि आपको क्या चाहिए, आप इस तरह के उपकरण बनाने के लिए सबसे अच्छे व्यक्ति हो सकते हैं। आप विचारों और तकनीकों के लिए मौजूदा उपकरणों के कोड का निरीक्षण कर सकते हैं, और फिर कुछ का निर्माण कर सकते हैं जो चयनकर्ता के बजाय नियम के स्तर पर काम करता है। प्रसिद्धि और भाग्य पर आपका मौका! ... ठीक है, शायद बस प्रसिद्धि;)
iconoclast

@ ब्रेंडन: यह सवाल सिर्फ "उल्लेखनीय प्रश्न" निशान पर पहुंच गया ... इसलिए आप सही हो सकते हैं :-)
लियोरी

जवाबों:


8

धूल मुझे चयनकर्ताओं फ़ायरफ़ॉक्स एक्सटेंशन

Chrome के डेवलपर टूल में आप अप्रयुक्त CSS नियमों को खोजने के लिए वेब पेज प्रदर्शन टूल का उपयोग कर सकते हैं।


महान, मैं इसे तुरंत जाँच करूँगा!
लियोरी

ये उपकरण केवल बेकार चयनकर्ताओं को हटा सकते हैं। मैंने अपना प्रश्न स्पष्ट किया।
लियोरी

2
@liori: मुझे नहीं लगता कि यह मज़बूती से संभव है। आपके मार्जिन उदाहरण में, दूसरा मार्जिन नियम बहुत ही कम लग सकता है, लेकिन इसकी उच्च विशिष्टता है और बाद के नियम को ओवरराइड कर सकता है। उदाहरण के लिए, यदि किसी वर्ग .abcका भिन्न मार्जिन है, <a class="abc">तो उसका मार्जिन मेरे विचार से होवर पर बदल जाएगा। अब शायद वह नहीं है जो आप चाहते हैं, लेकिन यह निश्चित रूप से हो सकता है, और आप आँख बंद करके उस डुप्लिकेट नियम को हटा नहीं सकते।
असंतुष्टगीत

@DisgruntledGoat: मैं एक बंद दुनिया के एक मामले के बारे में सोच रहा हूं: यदि यह निर्दिष्ट नहीं है, तो यह मौजूद नहीं है। इसलिए यदि a.abcHTML में कहीं भी कोई परिभाषा नहीं है , या कोई <a class="abc"/> नहीं है, तो यह मौजूद नहीं है। फिर भी, मैंने पहले ही कार्य पूरा कर लिया है जिससे मुझे यह प्रश्न पूछने के लिए प्रेरित किया गया है, और मैं समाप्त हो गया ढेर सारी विधियाँ लागू करने के साथ। मैंने क्रोम के डेवलपर टूल की कोशिश की, लेकिन उन्होंने मेरी बहुत मदद नहीं की।
लियोरी

5

आप Unused-CSS.com पर भी नज़र डाल सकते हैं। यह उपकरण आपके पृष्ठों का पता लगाएगा और अप्रयुक्त चयनकर्ताओं के बिना एक अनुकूलित सीएसएस फ़ाइलों का निर्माण करेगा।


4

मुझे हमेशा पसंद आया है CSS का उपयोग । यह Firebug के लिए एक प्लगइन है और चलिए आप पेज को स्कैन करते हैं और देखते हैं कि कौन से CSS नियम अप्रयुक्त हैं। यह ऑटो-स्कैन और कई पृष्ठों में काम करेगा।


2

चेक करें, यह एक नोड मॉड्यूल है।

"UnCSS एक उपकरण है जो आपकी स्टाइलशीट से अप्रयुक्त सीएसएस को हटाता है। यह कई फाइलों में काम करता है और जावास्क्रिप्ट-इंजेक्ट सीएसएस का समर्थन करता है।"

https://www.npmjs.com/package/uncss

टिप्पणी के बाद संपादित करें:

मुझे लगता है कि आप दो अलग चीजों के लिए कह रहे हैं:

  1. अप्रयुक्त नियमों को स्वचालित रूप से निकालें, यह वही है जो आपके लिए uncss कर सकता है। मैंने भी इस टूल को बनाया, CSS byebye, लेकिन यह स्वचालित नहीं है जैसे आप पूछते हैं: https://www.npmjs.com/package/css-byebye

  2. उन स्टाइलशीट को ऑप्टिमाइज़ करें जहाँ नियमों का विलय / सरलीकरण किया जा सकता है।

उस मामले में मैं दो उपकरण सुझाऊँगा जो इस तरह की चीज़ें करते हैं:

वे कमोबेश एक ही ऑप्टिमाइज़ेशन करते हैं, कभी-कभी एक दूसरे से बेहतर परिणाम होता है, और कभी-कभी यह विपरीत होता है। यह आपकी स्टाइलशीट पर निर्भर करता है। (आप एक के बाद एक चला सकते हैं: पी)

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

सीएसएसओ के लिए वे यहां क्या कहते हैं (पूरी जानकारी यहां देखें: https://en.bem.info/tools/optimizers/csso/ )

संरचनात्मक अनुकूलन:

  • समान चयनकर्ताओं के साथ ब्लॉक जोड़ना
  • समान गुणों के साथ ब्लॉक जोड़ना
  • ओवरराइड गुणों को दूर करना
  • ओवरराइड शॉर्टहैंड गुणों को हटाने
  • बार-बार चयनकर्ताओं को हटाना
  • ब्लॉकों का आंशिक विलय
  • ब्लॉकों का आंशिक विभाजन
  • खाली नियम और नियम को हटाना
  • मार्जिन और पैडिंग गुणों की न्यूनतम

मुख्य पृष्ठ से देखते हुए, यह चयनकर्ता स्तर पर काम करता है। क्या यह वास्तव में मेरे द्वारा वर्णित दो उदाहरण मामलों में नियमों को हटा सकता है?
लियोरी

मैंने अपना उत्तर संपादित कर दिया है। मैंने CSSO वेब इंटरफ़ेस के साथ आपके पहले उदाहरण का परीक्षण किया: परिणाम: शरीर {color: #fff; गद्दी: 10em} h1, p, ul {color: # 000}
केव

1

@ जॉन: उत्कृष्ट उपकरण, लिंक के लिए धन्यवाद

@liori: मैं फ़ायरफ़ॉक्स वेब डेवलपर प्लगइन की भी अत्यधिक अनुशंसा करता हूँ जो आपको तत्व नाम / गुण प्रदर्शित करने देता है, वास्तविक समय में सीएसएस संपादित करें (अपनी सीएसएस फ़ाइल में नहीं लिखें) ताकि आप एफएफ़ के बिना सीएसएस परिवर्तनों को संपादित और परीक्षण कर सकें। अपनी सीएसएस को कभी भी 3 सेकंड में सहेजने और अपलोड करने के लिए। + अधिक सुविधाएँ लोड करता है।

एक बहुत अच्छा DOM इंस्पेक्टर भी है जो Firebug में प्लग करता है और जो Javascript को छांटने के लिए भी बहुत अच्छा है।


0

वास्तव में जॉन नया फ़ायरफ़ॉक्स डेवलपर संस्करण ब्राउज़र फायरबग या फ़ायरफ़ॉक्स उपयोगिता का उपयोग करने से बेहतर है। इसे आज़माएँ और आप निराश नहीं होंगे मुझे यकीन है!

https://www.mozilla.org/en-US/firefox/developer/?utm_medium=paidsearch&utm_source=google&utm_campaign=dev-sem-q1-2015

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.