Is defining width for all objects (inputs, sections, etc.) with a percentage a good way to make the design fit smartphones? Or what other way to do this?
I would recommend using a less flexible layout and using media queries instead . You can specify a set of rules if the browser window is smaller than Npx width.
You should check out Twitter Bootstrap to help with this.