I copied exactly the same code from official example http://twitter.github.com/bootstrap/examples/starter-template.html.
But on my machine something add 20px more to the space between navbar and content. I uploaded the pic.

I tried to change it to body { padding-top:40px; } and it’s ok on pc, but the 20px appears again on mobile. So I cannot find out why. Please help me with that.
Edit: you can see my page on http://sheldon.sinaapp.com/stackoverflow
THE REAL REASON!!!
Some editor on Windows will add BOM to the start of file. It’s invisible and used to notice the editor that it is utf-8 encoded.
For more details of BOM, see Byte Order Mark(wiki)
In notepad++, you can use Encoding -> Encode in utf-8 without BOM.
Okay – I’ve worked out the problem. You have a line of whitespace before your
<!DOCTYPE html>declaration. If you delete this line and move<!DOCTYPE html>to line 1, you’ll be working fine!I’ve managed to recreate the problem here:
Version with whitespace (http://jsfiddle.net/TW9JP/)
Version without whitespace (http://jsfiddle.net/z8DQB/)