Comments (3)
I don't care for either proposal.
If you're writing CSS and want to do prefixing, you want it done everywhere applicable, which means you don't want to have to specify it each time. Too easy to miss something.
Prefixing is complicated and wrought with special cases. Most can just be prepended with the browser prefix, but some require rewriting to old syntax or duplicating blocks for each prefixed selector or at-rule.
Prefixing can be done mechanically by something like https://github.com/postcss/autoprefixer after preprocessing. This solves both of the above issues.
My counter proposals would be:
Proposal 3: Do not support this. Let another tool that specializes in handling prefixing handle prefixing.
Proposal 4: Automatically prefix, with config options for people who don't need support to go back that far.
from c6.
Prefixing is complicated and wrought with special cases. Most can just be prepended with the browser prefix, but some require rewriting to old syntax or duplicating blocks for each prefixed selector or at-rule.
Can you give me some example of the complicated special cases?
Proposal 3: Do not support this. Let another tool that specializes in handling prefixing handle prefixing.
C6 is the "tool" actually. the mechanism can be a plugin or a built-in. it's by design.
from c6.
Can you give me some complicated special cases?
Old and new flexbox syntax and the changes to the default of flex: that need to be taken into account to make sure the prefixed css behaves the same as the unprefixed. The various forms of gradient (especially if you want to drop down to IE filters for really old IEs). Selector and at rule prefixing where the blocks have to be copied. The readme for autoprefixer shows some of the troublesome cases. There was actually one browser that didn't recognize the boder-radius shorthand but did support the longhand
C6 is the "tool" actually. the mechanism can be a plugin or a built-in.
That was proposal 4.
My argument is that it would be better to not include it then to do so in a way that would make it easier to use a separate tool rather than having to decorate everything than needs to be prefixed by hand.
from c6.
Related Issues (20)
- Use trie to lex tokens
- Use channel to report syntax error
- Support more math functions
- Supporting regular expression match operator
- @supports syntax
- Use bytes.Buffer to output compiled string instead of normal string concatenation HOT 5
- Type constraint support
- @directive syntax support
- auto import by sorting files in ascending order
- keyword argument parsing HOT 1
- throw undefined function exception nicely
- throw undefined function keyword argument nicely
- c6/lexer: emit POST_COMMENT if there is a comment before the next line
- c6/parser: Add trace mode support
- Introducing @var to fix local variable declaration issue
- Add built-in support for css sprite with device-pixel-ratio HOT 2
- How does compile work? HOT 2
- Example how to compile scss? HOT 10
- Does it really work ? HOT 6
- Project Status HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from c6.