Is there is any way to write html and css with out using css hacks which will work in all the browsers including ie6? Only using with div and not with table? I want to have the page both html and css with w3c compatible.
In some cases yes, but often not. The one thing that seems to always end up as a problem is the lack of min-height in ie6.
It has come to the point in time where one must simply resolve to no longer support IE6. It's tough, but there you have it.
There's no "right way" to do hacks. That's what "hack" means.
It completely depends on the design.
What exactly are you trying to achieve?
Keep IE6 from going into Quirks mode and you won't encounter too many problems. You may also want to consider using a CSS Reset, although sometimes you just can't avoid having to write some IE specific hack to have it look good... What exactly is your problem with using them?
I would say that in general, yes, this is absolute possible to achieve. But you will probably have to make som comprimises on how advanced your layout is going to be, or on how well you will support older browsers like IE 6.
If you are new to this field I would install the Html Validator add-on for Firefox and surf around the web, to get an idear of what pages validate 100 % and the see what layouts they have used.
The easiest way is to use conditional comments and have an additional stylesheet specifically for problem versions of IE6. It does mean you have special cases, but not really hacks.