Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript上正确的CSS代码_Javascript_Css - Fatal编程技术网

Javascript上正确的CSS代码

Javascript上正确的CSS代码,javascript,css,Javascript,Css,我得到了这个代码,但它似乎不起作用: var widthrel = 1366 - width; var minusp = widthrel / 2; var final = 10 - minusp; document.styleSheets[0].addRule('.main-container:before','left:'+ parseInt(final) + 'px'); document.styleSheets[0].insertRule('.main-container:before

我得到了这个代码,但它似乎不起作用:

var widthrel = 1366 - width;
var minusp = widthrel / 2;
var final = 10 - minusp;

document.styleSheets[0].addRule('.main-container:before','left:'+ parseInt(final) + 'px');
document.styleSheets[0].insertRule('.main-container:before {left:'+ parseInt(final) + 'px;}', 0);
document.styleSheets[0].addRule('.main-container:after','right:'+ parseInt(final) + 'px');
document.styleSheets[0].insertRule('.main-container:after {right:'+ parseInt(final) + 'px;}', 0);

你能帮我吗?

你想实现什么,你能在JSFIDLE.net上创建一个提琴吗?我需要在浏览器宽度改变时更改伪元素的css@Gurvinder372我不知道这部分的代码是否正确:document.styleSheets[0].addRule('.main container:before','left:'+parseInt(final)+'px');它的工作。我将var width设置为700,并采用:.main container::before{left:-323px;}Sorry@SergT当我删除代码上的其他行时,它会工作。它会覆盖css代码。再次感谢。如果不设置var“width”,代码中的其他行可能会显示错误。你设置了var?现在@SergT的问题是Firefox没有执行代码。我知道Firefox不能识别addRule,只能识别insertRule。重新分级“宽度”这是对浏览器宽度的检测(onLoad和onResize),您在“宽度”==未定义中出错,我认为。。。您可以显示Firefox中出现错误的控制台吗?Maybee的“宽度”不是全局的?或设置“宽度”的值时出错?
if(document.styleSheets[0].addRule) { //IE9, Chrome
    document.styleSheets[0].addRule(".main-container:before","left: "+parseInt(final)+"px;")
    document.styleSheets[0].addRule(".main-container:after","right: "+parseInt(final)+"px;")
} else if(document.styleSheets[0].insertRule) { /// Opera
    document.styleSheets[0].insertRule(".main-container:before {left: "+parseInt(final)+"px;}",0)
    document.styleSheets[0].insertRule(".main-container:after {right: "+parseInt(final)+"px;}",0)
}