このトピックは何度も投稿されていますが、calc()
関数についての質問は回答できません。 私は+
と-
の間のスペースの問題を知っていますが、今回は問題がこれに関連していません。複雑な計算でcalc()が正しく機能しない
Iが正しく
width: calc((100% - 20px)/3);
同じ行に配置されるべき最後の画像を使用して行の3枚の画像を表示することができないが、それは下に移動です。それはmargin-right: 0
なので、式calc((100% - 20px)/3)
は、これらの3つの値を互いに隣り合って1行に保つべきです。
完全なコード
* { margin: 0; padding: 0; background: red;}
img {
float: left;
margin-right: 20px;
width: calc((100% - 20px)/3);
&.last { margin-right: 0; }
}
<!-- images should be displayed
- in a row
- with margin right 20px except last
------------------------------------------->
<img src="https://i.ytimg.com/vi/m5d1FlSeF-M/maxresdefault.jpg">
<img src="https://i.ytimg.com/vi/m5d1FlSeF-M/maxresdefault.jpg">
<img class="last" src="https://i.ytimg.com/vi/m5d1FlSeF-M/maxresdefault.jpg">
幅:計算値((100% - 40ピクセル)/ 3)。 20ピクセルの代わりに使用する必要があります。第1および第2の要素マージン20px + 20px。最後の要素にmargin-rightが適用されていることを確認します –
'calc'は有効で、これを自分で確認できます:' CSS.supports( "width"、 "calc((100% - 20px)/ 3)") 'returns'それはオペレータの周囲にスペースがないこととはまったく関係がありません。 – Xufox