cssで、単位が違う値を用いて、高さや幅を指定する方法をご紹介します。
calcを使おう!
関数calc
を使うと、単位が異なる値同士で計算できます!
height: calc(50% - 90px));
サンプルソース
index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<title>sample</title>
<link rel="stylesheet" href="css/style.css" />
</head>
<body>
<header></header>
<main></main>
<div class="box"></div>
<footer></footer>
</body>
</html>
css/style.css
html,
body {
overflow: hidden;
height: 100%;
}
header {
height: 50px;
background-color: pink;
}
main {
height: 50%;
background-color: yellowgreen;
}
.box {
height: calc(50% - 90px);
background-color: skyblue;
}
footer {
height: 40px;
background-color: pink;
}
ピンク色のヘッダーとフッターはpx指定、そして黄緑色のメインは%指定しています。
目的はdivタグ(boxクラス)の高さをbodyタグ内に収まるようにすること。calc
を使って調整できました。
参考になれば幸いです!