检索元素大小(mm)(或非px单位)?

时间:2015-10-31 07:14:55

标签: javascript html css

我正在使用Javascript学习浏览器DOM并构建一个"系统"这依赖于毫米单位而不是px。 我知道如何设置元素大小(mm),与

配合使用
public HttpURLConnection createConnection(){

    try{            
        urlconnection=(HttpURLConnection)url.openConnection();      
    }catch(Exception e){
        Log.e("Can't create connections", e.getMessage());

    }

    return urlconnection;

}
public String doFunctionPost(JSONObject object){
    try{
        urlconnection=createConnection();
        urlconnection.setDoInput(true);
        urlconnection.setDoOutput(true);
        urlconnection.setRequestMethod(method);
        urlconnection.setUseCaches(false);
        urlconnection.setConnectTimeout(10000);
        urlconnection.setReadTimeout(10000);
        urlconnection.setRequestProperty("json", object.toString());
        urlconnection.setRequestProperty("Content-Type", "application/json");

        OutputStreamWriter out=new OutputStreamWriter(urlconnection.getOutputStream());
        out.write(object.toString());
           System.out.println(object.toString());
            out.close();
            httpResult=urlconnection.getResponseCode();
            System.out.println("Response Code"+ httpResult);
            result=readResponse();

    }catch(Exception e){
        Log.e("Response Error", e.getMessage());

    }finally{
        removeConnection();
    }
    return result;
}

public String readResponse(){
    try{
        if(httpResult==HttpURLConnection.HTTP_OK){
            BufferedReader buffer_reader=new BufferedReader(new InputStreamReader(urlconnection.getInputStream(),"utf-8"));
            String line=null;
            sb=new StringBuilder();
            while((line=buffer_reader.readLine())!=null){
                sb.append(line+"\n");
            }
            buffer_reader.close();
            System.out.println("buffer_reader"+sb.toString());
        }else{
            Log.e("Error on posting", urlconnection.getResponseMessage());
        }
    }catch(Exception e){
        Log.e("Error in Response", e.getMessage());
    }
    return sb.toString();
}

但是我在使用除px以外的任何其他单位检索测量时遇到问题。有办法吗? s?

SIDENOTE:没有办法为css定义全局默认单位系统吗?可以方便地定义一次使用哪些单位,然后只使用元素的普通值。

1 个答案:

答案 0 :(得分:3)

  

是否无法为css定义全局默认单位系统?

不,没有。

  

但是我在使用px以外的任何其他单位检索测量时遇到问题。有没有办法做到这一点?

不,没有。

CSS"像素" is effectively 1/96th of an inch,0.26毫米。因此,您可以通过以像素为单位并乘以0.26来获得mm的大小。

然而,

注意,这是"参考"像素的大小。从链接:

  

参考像素是设备上一个像素的视角,像素密度为96dpi,距离读取器的臂长度。对于标称臂的28英寸长度,视角因此约为0.0213度。对于手臂长度的读数,1px因此对应于约0.26毫米(1/96英寸)。

显示器具有不同的密度,但通常将CSS像素映射为1/96英寸。

This answer原始问题(当我回答时,我没有意识到这是重复的;我应该拥有)有一种非常直接的方法:在{中定义一个元素{1}},然后以像素为单位获取其大小,并知道该设备在该方向上的转化。