ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [바닐라 JS] 책 평가하는 사이트 제작하기 - 1
    웹/포토폴리오 2023. 1. 16. 23:42
    2023.1.16 한 것
    - html 코드 작성
    - css 코드 작성

    2023.1.17 
    - 블로그 수정

     

     

    더보기

    전체 구조 

    1. html

    a. 하나의 index.html로 설정한다.

    b. head 

    • 뷰포트 관련 정보를 적어두었다.
    • title은 Book Review
    • style은 외부 스타일 시트를 링크한다.
    • javascript는 defer 명령어를 통해 head 부분에 첨부한다.

    c. body

    • body는 main과 footer로 구성되어 있다. (header는 제외하였다.)
    • main 태크 안에 section, article로 구성되어 있고 BEM(Block Element Modifier)을 사용하여 가독성 있는 이름을 이용했다.
    • footer 태그 안에는 sr-only 클래스를 이용하여 스크린 리더를 이용하여 웹 접근성을 높였다.

     

     

    html

    <!DOCTYPE html>
    <html lang="ko">
      <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>Book Review</title>
        <!-- style -->
        <link rel="stylesheet" href="./style.css" />
        <!-- javascript -->
        <script defer src="script.js"></script>
      </head>
      <body>
        <main>
          <!-- title -->
          <section class="title">
            <h2>Book Reviews</h2>
          </section> 
    
          <!-- book -->
          <article class="book">
            <div class="book_image">
              <img src="./img/book1.jpg" alt="" />
            </div>
            <h4 id ="book_title">데미안</h4>
            <p id = "book_author">헤르만 헤세</p>
            <p id = "book_review">
              새는 싱클레어처럼 성장통을 겪고 있는 사람들을 의미하고 알은 그 사람들이 극복해야 할 시련을 의미하며 파괴한다는 말 자체가 극복, 아브락사스에게 나아가는 길 자체는 나락과 구원으로 얼룩진 인생을 의미한다. 그렇게 도달한 선과 악의 신 아브락사스는 역경이 있어야 성장도 있다는 깨달음을 주는 개념이 아닌가 하는 생각을 가져본다.
              </p>
          </article>     
        </main>
        <footer>
          <h1 class="sr-only">Copyright</h1>
          <p>
            2023 judith - hopps
          </p>
        </footer>
      </body>

     

    더보기

    전체 구조 

    2. css

    a. 하나의 스타일 시트를 이용했다. 

    b. 구글 웹 폰트를 이용하였다.

    c. root 변수를 설정하여 유지보수성을 가졌다.

    d. 기본 설정되어 있는 html 문서 css 설정을 무효화 설정하였다.

    e. 메인 구간

    • text-align을 중앙으로 배치하여 가독성을 살렸다.
    • article의 배경색을 웹 페이지와 달리 하여 사용자의 시선을 사로 잡았다.
    • 책 이미지는 display : block 과 margin: auto로 중앙 정렬을 하였고, 크기를 지정했다.

    f. 푸터 구간

    • 스크린 리더용으로 css 설정을 하여 웹 접근성을 높였다.
    • 글씨는 gray, opacity 설정을 통해 사용자의 시선이 분산되지 않도록 하였다.
     

    css

    /* 폰트 */
    @import url('https://fonts.googleapis.com/css2?family=Dongle:wght@300&display=swap');
    
    /* ===== 변수 구간 ===== */
    :root {
      --color-main: rgb(255,232,232);
      --color-background: rgba(233, 246, 246, 0.63);
      --color-author: rgb(242, 189, 189);
      
      --font-size-title: 44px;
      --font-size-subtitle: 42px;
      --font-size-author: 20px;
      --font-size-text: 18px;
    
      --img-size : 230px;
    }
    
    /* ===== 리셋 구간 ===== */
    
    body {
      margin: 0;
      font-family: "Dongle", sans-serif;
      background-color: var(--color-background);
      /* 개발용 설정 */
      min-height: 50vh;
      min-width: 30vw;
    }
    h4,p {
      margin:0px;
      padding:0px;
    }
    
    /* ===== 메인 구간 ===== */
    main{
      text-align: center;
    
    }
    /* title */
    .title{
      font-size: var(--font-size-title);
      text-decoration: underline 4px var(--color-main);
      text-underline-position:under;  
    }
    
    /* ===== 책 소개 구간 ===== */
    
    .book{
      background-color: white;
      width:80vw;
      margin:auto;
    }
    .book_image{
      padding: 3%;
      /* 이미지 정렬 */
      display:block;
      margin:auto;
    
      width:var(--img-size);
      height: var(--img-size);
      background-color: white;
      overflow: hidden;
    }
    .book h4{
      font-size: var(--font-size-subtitle);
      
    }
    #book_author{
      font-size:var(--font-size-author);
      color:var(--color-author);
      
    }
    #book_review{
      font-size:var(--font-size-text);
      padding: 0 10% 3% 10%;
      
    }
    
    footer{
      color:gray;
      opacity: 30%;
      text-align: center;
    }
    
    
    /* 스크린 리더용 */
    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border-width: 0;
    }

    완성

     

     

Designed by Tistory.