Question: Where is it best to declare the `font-family` CSS property? On the `html` or `body` element?

```
html {
    font-family: sans-serif;
}

```

or

```
body {
    font-family: sans-serif;
}

```

I searched online, but I cant find a definitive answer.

Answer: 
The `*` selector will give you better coverage. For example, `form` elements, like `input`, don't inherit font styles from `html` and `body` tags. But if you set it with `*` then you'll make sure your font styles pass down to all HTML elements.

```
* {
  font-family: 'Open Sans', Helvetica, sans-serif;
}

```

Here's a demo. Using [\* selector](http://jsfiddle.net/VolkerShmuley/gpkzhec4/2/) vs [html and body](http://jsfiddle.net/VolkerShmuley/1t7fg20x/2/).
If you are trying to change the font-family of the entire page I would have to agree with user7357089 and nashcheez that the "best" method would be to place it in the body tag. All of your visible HTML would be contained within the body tag anyway, adding it to the HTML would be unnecessary.