{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,12]],"date-time":"2025-10-12T03:56:09Z","timestamp":1760241369337,"version":"build-2065373602"},"reference-count":9,"publisher":"MDPI AG","issue":"1","license":[{"start":{"date-parts":[[2018,1,12]],"date-time":"2018-01-12T00:00:00Z","timestamp":1515715200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Information"],"abstract":"<jats:p>Cascading Style Sheets (CSS) is a W3C specification for a style sheet language used for describing the presentation of a document written in a markup language, more precisely, for styling Web documents. However, in the last few years, the landscape for CSS development has changed dramatically with the appearance of several languages and tools aiming to help developers build clean, modular and performance-aware CSS. These new approaches give developers mechanisms to preprocess CSS rules through the use of programming constructs, defined as CSS preprocessors, with the ultimate goal to bring those missing constructs to the CSS realm and to foster stylesheets structured programming. At the same time, a new set of tools appeared, defined as postprocessors, for extension and automation purposes covering a broad set of features ranging from identifying unused and duplicate code to applying vendor prefixes. With all these tools and techniques in hands, developers need to provide a consistent workflow to foster CSS modular coding. This paper aims to present an introductory survey on the CSS processors. The survey gathers information on a specific set of processors, categorizes them and compares their features regarding a set of predefined criteria such as: maturity, coverage and performance. Finally, we propose a basic set of best practices in order to setup a simple and pragmatic styling code workflow.<\/jats:p>","DOI":"10.3390\/info9010017","type":"journal-article","created":{"date-parts":[[2018,1,15]],"date-time":"2018-01-15T04:01:55Z","timestamp":1515988915000},"page":"17","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["CSS Preprocessing: Tools and Automation Techniques"],"prefix":"10.3390","volume":"9","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-1985-6285","authenticated-orcid":false,"given":"Ricardo","family":"Queir\u00f3s","sequence":"first","affiliation":[{"name":"CRACS\/INESC TEC and School of Media Arts and Design, Polytechnic of Porto, Rua D. Sancho I, n.\u00b0 981, 4480-876 Vila do Conde, Portugal"}]}],"member":"1968","published-online":{"date-parts":[[2018,1,12]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","unstructured":"Mazinanian, D., and Tsantalis, N. (2016, January 14\u201318). An Empirical Study on the Use of CSS Preprocessors. Proceedings of the IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), Suita, Japan.","DOI":"10.1109\/SANER.2016.18"},{"key":"ref_2","doi-asserted-by":"crossref","unstructured":"Mazinaniana, D., Tsantalis, N., and Mesbah, A. (2014, January 16\u201322). Discovering Refactoring Opportunities in Cascading Style Sheets. Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, Hong Kong, China.","DOI":"10.1145\/2635868.2635879"},{"key":"ref_3","unstructured":"Catlin, H. (2017, April 01). SASS: Syntactically Awesome Style Sheets. Available online: http:\/\/sass-lang."},{"key":"ref_4","unstructured":"Sellier, A. (2017, April 01). LESS\u2014The Dynamic Stylesheet Language. Available online: http:\/\/lesscss.org\/."},{"key":"ref_5","unstructured":"Holowaychuk, T. (2017, April 01). STYLUS CSS. Available online: http:\/\/stylus-lang.com\/."},{"key":"ref_6","unstructured":"Coyier, C. (2017, June 11). Popularity of CSS Preprocessors. Available online: http:\/\/css-tricks.com\/poll-results-popularity-of-css-preprocessors."},{"key":"ref_7","unstructured":"Sitnik, A. (2017, April 01). PostCSS. Available online: http:\/\/postcss.org\/."},{"key":"ref_8","unstructured":"Queir\u00f3s, R., Pinto, M., Sim\u00f5es, A., Leal, J.P., and Varanda, M.J. (2017, January 26\u201327). A Survey on CSS Preprocessors. Proceedings of the 6th Symposium on Languages, Applications and Technologies (SLATE 2017), Porto, Portugal."},{"key":"ref_9","unstructured":"Nolan, A. (2016, November 29). The State of Front-End Tooling 2016\u2014Results. Available online: https:\/\/ashleynolan.co.uk\/blog\/frontend-tooling-survey-2016-results."}],"container-title":["Information"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2078-2489\/9\/1\/17\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T14:51:02Z","timestamp":1760194262000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2078-2489\/9\/1\/17"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,1,12]]},"references-count":9,"journal-issue":{"issue":"1","published-online":{"date-parts":[[2018,1]]}},"alternative-id":["info9010017"],"URL":"https:\/\/doi.org\/10.3390\/info9010017","relation":{},"ISSN":["2078-2489"],"issn-type":[{"type":"electronic","value":"2078-2489"}],"subject":[],"published":{"date-parts":[[2018,1,12]]}}}