The Ultimate CSS Survey 2017

1,657 responses

1. How long have you been writing/developing CSS?

1K out of 1K answered

1
1-5 years
37%/ 615 resp.
2
More than 10 years
29%/ 486 resp.
3
6-10 years
14%/ 243 resp.
4
Less than a year
4%/ 70 resp.

2. Which of the following most accurately describes you?

1K out of 1K answered

1
I'm a full-stack developer
29%/ 492 resp.
2
I'm a front-end developer who does some design
28%/ 475 resp.
3
I'm strictly a front-end developer
20%/ 347 resp.
4
I'm a designer that writes CSS
14%/ 236 resp.
5
I'm a back-end developer who writes CSS occasionally
3%/ 61 resp.
6
Other
2%/ 46 resp.

3. How would you rate your CSS skills?

1K out of 1K answered

1
High Intermediate
45%/ 760 resp.
2
Intermediate
28%/ 465 resp.
3
Expert
19%/ 320 resp.
4
Low Intermediate
5%/ 96 resp.
5
Beginner
1%/ 16 resp.

4. In your job, how many people work on the same CSS files that you work on?

1K out of 1K answered

1
Me and 1-3 others
52%/ 862 resp.
2
Just me
33%/ 557 resp.
3
Me and 4-10 others
10%/ 179 resp.
4
Me and 11+ others
3%/ 59 resp.

5. How do you primarily format your CSS?

1K out of 1K answered

1
Multi-line (property/value pair on each line)
90%/ 1K resp.
2
Single-line (all property/value pairs on a single line for each selector)
9%/ 163 resp.

6. How do you order your CSS properties within a single declaration block?

1K out of 1K answered

1
Grouped by type (dimensions, typography, layout, etc.)
36%/ 607 resp.
2
Randomly but certain parts are grouped (e.g. width and height together)
32%/ 543 resp.
3
Randomly based on the order I first write them
16%/ 279 resp.
4
Alphabetically
13%/ 221 resp.
5
By length
0%/ 7 resp.

7. Do you indent your selectors to match HTML hierarchy?

1K out of 1K answered

1
No, I use nesting with a preprocessor
43%/ 727 resp.
2
No
27%/ 460 resp.
3
Yes
24%/ 400 resp.
4
I don't know what that means
4%/ 70 resp.

8. Do you currently use IDs as selectors in your CSS files?

1K out of 1K answered

1
No
63%/ 1K resp.
2
Yes
36%/ 610 resp.

9. How often do you chain classes in your selectors?

1K out of 1K answered

1
Occasionally
46%/ 775 resp.
2
Rarely
31%/ 517 resp.
3
All the time
16%/ 265 resp.
4
I don't know what that means
3%/ 56 resp.
5
Never
2%/ 44 resp.

10. For new projects, what is your current primary layout technique for a page's basic structure?

1K out of 1K answered

1
Floats and/or positioning
38%/ 630 resp.
2
Flexbox with no polyfills or fallbacks
31%/ 515 resp.
3
Flexbox polyfilled
14%/ 235 resp.
4
Absolute/relative positioning with no floats
4%/ 74 resp.
5
W3C Grid Layout (i.e. using "display: grid", etc.)
2%/ 41 resp.
6
Table-based layouts
1%/ 26 resp.
7
Other
5%/ 95 resp.

11. How do you normally control typography?

1K out of 1K answered

1
I set the body font size, then use mostly rems and ems
41%/ 694 resp.
2
I use px mostly everywhere
31%/ 516 resp.
3
I use ems mostly everywhere
10%/ 165 resp.
4
I use rems mostly everywhere
9%/ 161 resp.
5
I use a third-party framework that does it for me
5%/ 95 resp.
6
Other
1%/ 26 resp.

12. What CSS unit do you use the most?

1K out of 1K answered

1
px
45%/ 759 resp.
2
em
21%/ 358 resp.
3
rem
19%/ 329 resp.
4
percentages
11%/ 189 resp.
5
other
1%/ 22 resp.

