6月20日の作業(レスポンシブ演習)
index.html
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>レスポンシブ演習</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Dancing+Script&display=swap" rel="stylesheet"> <link rel="stylesheet" href="css/style.css"> </head> <body> <header> <h1>Cafe de Felica</h1> <nav class="g-nav"> <ul> <li><a href="#">Top</a></li> <li><a href="#">Concept</a></li> <li><a href="#">Menu</a></li> <li><a href="#">Access</a></li> </ul> </nav> </header> <div class="main-visual"> <img src="img/main.jpg" alt=""> </div> <div class="main-txt"> <h2>Cafe de Felicaは<br class="sp"> 食とアートと音楽が<br class="sp"> 交差する空間を創造します。</h2> <p>シェフ・矢島が提供するのは、イタリア料理に「東京」のエッセンスを取り入れたモダンイタリアン。<br> 店内は、新進気鋭のアーティストとコラボレーションしたアートギャラリー。<br> 心地よいチルアウトミュージックが流れる空間でくつろぎのひとときをお過ごしください。</p> </div> <h2 class="news-title">News</h2> <dl class="news-list"> <dt>2022/06/20</dt> <dd>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nostrum magni rerum non aperiam suscipit reiciendis.</dd> <dt>2022/06/19</dt> <dd>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nostrum magni rerum non aperiam suscipit reiciendis.</dd> <dt>2022/06/18</dt> <dd>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nostrum magni rerum non aperiam suscipit reiciendis.</dd> <dt>2022/06/17</dt> <dd>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nostrum magni rerum non aperiam suscipit reiciendis.</dd> </dl> <div class="content-wrapper"> <div class="content-box"> <a href="#"> <h3>Concept</h3> <p class="photo"><img src="img/01.jpg" alt=""></p> <p class="txt">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Vel odit, quod possimus sunt aperiam labore?</p> </a> </div><!-- /.content-box --> <div class="content-box"> <a href="#"> <h3>Menu</h3> <p class="photo"><img src="img/02.jpg" alt=""></p> <p class="txt">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Vel odit, quod possimus sunt aperiam labore?</p> </a> </div><!-- /.content-box --> <div class="content-box"> <a href="#"> <h3>Access</h3> <p class="photo"><img src="img/03.jpg" alt=""></p> <p class="txt">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Vel odit, quod possimus sunt aperiam labore?</p> </a> </div><!-- /.content-box --> </div><!-- /.content-wrapper --> <footer> <p><small>© 2001-2022 Cafe de Felica</small></p> </footer> </body> </html>
style.css
body{ font-family: 'Dancing Script', cursive; font-size: 20px; } header{ width: 100%; height: 100px; background-color: var(--main_color); display: flex; justify-content: space-between;/* 横方向の揃え */ align-items: center;/* 縦方向の揃え */ padding-left: 40px; } h1{ color: #FFF; } .g-nav{ width: 50%; } .g-nav>ul{ display: flex; justify-content: center; } .g-nav li{ margin: 0 20px; } .g-nav a{ display: block; padding:20px 24px; color: #FFF; font-weight: bold; } .g-nav a:hover{ text-decoration: underline 4px #94c0de; text-underline-offset: 4px; } .main-visual{ max-width: 960px; height: 350px; margin: 60px auto; } .main-visual>img{ object-fit: cover; object-position: left top; width: 100%; height: 100%; } .main-txt{ text-align: center; margin-bottom: 100px; } .main-txt>h2{ margin-bottom: 40px; } .main-txt>p{ line-height: 2; } .news-title{ text-align: center; margin-bottom: 40px; color: var(--main_color); font-size: 28px; } .news-list{ max-width: 960px; margin: 0 auto 100px; display: flex; flex-wrap: wrap; justify-content: space-between; } .news-list>dt{ width: 25%; background-color: var(--main_color); color: #FFF; padding: 16px 10px; margin-bottom: 20px; font-weight: bold; } .news-list>dd{ width: 70%; margin-bottom: 20px; line-height: 1.7; } .content-wrapper{ max-width: 960px; display: flex; justify-content: space-between; margin: 0 auto 160px; } .content-box{ width: calc((100% - 40px) / 3); padding: 14px; } .content-box:hover{ box-shadow:0 0 10px #b5b5b5; transition: 0.3s; } .content-box>a{ color: #222; } .content-box>a:hover img{ transform: scale(1.2); transition: 0.3s; } .content-box h3{ border-left: 16px solid var(--main_color); border-bottom: 1px solid var(--main_color); padding: 2px 0 2px 12px; margin-bottom: 10px; } .photo{ width: 100%; height: 200px; margin-bottom: 10px; overflow: hidden; } .photo>img{ object-fit: cover; width: 100%; height: 100%; } .txt{ line-height: 1.8; } footer{ width: 100%; height: 100px; background-color: var(--main_color); } footer>p{ text-align: center; line-height: 100px; color: #FFF; } .sp{ display: none; } @media (max-width:1000px){ header{ display: block; height: auto; } h1{ text-align: center; padding: 10px 0; } .g-nav{ width: 100%; } } @media (max-width:959px){ .main-txt,.news-list{ padding: 0 10px; } } @media (max-width:767px){ header{ padding-left: 0; } .content-wrapper{ flex-wrap: wrap; } .content-box{ width: calc((100% - 20px) / 2); margin-bottom: 20px; } } @media (max-width:500px){ .g-nav li{ width: 25%; margin: 0; } .g-nav a{ display: block; padding: 0; text-align: center; line-height: 40px; background-color: #762733; } .main-visual{ height: 40vh; } .news-list{ display: block; } .news-list>dt{ width: 50%; margin-bottom: 10px; } .news-list>dd{ width: 100%; margin-bottom: 28px; } .content-wrapper{ display: block; } .content-box{ width: 100%; } .sp{ display: block;/* 無効にした改行を有効に戻す */ } }