I have UIWebView loaded with html in my iPad Program. By using -webkit-column-width, I divided the html with several columns.
padding: 0px
height: 1024px
-webkit         
        
Here is the swift 4 version of @JohanKools answer https://stackoverflow.com/a/8307454
func positionOfElement(withId elementID: String?) -> CGRect 
{
    let js = "function f(){ var r = document.getElementById('%@').getBoundingClientRect(); return '{{'+r.left+','+r.top+'},{'+r.width+','+r.height+'}}'; } f();"
    let result = webView?.stringByEvaluatingJavaScript(from: String(format: js, elementID))
    let rect: CGRect = CGRectFromString(result!)
    return rect
}