2014-03-12 157 views
-1

我可以合法地更改使用的JS CSS寬度CSS - 改變固定的寬度來計算的寬度

width: 100% 

到:

width: calc(100% - 180px); 

即會JS後CSS3計算功能的工作已經插入它進入屬性?

可能有更好的方法來做到這一點(float等),但這是由於左側導航欄的外觀。這也將工作與JQuery方法設置寬度?

+0

'將JS後CSS3鈣功能的工作已經插入到它的屬性'你能不能測試它?雅,它的作品!它不符合你的需求嗎? –

+0

在這裏發佈問題通常很有用,即使我能很快找到答案,因爲其他想法也會出現。在這種情況下,我並不完全樂於使用calc,所以一系列的回覆是有幫助的 – vogomatix

+0

這是一個正確的觀點! –

回答

1

我不能保證$().width('calc()')的兼容性,但它應該工作,如果你直接將其設置爲寬度樣式。

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

但有你不能把它直接在CSS的原因嗎?

+0

在應用程序的某個時間點,菜單欄顯示在以前沒有的屏幕的左側。我試圖將代碼/ css的更改保持在最低限度,而不是屈服於重新設置所有東西的誘惑... :-) – vogomatix

+0

是的,我這樣做,它工作得很好。 – vogomatix

1

我認爲你應該通過其他方式來解決這個問題。以下是一些選項:

  • 在元素上設置box-sizing: border-box;並在左側添加180px填充。
  • 給內容包裝(不包含導航欄)180px的左填充。

注:box-sizing: border-box可以說是所有元素優選的性質,因爲它設置填充和邊界時,不會弄亂你的寬度。

1

試試這個:

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