リサイズしてもヘッダーの高さはブラウザに合わせたい
やりたいこと
<header>
の要素をどのブラウザで見てもファーストビューのように一画面に収まるようにしたいです。
現状ではブラウザの高さを変えると<header>
が下のコンテンツに重なってしまい崩れてしまいます。タブレットで見たときは<header>
の要素が上部にあって、下が空きすぎています。
いい感じに収まるようにしたいです。
<header id="header">
<div class="head__inner">
<h2 class="subtitle">This is subtitle.</h2>
<h1 class="title">MAIN-TITLE</h1>
<p class="ruby">メインタイトル</p>
</div>
<div class="head__outer">
<div class="head__title">
<p class="lead">日本語のテキストが入ります。<br>
<span>Coming Soon...2019 Autumn</span></p>
</div>
<a href="#concept" class="scrollDown"><img src="./assets/img/scrollDown.png" alt=""></a>
</div>
</header>
.head__inner{
padding-top: 152px;
width: calc(100% - 20%);
margin: 0 auto;
text-align: center;
@include mq(md){
padding-top: 74px;
width: 100%;
}
.title{
font-size: 8.75rem;
font-weight: 600;
font-style: normal;
margin-top: 68px;
line-height: 100%;
@include mq(md){
font-size: 70px;
margin-top: 34px;
}
}
.subtitle{
font-size: 1.5rem;
font-weight: 500;
letter-spacing: 2px;
@include mq(md){
line-height: 1.3;
}
}
.ruby{
font-size: 16px;
margin-top: 40px;
}
}
.head__outer{
width: calc(100% - 50%);
margin: 0 auto;
margin-top: 68px;
text-align: center;
@include mq(md){
width: 100%;
margin: 0 auto;
margin-top: 68px;
}
.head__title{
width: calc(100% - 50%);
margin-right: auto;
margin-left: auto;
@include mq(sm){
width: 90%;
margin: 0 1rem;
}
@include mq(md){
width: 90%;
margin: 0 1rem;
}
}
.lead{
width: 100%;
line-height: 1.8;
text-align: center;
font-size: 1.375rem;
margin-right: auto;
margin-left: auto;
margin-bottom: 68px;
}
span{
letter-spacing: 0.08em;
padding-bottom: 28px;
font-size: 24px;
}
.lead::after{
content: "";
width: 100%;
position: relative;
top:0;
left: 0;
display: inline-block;
border-bottom: 1px solid #000;
transform: skew(1deg, -1deg);
}
.scrollDown{
height: 100%;
margin-top: 68px;
}
}
ブレイクポイントの設定は以下です。
$breakpoint-sm: 599px !default;
$breakpoint-md: 959px !default;
$breakpoint-lg: 1279px !default;
$breakpoints: (
'sm': 'screen and (max-width: 599px)',
'md': 'screen and (max-width: 959px)',
'lg': 'screen and (max-width: 1279px)'
) !default;
@mixin mq($breakpoint: md){
@media #{map-get($breakpoints, $breakpoint)}{
@content;
}
}
ブラウザをリサイズしたときの高さは取得できました。
const resize = () => {
let h = window.innerHeight;
let elm = document.getElementById('header');
elm.style.height = h + 'px';
console.log(h);
}
window.addEventListener('load',resize);
window.addEventListener('resize',resize);
ご回答宜しくお願い致します。