This might be to your surprise, but I only use images where absolutely necessary and try to achieve everything by hand-written CSS.
Things like gradients, drop-shadows etc are pretty easy to use, and I've recently come accross CSS PIE which enables me to do the same in Internet Explorer.
The only tool I ever use is the CSS gradient generator.
Update
Do you generate separate css layouts for common browsers separately by hand? This feels a bit like an overkill really. Its farily straightforward job to create nice, clean layout using some software. After automatic slicing it is basicly ready for use. Now with hand css it seems like unnessecery extra layer of work. Do you create mockups / designs / overviews / layouts / etc using some software? Or do you simply build whole website straight from CSS using just a browser? – mdrozdziel 1 hour ago
All of our websites go through a creative process where different concepts are presented to the client. These concepts are usually created in Photoshop, Illustrator or another design software.
Once the designs are approved and signed off, we take the designs and start converting them to CSS. I can usually put together a PSD design into HTML/CSS in about 4 hours (more or less depending on complexity).
A few people that I have worked with take the "Automated" approach where they use a tool such as Dreamweaver, Expression Web, or similar and try to save time. Of course, these tools hardly provide cross-browser solutions and they often need to be tweaked by hand. I personally hate this approach and all of the people we employ need to be able to code by hand.
Although you might find some tools that will fix some cross-browser issues for you, a lot of them you will still need to hand-code. I have found that having a number of years in HTML/CSS experience will really make your life easier because you will learn the differences between browsers and can spot a potential issue before even previewing the website.
Not to blow my own whistle, but for the past year I've had a near-perfect record of creating cross-browser HTML/CSS without any prior testing or conditional comments (this excludes IE6, of course).
The introduction of CSS3 (with CSS3 PIE) has enabled me to create some super-cool webpages, with the use of very few images. Because CSS3 is still in it's early stages, you have to use browser specific syntax such as -webkit-
and -moz-
to achieve some results, but this syntax is widely available on Google.
Summary
I strongly suggest you get yourself up-to-speed with HTML/CSS if you're going to be a web developer and I wouldn't rely on software to create complicated layouts/UI-elements. Rather, start putting together your own library of code snippets - especially ones that are often re-used in projects.
Also
The button you have displayed in your question should only take about 8-10 minutes to code, it's using a combination of some of the following properties:
- CSS3 Background Gradient
border
border-radius
box-shadow
text-shadow
Update 2
I forgot to mention the jQuery UI's ThemeRoller, which allows you to generate buttons, tabs and many other elements. It contains royalty-free icons as well so it might be useful to you in some scenarios. I mostly use the framework if I'm building administration panels and I spend quite a bit of time removing unnecessary style declarations to cut down on the size of the CSS file.