2010-09-29 53 views
21

如何減去CSS中的寬度?CSS寬度減法

例如:

寬度= 100% - 10px的

我說的不是填充或餘量。

+0

@凱爾,對不起,但10px不是10%。 – Ruel 2010-09-29 08:32:14

+0

@凱爾 - 不會工作。 10%!= 10px,除非容器是100px。 – 2010-09-29 08:32:46

+0

啊哈,我明白了..對不起,誤讀:) – Kyle 2010-09-29 08:34:46

回答

20

現在用calc的解決方案將是:

width: calc(100% - 10px); 


Calc可以用加法,減法,乘法使用,司。

附加說明:

注:+和 - 運營商必須始終用空格包圍。 例如calc(50%-8px)的操作數將被解析爲 百分比,接着是負值長度,一個無效表達式,而calc的操作數(50% - 8px)爲 後面跟着一個減號 標誌和長度。更進一步,calc(8px + -50%)被視爲長度爲 ,後跟加號和負數百分比。 *和/ 運算符不需要空格,但爲了保持一致性而添加它爲 ,並且建議使用。

+2

這是什麼瀏覽器兼容性? – Mani 2014-10-29 05:58:04

13

簡單:你不能這樣做。你將不得不使用一些解決方法。

+0

是的,畢竟我使用保證金。謝謝彼得。 – 2010-09-29 10:25:42

2

其實沒有這樣的功能。你所能做的只是:

width:auto; 
margin-right: 10px; 

這不是你想要的。

+0

是的,畢竟我使用保證金。謝謝Thariama。 – 2010-09-29 10:26:02

2

實現這一目標的唯一方法是使用LessCSS或類似的工具來構建你的CSS,然後再處理這些文件放到生成CSS - 你不能做到這一點的飛行

+0

我嘗試使用純CSS,但感謝Nev。 – 2010-09-29 10:26:45

12

好,直到CSS3 calc()被釋放所有主流瀏覽器,你所要做的只是將一個div與另一個div合併,並使用一些填充邊距。或者,您可以使用一些javascript,如計算屏幕的寬度並相應地設置div的寬度。

+0

是的,畢竟我使用保證金。謝謝n1313。 – 2010-09-29 10:25:19

3

如果您使用支持它的堆棧,您可以使用SASS來完成此操作。我只知道Ruby,但也可能有其他人。

SASS是生成傳統CSS的CSS樣式代碼,可以使用變量等。

+0

很好的參考,謝謝格蘭特。 – 2010-09-29 10:31:06

+0

SASS很棒... 「身高:238 + 9 + px;」產生「身高:247px;」在輸出的css文件中。 – Ads 2014-02-05 12:25:48

1

通常,人們使用動態方法,即時生成代碼。 例如,在PHP,而寫CSS部分,

$width = $all - 10; 
echo 'width:' . $width . 'px;'; 
+0

是的,我們可以用PHP來完成,但我不處理服務器端部分。而且,我有很多想要應用的元素。謝謝ring0。 – 2010-09-29 10:29:56