CSSのみで実装したBack to Topのサンプル

<div id="top"></div>
<h1>CSSのみで実装したBack to Topのサンプル</h1>
<p>一番下までスクロールしてください。</p>
<p>一番下までスクロールしてください。</p>
<p>一番下までスクロールしてください。</p>
<p>一番下までスクロールしてください。</p>
<p>一番下までスクロールしてください。</p>
<p>一番下までスクロールしてください。</p>
<footer id="footer">footer</footer>
<a href="#top" id="backToTop">Back To Top</a>
html {
  overflow: hidden;
}

body {
  height: 100vh;
  container-type: scroll-state;
  overflow: auto;
  scroll-behavior: smooth;
}

p + p {
  margin-top: 50vh;
}

#footer {
  display: grid;
  place-items: center;
  height: 300px;
  background: #ccc;
}

#backToTop {
  transform: translateY(0);
  transition: transform 0.5s;
  position: fixed;
  bottom: 20px;
  right: 20px;
  padding: 10px 20px;
  background: #333;
  color: #fff;
  text-decoration: none;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  opacity: 1;
}

@container scroll-state(scrollable: bottom) {
  #backToTop {
    transform: translateY(100px);
    opacity: 0;
  }
}

一番下までスクロールしてください。

一番下までスクロールしてください。

一番下までスクロールしてください。

一番下までスクロールしてください。

一番下までスクロールしてください。

一番下までスクロールしてください。

Back To Top

元記事を表示する