Q:

How can a Knockout binding be applied to the  element?

I would like to dynamically set the font-size on the root element using a custom Knockout bindinghandler which does a calculation based on the width of the browser window.
When I tried to apply the binding, nothing seemed to happen, so I tried to apply a simple css binding:
<html data-bind="css: { bindinghandlertest: true }">
But the binding handler didn't seem to add the class.
Question: Can KO bindings only be applied to <body> and its children?
Note: I am initializing all bindings on the whole page by simply calling ko.applyBindings(); once on DOM ready, with no parameters at all.

A:

You can apply bindings to a specific html element as explained here
Specifically: 

Optionally, you can pass a second parameter to define which part of
  the document you want to search for data-bind attributes. For example,
  ko.applyBindings(myViewModel, document.getElementById('someElementId'))

In you case, you can them call
ko.applyBindings(myVM, document.documentElement);

by default, the DOM node is the body, as you can see from the source:

rootNode = rootNode || window.document.body; // Make "rootNode"
  parameter optional

