計算式で値を指定する方法
「100%から4pxを引いた数を設定したい」など、計算式を値に設定したい場合は、calc関数を利用します。
サンプルコード
calc()の括弧内に計算式を指定します。演算記号の左右には半角スペースを入れる必要があります。
div {
width: calc( 100% - 50px ) ;
}
デモ
%とpxの組み合わせ
「100%から50pxを引いた数値」をwidthプロパティに指定する例です。このように具体的に指定できない値を算出できるのが特徴です。
<!-- このコードは編集できます。 -->
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: calc( 100% - 50px ) ;
background: peachpuff ;
}
</style>
</head>
<body>
<div>100%から50px引いた分の横幅です。</div>
</body>
</html>
活用例
width: 100%
の要素にmargin、padding、borderを加えると、幅をはみ出してしまいます。何故なら、要素の幅はwidth + padding + margin + borderの合計だからです。100%の横幅にmargin、padding、borderを加えたい場合にcalc関数が有用です。例えば下記は、左右のborder幅(25px * 2 = 50px)を100%から引いたことで、要素が画面幅にフィットしています。
<!-- このコードは編集できます。 -->
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: calc( 100% - 50px ) ;
border: 25px solid #000 ;
}
</style>
</head>
<body>
<div>100%から50px引いた分の横幅です。</div>
</body>
</html>
関連記事
- dl要素を横並びにする方法
- dl要素を横並びに表示するには、dt要素にfloat: leftを適用し、dd要素の左余白を設けます。
- 三角形を作る方法
- CSSで三角形を作るには、横幅、高さが0の要素に幅の厚い枠線を付けます。
- テキストに影を付ける方法
- テキストに影を付けるには、text-shadowを利用します。
- テキストを上下で中央揃えする方法
- テキストを上下で中央揃えするには、heightとline-heightに同じ高さを指定しましょう。
- 画像や要素に枠線を付ける方法
- 画像などに枠線を付けるには、borderプロパティを利用します。
- 表示されるタブの幅を変更する方法
- 表示されるタブの幅を指定するには、tab-sizeプロパティを利用します。