Seriously; no sarcasm or passive-aggressiveness intended. If I thought my reset styles, or really anything I’ve ever published or advocated, was a be-all end-all ultimate solution for every designer and design that’s ever been and could ever be, I’d be long past due for six rounds on the receiving end of a clue-by-four.

Reset styles clearly work for a lot of people, whether as-is or in a modified form. As I say on the reset page, those styles aren’t supposed to be left alone by anyone. They’re a starting point. If a thousand people took them and created a thousand different personalized style sheets, that would be right on the money. But there’s also nothing wrong with taking them and writing your own overrides. If that works for you, then awesome.

For others, reset styles are more of an impediment. That’s only to be expected; we all work in different ways. The key here, and the reason I made the approving comment above, is that you evaluate various tools by thinking about how they relate to the ways you do what you do—and then choose what tools to use, and how, and when. That’s the mark of someone who thinks seriously about their craft and strives to do it better.

I’m not saying that craftsmen/craftswomen are those people who reject the use of common tools, of course. I’m saying that they use the tools that fit them best and modify (or create) tools to best fit them, applying their skills and knowledge of their craft to make those decisions. It’s much the same in the world of programming. You can’t identify a code craftsman by whether or not they use this framework or that language. You can identify them by how they decide which framework or language to use, or not use, in a given situation.

Craftsmanship is something I’ve been thinking about quite a bit recently, as has Joshua Porter. I delivered a keynote address on that very topic just a few days ago in Minneapolis, and my thinking infuses both of the talks I’m giving next week at An Event Apart New Orleans. I’ve started looking harder for evidence of it, both in myself and in what I see online, and I believe striving toward being a craftsman/craftswoman is an important process for anyone who chooses to work in this field.

Because this isn’t a field of straightforward answers and universal solutions. We are often faced with problems that have multiple solutions, none of them perfect. To understand what makes each solution imperfect and to know which of them is the best choice in the situation—that’s knowing your craft. That’s being a craftsman/craftswoman. It’s a never-ending process that is all the more critical precisely because it is never-ending.

So it’s no surprise that we, as a community, keep building and sharing solutions to problems we encounter. Discussions about the merits of those solutions in various situations are also no surprise. Indeed, they’re exactly the opposite: the surest and, to me, most hopeful sign that web design/development continues to mature as a profession, a discipline, and a craft. It’s evidence that we continue to challenge ourselves and each other to advance our skills, to keep learning better and better how better to do what we love so much.

I remember a friend remarking in 1996, “saying ‘that’s a great website, what tool did you use to build it?’ to a web designer is like saying, ‘that’s a beautiful table, what kind of saw did you use to cut the wood?’ to a carpenter/craftsman. It’s not about the tool, it’s about the craft. I want to be admired for my craftsmanship.” Having the right tools matters, sure, but the tool without the craftsman is nothing.

Great Post, Eric. I totally agree that there is no “one” solution for thought-stuff problems, and I like that you’re thinking along the lines of “craftsmanship”. So that I don’t make a fool of myself, I’ll just link you to a book I think is pretty good on just that topic: “Abstracting Craft” : http://mitpress.mit.edu/catalog/item/default.asp?tid=5572&ttype=2

This is the business of communication. It is not mathematics. In my view, craftsmanship has little to do with the development tools/methods used to create the communication as it does about how well the finished product communicates to its intended audience.

Count me agnostic on the reset, I build with it and without it. The choice depends a lot on the “feel” of the project. If it feels unfamiliar, I’m more likely to use the reset, as it moves me towards more familiar ground.

Re the craftsman image: While I’m not so sure Joshua Porter has it completely right (most craftsmen I know play well with other craftsmen, while being impatient mainly with pretenders) I fully agree with the application of the term. It conjures an image of someone working “with” the material, not “on” it.

Thanks again Eric for something to think about. I’ll try to return the favor.

Nicely said Eric. More than whether anyone uses any particular coding technique or not — I think it’s valuable that people are willing to share their ideas and approaches. Even if a particular technique isn’t appropriate for today, it could be tomorrow. :)

You must have been reading my notes and demos for AEA next week. No? Oh, that’s right, you don’t have them yet. ;)

Seriously though — great post. And exactly how I feel (and what I want to show in New Orleans). There are many ways to reach the intended end goal – how you do it depends on a great number of variables. One of those variables is how well you know your craft and your options.

