我无法获得CSS中定义的元素的宽度。我想出了如何使用Javascript获取CSS规则,但我无法访问宽度。 菜单是我使用 em 在CSS中定义的固定宽度。
我正在尝试根据浏览器窗口减去固定的菜单宽度来更改 div1 的宽度。
注意:我已尝试使用style.width
,但它在控制台中返回一个空行。
jsfiddle:http://jsfiddle.net/kj6pQ/
var div1 = document.createElement('div'),
css = getMatchedCSSRules(document.getElementById('menu'));
console.log(css); //works but dont' konw how to access width
div1.style.width = window.innerWidth - <!-- menu width -->;
答案 0 :(得分:15)
使用“offsetWidth
”访问菜单的宽度
var div1 = document.createElement('div'),
css = document.getElementById('menu').offsetWidth;
console.log(css);
div1.style.width = css + "px";
答案 1 :(得分:4)
var css = document.getElementById('menu');
console.log(window.getComputedStyle(css).width);
答案 2 :(得分:2)
尝试这种方式:
var width = window.getComputedStyle(document.getElementById("menu"), null).getPropertyValue("width");