2014-01-22 47 views
8

我想使用margin-right通過使用css3 calc()來自動+一些像素,但看起來這個說法是錯誤的。使用calc自動保證金

selector{margin: calc(auto + 5px); 

那麼,怎樣才能用,以便它可以自動採取保證金和加固定像素保證金?


就是這樣的!

enter image description here

+0

向我們展示你的HTML或者給我們一個小提琴這樣我們就可以制定出你.. –

+0

http://jsfiddle.net/ jP7mN/ –

+0

我試圖通過定義百分比,但它不會因爲我的div更小或更大可能。 –

回答

12

MDN

的計算值()函數CSS可用於任何一個需要<length><frequency><angle><time><number>,或<integer>。使用calc(),您可以執行計算來確定CSS屬性值。

不能使用auto那裏,因爲它不是爲calc()的有效值。

語法爲calc()

term 
    : unary_operator? 
    [ NUMBER S* | PERCENTAGE S* | LENGTH S* | EMS S* | EXS S* | ANGLE S* | 
     TIME S* | FREQ S* ] 
    | STRING S* | IDENT S* | URI S* | hexcolor | function | math 
    ; 

欲瞭解更多信息,請參閱該Docs


當你評論說,要居中的div但你也想5pxmarginright比你可以通過在父元素上使用text-align: center;並使子div元素爲來實現

Demo

輸出

enter image description here

div.wrap { 
    text-align: center; 
} 

div.wrap div { 
    display: inline-block; 
    height: 100px; 
    width: 100px; 
    color: #fff; 
} 

div.wrap div.with_margin { 

    margin-right: 5px; 
    background: #f00; 
} 

div.wrap div.without_margin { 
    background: #000; 
} 
+1

哦!也有功能。我怎樣才能使用auto + 5px? –

+0

@ C-link當你在右邊添加'5px''邊距'時,它會是什麼意思?你能展示一種代表性的方式,你期望的是什麼? –

+1

試着理解比較這些演示:http://jsfiddle.net/jP7mN/1/ http://jsfiddle.net/jP7mN/2/。無論div的寬度是多少,我都會設置margin-right 25%,但是我希望表現得像兩邊auto,但是加上右邊的一些寬邊距。 –