Though I don’t personally use a reset, I did use yours in chapter 5 of my book. Simply for the reason that I think web developers and designers should know the variety of options available and find what works for them, their style and their unique situation/design.

This is why I never enter into arguments about frameworks, resets, image replacement techniques, whatever. People should know the pros and cons of each and use what they need in their situation. But it’s not important to force everyone to do it like you do it. Life’s too short.

I believe striving toward being a craftsman/craftswoman is an important process for anyone who chooses to work in this field.

I agree wholeheartedly. As a craftsman, you get to choose your tools. If you prefer a hammer and nails over a nail gun, that’s your decision. If you’re not efficient with a hammer, then choose the better tool for you. The decision to use a reset stylesheet is no different than that of using a javascript library. It’s about choosing the right tool for the job and the quality of the finished product.

As an admitted perfectionist, far from any hope of rehab, I tend to agree with the fact that there are a number of perfectly valid approaches and tools at our disposal as a community to choose from, given the needs of the tasks at hand.

Personally, I use a different approach to Eric’s reset, when it comes to relative fonts, but I really enjoy the fact that this work has been done, and constantly cross-reference the various approaches that people have worked on with not only my own work, but the ever evolving skill set that is Front End Development.

Resets, frameworks, like all things in out little corner of the internet, these terms and approaches can be chalked up to “symantics” themselves.

The long and short of it is, for me atleast, that we all continue to work, test and inform each other of our results.

Reset styles have always seemed to be the wrong way to go about it to me anyway. Why override browser styling instead of just turning it off? I think it’s sad that CSS and/or the DOM don’t provide a way of doing this.

I enjoyed Mr. Snook’s article and respect his decision on not using stylesheets. Lately I’ve taken to throwing in a Reset, maybe yours (Eric’s), and then throwing the W3c’s useragent spec’s into the mix as a stylesheet, and almost a framework practically. It’s been an interesting experiment. I’m not sure this is the exactly correct link for W3c UA styling:http://www.w3.org/TR/REC-CSS2/sample.html
This one and a reset sure knocks the edges of those inferior browser UA bugs, and the need for many hacks.

It’s great that the developer community can have these discussions, it shows how far coding for the web has come since the old days of <table><table><table>; it also illustrates how far browsers and – to an extent, as Molly Holzschlag argued recently – how far standards have to come.

Do I agree with either the post above, Snook’s post or Molly’s post whole heartedly? No, but that”s the whole idea really…

Thanks Eric Meyer for being the man that helped me begin my CSS journey and continues to be a source of knowledge and inspiration! I only have more love for you know that you are so obviously open to debate about your processes and ideas.

Peter Wilson is right on when he says it is great that the developer community can have these discussions. I love it!

[…] CSS with Dreamweaver CS3 that I wrote with Stephanie Sullivan, I found it interesting that Eric Meyer and Jonathon Snook were discussing the topic of CSS resets on their blogs today. During the writing […]

As an admitted perfectionist, far from any hope of rehab, I tend to agree with the fact that there are a number of perfectly valid approaches and tools at our disposal as a community to choose from, given the needs of the tasks at hand.

and from a post in Snook’s article which sums my own situation clearly:

…I too didn’t use resets until recently. I [work] for a large marketing firm and having the website render exactly how the comp (design) looked was huge. I would either hear from [one person] stating the client approved a certain look or from [another] claiming the padding/margin was off by a pixel from their comp. I truly now could not live with my css reset, and I’m constantly changing it as I see fit. …

Finally, as it seems everything has already been said for me, thank you Lori for one last citation which struck me as a beautiful way to sum it all up:

Having the right tools matters, sure, but the tool without the craftsman is nothing.

So, heartfelt thanks to everyone in the field, for without our tools we would have nothing!

As you have always said a universal reset levels the playing field. But now IE8 is coming out the playing field is becoming very smooth. Now we just have to wait for IE6 and IE7 to become part of browser legend. Then the only reset needed will be a reset for unordered or ordered list or other elements where IE deviates in default behavior.

With you being the “go to guy” when it comes to css I think people are intimidated into changing the content of your reset script. Along the same lines as amending the Constitution, they believe it’s best to leave the changes to the experts.

I’ve had a designer or two admit that by not leaving a “clean copy” of the script in place at the top of the css file, they won’t easily be able to adapt to changes that you may later publish.

