GithubHelp home page GithubHelp logo

Comments (3)

jareware avatar jareware commented on July 25, 2024 1

Indeed they might.

It's all about trade-offs. While you lose that bit of convenience with the above syntax, what you gain:

  1. Less repetition - you don't need to add .myapp-Header- for every single selector you write
  2. Harder to accidentally break encapsulation - since you're writing all your styles inside the topmost block, Sass (and most other preprocessors) will prefix the selector with the topmost one
  3. Harder to make typos - if one of the classes ends up being typo'd as .myap-Header- it may be a pita to find

To make your life simpler with this choice (should you make it), consider:

  • If you follow the conventions set in the rest of the document, in general, styles with selectors that start with .myapp-Header- will be located in Header.scss (the use of > selectors being the only exception)
  • Even with that exception, grepping for myapp-Header- will still find all styles related to that component
  • Sass (and other preprocessors) can emit source maps, so you can click on a link directly from your devtools to take you to the styles in question, no need to resort to grep

Does that make it any better..?

from css-architecture.

goliney avatar goliney commented on July 25, 2024

Yeah, I see your point. Thanks for the response

from css-architecture.

jareware avatar jareware commented on July 25, 2024

np, thanks for the feedback!

from css-architecture.

Related Issues (13)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.