それはCSSでこの最大のCalcの、またはCSSでのCALCの最大
max-width: calc(max(500px, 100% - 80px))
または
max-width: max(500px, calc(100% - 80px)))
ような何かをすることは可能ですか?
それはCSSでこの最大のCalcの、またはCSSでのCALCの最大
max-width: calc(max(500px, 100% - 80px))
または
max-width: max(500px, calc(100% - 80px)))
ような何かをすることは可能ですか?
いいえできません。 max()
とmin()
はCSS3値とユニットから削除されました。しかし、彼らはre-introduced in CSS4 Values and Unitsかもしれません。現在のところ仕様はありません。calc()
仕様では、いずれかがcalc()
関数内で有効であることは記載されていません。
ありがとうございます。同じ結果を得るための選択肢がありますか? – Arnaud
JavaScriptを使用して、要素の計算されたスタイル(実際に使用されているスタイル)を取得できます。 80pxを削除して500と比較し、どちらが大きいかを確認します。 width-80を取得するvar val = parseInt(window.getComputedStyle(el、null).getPropertyValue( "width")) - 80)とmax-widthを設定するel.style.maxWidthのようなものです。 –
ありがとうございます。しかし、私は純粋なCSSソリューションを好むだろう。 – Arnaud
回避方法は、width
を使用することです。
max-width: 500px;
width: calc(100% - 80px);
これは良い考えですが、@ Arnaudの質問を正しく理解しているならば、彼は '500px'または' 100%-80px'の最大幅を望んでいます。 '100%〜80px'が大きくても、あなたの解は最大幅を' 500px'に制限します。 – Theophilus
しかし、これは 'min()'を使うのと同じですので、おそらく他の人にとって役に立ちます。 – Seika85
上記の例でmax-widthの代わりにmin-widthを使用すると、ask-forの動作と同等になる可能性があります。 –
「純粋な」CSSのソリューションは、実際に今、メディアクエリを使用して可能である:
.yourselector {
max-width: calc(100% - 80px);
}
@media screen and (max-width: 500px) {
.yourselector {
max-width: 500px;
}
}
すばらしい解決策!私は実際にminの高さのためにそれを使用しました、明らかに 'max-height'のためにメディアクエリを使用するかもしれません+1 – avishic
@Amaud 同じ結果を持っているために、代替はありますか?
同様の結果が得られる非jsの純粋なCSSアプローチがあります。親要素のコンテナのパディング/マージンを調整する必要があります。
.parent {
padding: 0 50px 0 0;
width: calc(50%-50px);
background-color: #000;
}
.parent .child {
max-width:100%;
height:50px;
background-color: #999;
}
<div class="parent">
<div class="child"></div>
</div>
自分でそれらを試してみたことがありますか? –
@ gert-sønderbyによると、これらの2つを使用してください:min-width:500px;幅:calc(100%〜80px)。 – paulie4