It’s kind of silly when you think about it. Our role as professionals is to innovate and develop our own styles and procedures. Otherwise, we may as well let robots do it.

I wish that instead of having to use a reset-css, W3C would defined recommendations on how an element is supposed to be with default settings. Then browser developers could implement that and we – the css crafters and web developers – could create more advanced designs/layouts without needing to think about browser compatibility.

That said, I do love to use the simple *-reset (margin and padding to 0), but only on small pages (a small weblog, small business site). For medium size pages, I modify Eric Meyer’s reset for most efficiency. Larger pages shouldn’t have resets because of the increased rendering times, making the user wait for the content.

[…] Heres’s an excerpt from a post by Eric Meyer on craftsmanship: The key here…is that you evaluate various tools by thinking about how they relate to the ways you do what you do—and then choose what tools to use, and how, and when. That”s the mark of someone who thinks seriously about their craft and strives to do it better. […]

It’s posts like this that gain you the respect you have in the dev community. Thank you. For the reset sheet (which I use, and tailor to my needs/skills… I’m not a ‘Craftsman’ yet…) and for your continued inspiration.

I was actually quite surprised that so many people commented about their dislike for reset stylesheets in response to Jonathon’s original post.

Personally, I’ve been so much more productive ever since I started using them – I always found it so incredibly difficult to get consistency between browsers without them, especially for margins/padding on lists, headers and paragraphs. “Clean-slate” for me is so much easier to work with!

That said, thanks Eric for pointing out that not everyone has to agree with this! It’s very easy for us to forget that as we continuously refine our own working styles and processes.

Eric, I for one would like to say thank you for your work in creating reset.css, as well as your other endeavors in helping to advance CSS and web industry in general. One thing I’ve noticed about the web design/development industry is the amount of bad feedback dramatically outweighs the good.

I must say I am impressed by how diplomatic you have been about this whole reset debate; some comments (I’m not saying all) made by people who are against the idea have been quite rude and insulting, implying that people who use resets are stupid, and merely ‘beginners’.

As I said on Jonathan’s blog and also on Jens Meiert’s blog, I think the best policy is to agree to disagree on this matter. I know that you won’t have a problem with this, Eric; let’s hope the people on the other side can show the same respect.

I, for one, have found the concept of a CSS reset to be invaluable. In fact, I use a streamlined, combined version of your reset and Tantek’s, with a couple of rules from David Hellsing as well. Both are available at Jeff Starr’s Perishable Press:

I find that for the largest part of my work, resetting my CSS before I start to code significantly reduces the amount of browser-specific code I have to write, makes for slightly shorter style sheets (the reset takes space too), and makes life a lot easier on my fellow coders — they can more easily follow what I’ve done.

[…] …this isn”t a field of straightforward answers and universal solutions. We are often faced with problems that have multiple solutions, none of them perfect. To understand what makes each solution imperfect and to know which of them is the best choice in the situation—that”s knowing your craft. (source) […]

I like what Eric has to say here; it’s very fair and clear what his intentions are with reset styles and looking into ourselves as designers on whether or not we want to use them, and I agree. Here’s what we at WPDFD had to say about the matter:

[…] above, Eric felt that people were getting the wrong idea about his thoughts on reset stylesheets, so he cleared things up on his site. He never intended reset stylesheets to become a “be-all, end-all” solution to […]

[…] above, Eric felt that people were getting the wrong idea about his thoughts on reset stylesheets, so he cleared things up on his site. He never intended reset stylesheets to become a “be-all, end-all” solution to […]

[…] Eric Myer’s response to people questioning whether reset stylesheets were a good idea or not was pretty much, use them if you find them useful and or don’t otherwise. I just wanted to put my hand up as not personally liking them (since they seem to be every at the moment) in the hope of making other people question them too. […]

[…] Eric Meyer says, “You can’t identify a code craftsman by whether or not they use this framework or that language. You can identify them by how they decide which framework or language to use, or not use, in a given situation.” This statement couldn’t be closer to the truth. Discussing tools without context is pointless. […]

[…] Eric Meyer says37, “You can’t identify a code craftsman by whether or not they use this framework or that language. You can identify them by how they decide which framework or language to use, or not use, in a given situation.” This statement couldn’t be closer to the truth. Discussing tools without context is pointless. […]