performance-checklist
stylus
performance-checklist | stylus | |
---|---|---|
1 | 26 | |
33 | 11,170 | |
- | 0.1% | |
0.0 | 6.8 | |
almost 3 years ago | 7 days ago | |
JavaScript | ||
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
performance-checklist
-
My friend is learning CSS and HTML. Can you find ten things he can improve in his coding style?
OOCSS - (Object-oriented CSS) 2. Use a preprocessor. They fill the lacking features of CSS and helps you write more readable, and smaller reusable pieces of CSS. Some popular preprocessors are: 1. Sass 2. Less 3. Stylus 3. Reduce redundancy. You are using font-weight: bold for the header, but you are also setting it for the div inside. CSS stands for Cascading Style Sheets because styles in CSS are cascading, meaning child elements will inherit styles from parents. 4. Avoid using strong and complex selectors. You are using an id, but a class would do just fine. Having strong selectors means you will have a harder time overriding them later on if needed. 5. Avoid using !important as much as possible. Only use it for utility and helper classes if you must, which need to override anything, such as hiding or displaying an element. 6. Don't use inline CSS, unless your inlining critical CSS. Instead, import styles using a link tag in your head element. (Critical CSS refers to above-the-fold content. Inlining it can help users see a properly rendered page more quicker) 7. Use semantic HTML. You are assigning a header class to a div, which could have been an h1/2/3/n element. This not only helps in terms of accessibility but can also help to improve your SEO score. 8. Use rem for typography. You are using em which cascades, meaning if you set the root element to have 12px, a main element with 2em will have the font size of 24px. If you put a div inside of it with 2em, it will have a font size of 48px, meaning that the size is duplicated. This makes it hard to track down values for deeply nested elements. Instead, use rem which stands for root em, and does not cascade. 9. Make sure your formatting is consistent. You use opening brackets both after a selector and on a new line. Tools like stylelint can help you enforce certain rules to keep your code more consistent, which helps to improve readability and maintainability. 10. Outsource your colors / sizes / spacings into variables. Everything that is bound to change can be in a configuration file to make things more flexible. You can either use CSS variables for this, or a preprocessor. 11. Nothing is written in stone, feel free to come up with your own set of rules that helps you create a more dev-friendly environment. But most importantly, keep things consistent.
stylus
-
Future of CSS: Functions and Mixins
Traditionally CSS lacked features such as variables, nesting, mixins, and functions. This was frustrating for Developers as it often led to CSS quickly becoming complex and cumbersome. In an attempt to make code easier and less repetitive CSS pre-processors were born. You would write CSS in the format the pre-processor understood and, at build time, you'd have some nice CSS. The most common pre-processors these days are Sass, Less, and Stylus. Any examples I give going forward will be about Sass as that's what I'm most familiar with.
-
Why Use Sass?
Stylus
-
Quick Guide To CSS Preprocessors
The Stylus is built on Node.js. It differs from Sass and Less, which are more opinionated to the syntax; the stylus allows you to omit semicolons, colons, and braces if you want at any time. Another cool feature is that the stylus has a property lookup feature. You can do that easily if you set property X relative to property Y's value. The stylus can be more concise because of its flexibility, but it depends on your preferred syntax.
-
Install Angular
ng new test1 ? Would you like to add Angular routing? Yes ? Which stylesheet format would you like to use? > CSS SCSS [ http://sass-lang.com ] SASS [ http://sass-lang.com ] LESS [ http://lesscss.org ] Stylus [ http://stylus-lang.com ]
-
Is there a way to shorten .contactform h2,… and to say something like .contactform (h2, ul, label)?
first of all, quit using css. get on board Stylus @ https://stylus-lang.com/
- What I’ve Learned from Users
-
Is a bracket within a bracket possible? (HTML/CSSS)
The term you are looking for is "nesting". CSS currently does not support it. But there is a draft being worked on. No browser currently supports it, though. Most CSS Pre- or Postprocessors like Sass, Less, Stylus, PostCSS support nesting.
-
Create own default plugin to NX workspace
// schema.json { "$schema": "http://json-schema.org/schema", "cli": "nx", "$id": "ReactLibrary", "title": "", "type": "object", "properties": { "name": { "type": "string", "description": "Library name", "$default": { "$source": "argv", "index": 0 }, "x-prompt": "What name would you like to use for the library?", "pattern": "^[a-zA-Z].*$" }, "directory": { "type": "string", "description": "A directory where the lib is placed.", "alias": "dir" }, "domain": { "description": "Domain where this library belongs.", "type": "string", "default": "none", "alias": "dom", "x-prompt": { "message": "Which domain this library belongs?", "type": "list", "items": [ { "value": "web", "label": "Web" }, { "value": "common", "label": "Common" } ] } }, "scope": { "type": "string", "description": "A scope for the lib.", "alias": "sc" }, "type": { "description": "Library type", "type": "string", "alias": "t", "x-prompt": { "message": "Select library type?", "type": "list", "items": [ { "value": "data", "label": "Data" }, { "value": "model", "label": "Model" }, { "value": "util", "label": "Util" }, { "value": "feature", "label": "Feature" }, { "value": "ui", "label": "Ui" } ] } }, "style": { "description": "The file extension to be used for style files.", "type": "string", "default": "none", "alias": "s", "x-prompt": { "message": "Which stylesheet format would you like to use?", "type": "list", "items": [ { "value": "css", "label": "CSS" }, { "value": "scss", "label": "SASS(.scss) [ http://sass-lang.com ]" }, { "value": "styl", "label": "Stylus(.styl) [ http://stylus-lang.com ]" }, { "value": "less", "label": "LESS [ http://lesscss.org ]" }, { "value": "styled-components", "label": "styled-components [ https://styled-components.com ]" }, { "value": "@emotion/styled", "label": "emotion [ https://emotion.sh ]" }, { "value": "styled-jsx", "label": "styled-jsx [ https://www.npmjs.com/package/styled-jsx ]" }, { "value": "none", "label": "None" } ] } }, "linter": { "description": "The tool to use for running lint checks.", "type": "string", "enum": ["eslint", "tslint"], "default": "eslint" }, "unitTestRunner": { "type": "string", "enum": ["jest", "none"], "description": "Test runner to use for unit tests.", "default": "jest" }, "skipFormat": { "description": "Skip formatting files.", "type": "boolean", "default": false }, "skipTsConfig": { "type": "boolean", "default": false, "description": "Do not update `tsconfig.json` for development experience." }, "pascalCaseFiles": { "type": "boolean", "description": "Use pascal case component file name (e.g. `App.tsx`).", "alias": "P", "default": false }, "routing": { "type": "boolean", "description": "Generate library with routes." }, "appProject": { "type": "string", "description": "The application project to add the library route to.", "alias": "a" }, "publishable": { "type": "boolean", "description": "Create a publishable library." }, "buildable": { "type": "boolean", "default": false, "description": "Generate a buildable library." }, "importPath": { "type": "string", "description": "The library name used to import it, like `@myorg/my-awesome-lib`." }, "component": { "type": "boolean", "description": "Generate a default component.", "default": true }, "js": { "type": "boolean", "description": "Generate JavaScript files rather than TypeScript files.", "default": false }, "globalCss": { "type": "boolean", "description": "When `true`, the stylesheet is generated using global CSS instead of CSS modules (e.g. file is `*.css` rather than `*.module.css`).", "default": false }, "strict": { "type": "boolean", "description": "Whether to enable tsconfig strict mode or not.", "default": true }, "setParserOptionsProject": { "type": "boolean", "description": "Whether or not to configure the ESLint `parserOptions.project` option. We do not do this by default for lint performance reasons.", "default": false }, "standaloneConfig": { "description": "Split the project configuration into `/project.json` rather than including it inside `workspace.json`.", "type": "boolean" }, "compiler": { "type": "string", "enum": ["babel", "swc"], "default": "swc", "description": "Which compiler to use." } }, "required": ["name", "type", "scope", "domain"] }
-
Add BootstrapVue to VuePress
Finally we need to load the bootstrap css. VuePress ships with stylus by default now, but we can still import css into our stylus file at .vuepress/styles/index.styl
-
Scss/Sass - Is this something I should try and learn before landing my first job, or is vanilla CSS enough?
Uhh... yeah. But if you want to omit the braces and semicolons you can check this preprocessor https://stylus-lang.com You will enjoy the landing page, LoL. Maybe even get motivated.
What are some alternatives?
go-perfbook - Thoughts on Go performance optimization
Tailwind CSS - A utility-first CSS framework for rapid UI development.
Azkarra-Magento2-Theme-for-Core-Web-Vitals-and-PageSpeed - PREMIUM alternative to the Magento Luma (also Hyva): Core Web Vitals friendly | Optimized RequireJS loading | Optimized and separate styles | Lazyload images and backgrounds | Many new functionalities | Clean and user-friendly design
PostCSS - Transforming styles with JS plugins
stylelint - A mighty CSS linter that helps you avoid errors and enforce conventions.
SCSS
awesome-lit-html - A curated list of awesome Lit resources.
emotion - 👩🎤 CSS-in-JS library designed for high performance style composition
svelte-reactive-css-preprocess - Automatically update your styles when a svelte variable changes.
esbuild - An extremely fast bundler for the web
Sass - Sass makes CSS fun!
appsmith - Platform to build admin panels, internal tools, and dashboards. Integrates with 25+ databases and any API.