Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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_Jquery_Css - Fatal编程技术网

Javascript CSS-将固定宽度更改为计算宽度

Javascript CSS-将固定宽度更改为计算宽度,javascript,jquery,css,Javascript,Jquery,Css,我可以合法地使用JS从更改CSS宽度吗 width: 100% 致: i、 e.在JS将CSS3 calc函数插入属性后,它会工作吗 可能有更好的方法(浮动等),但这是由于左侧导航栏的出现。这也适用于设置宽度的JQuery方法吗?我不能保证$().width('calc()')的兼容性,但是如果直接将其设置为宽度样式,它应该可以工作 $('myselector').css('width','calc(100%-180px)') 但是有什么理由不能直接将其放入CSS中吗?我认为您应该通过其他方式

我可以合法地使用JS从更改CSS宽度吗

width: 100%
致:

i、 e.在JS将CSS3 calc函数插入属性后,它会工作吗

可能有更好的方法(浮动等),但这是由于左侧导航栏的出现。这也适用于设置宽度的JQuery方法吗?

我不能保证
$().width('calc()')
的兼容性,但是如果直接将其设置为宽度样式,它应该可以工作

$('myselector').css('width','calc(100%-180px)')


但是有什么理由不能直接将其放入CSS中吗?

我认为您应该通过其他方式来实现这一点。以下是一些选项:

  • 设置
    框大小:边框框并在左侧添加一个180px的填充
  • 为内容包装器(不包含导航栏)提供180px的左填充

注意:对于所有元素来说,这无疑是一个更好的属性,因为在设置填充和边框时,它不会弄乱宽度。

试试这个:

Some of the browsers not support calc(); so please try following jquery 
$('your id').css('width', '100%').css('width', '-=100px'); 

在JS将CSS3 calc函数插入属性后,它会工作吗?
你不能测试它吗?!是的,它起作用了!这不符合你的需要吗?在这里张贴问题通常很有用,即使我能很快找到答案,因为会出现其他想法。在这种情况下,我对calc的使用并不完全满意,所以一系列的回复都是有用的,这是正确的观点!在应用程序中的某个点,一个菜单栏出现在以前没有的屏幕左侧。我试图将对代码/css的更改控制在最低限度,而不是屈服于重新设计一切样式的诱惑…:-)
Some of the browsers not support calc(); so please try following jquery 
$('your id').css('width', '100%').css('width', '-=100px');