13. How do you primarily define colors in CSS?

1K out of 1K answered

1
Hex format and/or color keywords (e.g. #cf631d and "maroon")
49%/ 819 resp.
2
A combination of two or three of the above
39%/ 647 resp.
3
RGB/RGBA format (e.g. rgb(0, 20, 130))
9%/ 160 resp.
4
HSL/HSLA format (e.g. hsl(207, 38%, 47%))
1%/ 17 resp.
5
Other
0%/ 8 resp.

14. How often do you use flexbox?

1K out of 1K answered

1
On every new project
33%/ 562 resp.
2
On most new projects
28%/ 469 resp.
3
Not very often
20%/ 335 resp.
4
Haven't started using it yet
17%/ 291 resp.

15. Which of the following formats do you prefer for your class names and/or ID selectors?

1K out of 1K answered

1
Hyphenated (e.g. my-class)
33%/ 559 resp.
2
I use a CSS methodology (e.g. BEM) with a defined style
31%/ 522 resp.
3
Combination of two or three of the above
13%/ 228 resp.
4
Camel cased (e.g. myClass)
10%/ 174 resp.
5
Underscored (e.g. my_class)
4%/ 79 resp.
6
Hyphen/underscore for classes, camel case for IDs
3%/ 53 resp.
7
Another combination or style not listed here
2%/ 42 resp.

16. Do you comment your CSS?

1K out of 1K answered

1
Yes, but very little
40%/ 662 resp.
2
Yes, but probably not as much as I should
33%/ 560 resp.
3
No
13%/ 218 resp.
4
Yes, extensively
13%/ 215 resp.
5
I don't know how to comment CSS
0%/ 1 resp.

17. Have you adopted a "mobile-first" CSS strategy?

1K out of 1K answered

1
Yes, for most projects
34%/ 572 resp.
2
Yes, for every project
29%/ 486 resp.
3
No
26%/ 433 resp.
4
I've done it a few times, but don't plan to do it again
9%/ 150 resp.
5
I don't know what "mobile-first" is
0%/ 15 resp.

18. How often do you use the calc() function for values?

1K out of 1K answered

1
Occasionally
35%/ 593 resp.
2
Rarely
30%/ 505 resp.
3
Never
19%/ 323 resp.
4
All the time
10%/ 165 resp.
5
I've never heard of it
4%/ 71 resp.

19. Not including pre-built framework files, how many CSS files do you typically create for a single project?

1K out of 1K answered

1
Multiple files, but my build process concatenates into a single file for production
60%/ 1K resp.
2
One file for all styles
22%/ 379 resp.
3
Multiple files, even for production
13%/ 230 resp.
4
Does not apply to me (e.g. using CMS, etc.)
2%/ 44 resp.

20. When writing CSS, how conscious are you of keeping your code maintainable for yourself or future developers?

1K out of 1K answered

1
I try very hard to keep my CSS maintainable
44%/ 738 resp.
2
I use a CSS methodology that helps keep my code maintainable
35%/ 583 resp.
3
I do a mediocre job at keeping my code maintainable
16%/ 266 resp.
4
I do a poor job at keeping my code maintainable
3%/ 59 resp.
5
I'm not interested in keeping my code maintainable
0%/ 11 resp.

21. How often do you refactor CSS on older projects?

1K out of 1K answered

1
Rarely
39%/ 658 resp.
2
Occasionally
34%/ 577 resp.
3
Never
10%/ 165 resp.
4
Often
8%/ 137 resp.
5
I try to refactor just about every project
3%/ 64 resp.
6
I don't know what "refactor" means
3%/ 55 resp.

22. How often do you use the !important keyword?

1K out of 1K answered

1
Only when absolutely necessary, but I always refactor later
40%/ 677 resp.
2
Occasionally (e.g. for single-purpose utility classes)
36%/ 597 resp.
3
Never
20%/ 343 resp.
4
All the time, it's the easiest way to overcome specificity issues
1%/ 27 resp.
5
I've never heard of that keyword
0%/ 13 resp.

23. How often do you include custom print styles in a project?

1K out of 1K answered

1
For some projects
43%/ 722 resp.
2
Never
33%/ 555 resp.
3
For most projects
10%/ 172 resp.
4
I don't know how to define print styles
6%/ 107 resp.
5
For every project
6%/ 101 resp.

24. Which of the following lesser-known CSS units have you used in a real project?

1K out of 1K answered

1
vw, vh, vmin, vmax
89%/ 1K resp.
2
dpi, dpcm, dppx
14%/ 204 resp.
3
grad, rad, turn
13%/ 192 resp.
4
cm, mm, q, in, pc
12%/ 175 resp.
5
ex, ch
8%/ 126 resp.
6
Hz, kHz
3%/ 56 resp.

25. How often do you use a 3rd-party CSS framework (e.g. Bootstrap, Foundation)?

1K out of 1K answered

1
Some projects
20%/ 332 resp.
2
Most projects
19%/ 327 resp.
3
Never
19%/ 325 resp.
4
Rarely
18%/ 306 resp.
5
Every project
15%/ 259 resp.
6
Most/every/some projects, but not by choice
5%/ 92 resp.
7
Does not apply to me
1%/ 16 resp.

26. What is your primary CSS Framework for new projects?

1K out of 1K answered

1
Bootstrap
38%/ 631 resp.
2
I don't use a CSS framework
27%/ 449 resp.
3
My own (or my company's own) custom solution
17%/ 288 resp.
4
Foundation
7%/ 116 resp.
5
Does not apply to me
3%/ 54 resp.
6
Semantic UI
0%/ 14 resp.
7
UIkit
0%/ 12 resp.
8
Pure by Yahoo!
0%/ 3 resp.
9
Other
5%/ 87 resp.

27. Do you use a CSS preprocessor (like Sass) or post-processor (like PostCSS) for the majority of new projects?

1K out of 1K answered

1
Yes
72%/ 1K resp.
2
No
27%/ 451 resp.

28. Over the past year, which of the following CSS processors/tools have you used on a real project?

1K out of 1K answered

1
Sass
84%/ 1K resp.
2
Less
34%/ 500 resp.
3
PostCSS
30%/ 434 resp.
4
CSS Modules (by Glen Maddern)
7%/ 113 resp.
5
Stylus
6%/ 99 resp.
6
Pleeease
3%/ 54 resp.
7
Rework
0%/ 6 resp.
8
CSS-Crush
0%/ 3 resp.
9
Myth
0%/ 2 resp.

29. Do you feel CSS preprocessors like Sass and Less are the way CSS should have been designed in the first place?

1K out of 1K answered

1
Yes
35%/ 580 resp.
2
Yes, but not all features
30%/ 503 resp.
3
I have no opinion, doesn't matter, etc.
17%/ 297 resp.
4
No
16%/ 277 resp.

30. What is your primary code editor for CSS development?

1K out of 1K answered

1
Sublime Text
26%/ 434 resp.
2
Atom
17%/ 282 resp.
3
Visual Studio / VS Code
13%/ 224 resp.
4
PhpStorm
9%/ 151 resp.
5
Brackets
6%/ 99 resp.
6
WebStorm IDE
5%/ 88 resp.
7
Dreamweaver
5%/ 85 resp.
8
Notepad++
4%/ 69 resp.
9
Coda
2%/ 43 resp.
10
Intellij Idea
2%/ 40 resp.
11
NetBeans
1%/ 29 resp.
12
Vim
1%/ 26 resp.
13
Eclipse / Aptana
1%/ 17 resp.
14
BBEdit
0%/ 11 resp.
15
Komodo IDE / Edit
0%/ 6 resp.
16
TextPad
0%/ 5 resp.
17
TextMate
0%/ 4 resp.
18
Other
2%/ 44 resp.

31. What is your primary CSS reset?

1K out of 1K answered

1
Normalize.css
42%/ 702 resp.
2
Eric Meyer's CSS reset
11%/ 196 resp.
3
I normally use a framework that has a reset built in
10%/ 179 resp.
4
My own custom reset
10%/ 169 resp.
5
I don't use a CSS reset
7%/ 126 resp.
6
A customized version of Normalize.css
6%/ 112 resp.
7
A customized version of Eric Meyer's CSS reset
4%/ 68 resp.
8
* { margin: 0; padding: 0 } and nothing else
4%/ 66 resp.
9
Does not apply to me
1%/ 29 resp.
10
Other
0%/ 10 resp.

32. What is your primary CSS methodology?

1K out of 1K answered

1
I just write CSS, I don't use any of those systems
34%/ 573 resp.
2
BEM
28%/ 478 resp.
3
A combination of two or more of the above
13%/ 215 resp.
4
I don't know what a CSS methodology is
8%/ 132 resp.
5
SMACSS
3%/ 65 resp.
6
OOCSS
3%/ 57 resp.
7
Atomic CSS
2%/ 39 resp.
8
CSS Modules (by Glen Maddern)
2%/ 34 resp.
9
ITCSS
1%/ 26 resp.
10
SUIT CSS
1%/ 16 resp.
11
Other
1%/ 22 resp.

33. Do you minify your CSS?

1K out of 1K answered

1
Yes, for every project
51%/ 858 resp.
2
Yes, for most projects
20%/ 335 resp.
3
Not regularly, but I have done it on some projects
19%/ 315 resp.
4
No, I've never minified my CSS
7%/ 131 resp.
5
Does not apply to me
1%/ 18 resp.

34. Have you ever found a CSS-related bug in a browser? (e.g. Firefox, Chrome, etc.)

1K out of 1K answered

1
No
43%/ 720 resp.
2
Yes, but I didn't report it
41%/ 681 resp.
3
Yes, and I reported it
15%/ 256 resp.

35. How do you feel about managing CSS via JavaScript (e.g. using React or similar)?

1K out of 1K answered

1
It's only a good idea in certain circumstances
33%/ 552 resp.
2
I don't have a strong opinion on this
31%/ 515 resp.
3
It's not a good idea
25%/ 423 resp.
4
I've never heard of this
6%/ 109 resp.
5
It's always a good idea
3%/ 58 resp.

36. How often do you use a ready-to-use pure CSS animation library (e.g. Animate.css)?

1K out of 1K answered

1
Never
31%/ 522 resp.
2
Rarely
29%/ 490 resp.
3
Occasionally
28%/ 473 resp.
4
On most projects
6%/ 102 resp.
5
Does not apply to me
3%/ 53 resp.
6
On every project
1%/ 17 resp.

37. How often do you use browser developer tools for debugging CSS?

1K out of 1K answered

1
All the time
84%/ 1K resp.
2
Fairly often
8%/ 133 resp.
3
Rarely
1%/ 30 resp.
4
Occasionally
1%/ 28 resp.
5
Never, I debug directly in my CSS
1%/ 27 resp.
6
Never, I didn't know my browser had such tools
0%/ 9 resp.

38. Do you implement some kind of critical "above the fold" CSS workflow?

1K out of 1K answered

1
No
52%/ 875 resp.
2
I don't know what "above the fold" CSS means
20%/ 335 resp.
3
Yes, using a task runner or similar tool that automates it
12%/ 201 resp.
4
Yes, I do it manually
12%/ 199 resp.
5
Does not apply to me
2%/ 41 resp.

39. Do you (or does your team) produce documentation for your CSS?

1K out of 1K answered

1
No
77%/ 1K resp.
2
Yes, it's written manually
17%/ 286 resp.
3
Yes, using a tool that automates it
5%/ 93 resp.

40. How often do you use the command line for CSS-related tasks?

1K out of 1K answered

1
Never
32%/ 545 resp.
2
Just about every work day
21%/ 361 resp.
3
Rarely
20%/ 343 resp.
4
Occasionally
14%/ 233 resp.
5
Fairly often
10%/ 175 resp.

41. How meticulous are you (or is your team) at testing CSS on a variety of mobile browsers and platforms?

1K out of 1K answered

1
I do a moderate amount of mobile testing
50%/ 839 resp.
2
I thoroughly test on a number of different mobile browsers and platforms
30%/ 507 resp.
3
I do very little mobile testing
15%/ 261 resp.
4
I don't do any mobile testing
3%/ 50 resp.

42. What's the oldest Microsoft browser that you test and support in your CSS?

1K out of 1K answered

1
IE11
26%/ 436 resp.
2
IE10
25%/ 426 resp.
3
IE9
24%/ 397 resp.
4
IE8
9%/ 155 resp.
5
I don't support any Microsoft browser
6%/ 100 resp.
6
Edge
5%/ 84 resp.
7
IE7
1%/ 32 resp.
8
IE6
1%/ 25 resp.
9
IE5.5
0%/ 2 resp.

43. Do you think the W3C (or another organization) should introduce a better technology to replace CSS?

1K out of 1K answered

1
No
61%/ 1K resp.
2
Yes
17%/ 281 resp.
3
I have no opinion on this (don't care, etc.)
11%/ 183 resp.

44. Are you satisfied with the standards process used by the W3C in releasing and approving new CSS features?

1K out of 1K answered

1
Yes
56%/ 939 resp.
2
I don't know, don't care, etc.
29%/ 481 resp.
3
No
14%/ 237 resp.

45. How often do you read the official CSS specifications?

1K out of 1K answered

1
Rarely
40%/ 663 resp.
2
Sometimes
33%/ 547 resp.
3
Never
17%/ 283 resp.
4
Fairly often
9%/ 153 resp.
5
Just about every work day
0%/ 11 resp.

46. Which of the following CSS concepts do you have trouble with or don't understand?

1K out of 1K answered

1
Pseudo-class expressions (e.g. 4n+1)
42%/ 430 resp.
2
Controlling typography (ems, px, etc.)
28%/ 289 resp.
3
Styling forms
23%/ 243 resp.
4
Clearing floats
21%/ 216 resp.
5
Specificity
15%/ 157 resp.
6
Absolute/relative positioning
11%/ 118 resp.
7
z-index and stacking
8%/ 82 resp.
8
Selectors
3%/ 36 resp.

47. Which of the following CSS features have you worked with and have trouble understanding?

1K out of 1K answered

1
3D Animations
48%/ 549 resp.
2
Grid Layout (using display: grid, etc)
36%/ 415 resp.
3
Flexbox
34%/ 391 resp.
4
rem units
20%/ 235 resp.
5
calc()
16%/ 189 resp.
6
Selectors Level 4
15%/ 176 resp.
7
Media Queries
9%/ 109 resp.

48. Have you ever attended a CSS conference?

1K out of 1K answered

1
Yes
22%/ 379 resp.
2
No
77%/ 1K resp.

49. In the past year, which of the following have you used to look up something about CSS? (You can select more than one)

1K out of 1K answered

1
Stack Overflow
83%/ 1K resp.
2
Online Search (Google, Duck Duck Go, etc.)
77%/ 1K resp.
3
MDN
57%/ 960 resp.
4
CSS-Tricks Almanac
56%/ 936 resp.
5
w3schools
54%/ 905 resp.
6
The official specs (W3C)
46%/ 765 resp.
7
Codrops CSS Reference
29%/ 493 resp.
8
One or more e-books
26%/ 438 resp.
9
A print book
20%/ 339 resp.
10
A chart/table (or similar) printed from the web
18%/ 310 resp.
11
Other
2%/ 47 resp.

50. How important is it for you to learn about CSS from "view source" or "inspect element" on random websites?

1K out of 1K answered

1
Very important, I do it all the time
42%/ 711 resp.
2
Somewhat important, I do it ocassionally
34%/ 573 resp.
3
Not very important, but I do it a little
17%/ 287 resp.
4
Not important at all
4%/ 69 resp.
5
I don't understand this question
0%/ 14 resp.
6
Other
0%/ 3 resp.