Newer
Older
2023-ryuei / system / menu / style.css
body {
  font-family: 'Noto Sans JP', sans-serif;
  margin: 0;
  padding: 0;
  background-color: #f4f4f4;
  width: 100%;
}

.navbar {
  background-color: #333333;
  color: #f4f4f4;
  width: 100%;
  position: sticky;/* 2行だけの記述でfixedと同じ配置ができる*/
  top: 0;
  z-index: 100;
  box-shadow: 0px 4px 8px #adadad;
}

.barContainer {
  width: 80%;
  margin: auto;
  padding: 1em 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.navbar h1 {
  margin: 0;
  padding: 0;
}

.navbar nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
}

.navbar nav ul li {
  margin-right: 1em;
}

.navbar nav ul li a {
  text-decoration: none;
  color: #f4f4f4;
}

.navbar nav ul li a:hover {
  border-bottom: 2px solid #ccb540;
}

.navbar nav ul li:nth-child(2) a {
  color: #ccb540;
}
/* ここまでは共通で記載する */
.category{
  border-bottom: 1px solid #acacac;
  width: 100%;
}
.categoryContainer{
  display: grid;
  grid-template-columns: repeat(auto-fit, 300px);
  justify-content: center;
  grid-gap:1em;
  /*
  ウィンドウに合わせて自動で改行(中央揃え左揃え)を再現するにはflexboxでは難しかった。
  flex-wrap:wrapとjustify-content:centerでは改行した時に真ん中配置から始まっちゃうよーうまくいかないよー(>_<)
  しかし、gridなら4行でいけた。もっと短くできるかも。
  */
}
#menuContainer {
  width: 80%;
  margin:0 auto;
}

.menu-item {
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0px 0px 8px #acacac;
  padding: 0;
  text-align: center;
  width: 300px;
  margin: .5em auto;
}

.menu-item:hover {
  transform: scale(1.1);
  transition: transform 0.3s ease;
}

.menu-item img {
  width: 100%;
  height: 25vh;
  object-fit: cover;
  border-radius: 10px 10px 0 0 ;
  padding: 0;
}

.menu-item a img:hover{
  opacity:0.5;
}

.menu-item h3 {
  margin: 0 1em;
  font-size: 110%;
  border-bottom: 2px solid #acacac;
}

.price{
  font-size: 1.2vw;
}

@media screen and (max-width: 1164px){
  .navbar{
    width: 100%;
  }
  #menuContainer{
    width: 95%;
    margin: 0 auto;
  }
  .category{
    width: 80%;
    margin: 1em auto;
  }

  @media screen and (max-width: 793px){
    .category{
      text-align: center;
    }
    .categoryContainer{
      display: grid;
      grid-template-columns: repeat(auto-fit, 170px);
      justify-content: center;
    }
    .menu-item{
      width: 170px;
    }
    .barContainer {
      width: 80%;
      margin: auto;
      padding: 1em 0;
      flex-direction: column;
    }
  }
}