커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
.append로 붙인 새 카드들에 css가 적용되지 않습니다.
[왕초보] 웹개발 종합반 v0
4주차
북마크
김*혜
댓글
3
추천
0
조회수
15
조회수
15
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


4주차 숙제 내용인 기존의 카드들을 없애고 firebase doc에서 가져온 새로운 카드들을 붙이기에는 성공했는데 새로운 카드들에 기존 mycards의 css가 적용이 되지 않아 화면 레이아웃이 기존과 달라집니다... ai 코드 첨삭 해봤는데 오류가 없다는데 뭐가 문제인가요...?







작성한 코드 및 에러 메세지

<!DOCTYPE html>

<html lang="en">


<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>나만의 추억앨범</title>

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"

    integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">


  <style>

    @import url('https://fonts.googleapis.com/css2?family=Hahmlet&display=swap');


    * {

      font-family: 'Hahmlet', serif;

    }


    .mytitle {

      height: 250px;

      color: white;


      display: flex;

      flex-direction: column;

      align-items: center;

      justify-content: center;


      background-image: url('https://images.unsplash.com/photo-1511992243105-2992b3fd0410?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80');

      background-position: center;

      background-size: cover;

    }


    .mytitle > button {

      width: 150px;

      height: 50px;

      background-color: transparent;

      color: white;

      border: 1px solid white;

      border-radius: 5px;


      margin-top: 20px;

    }


    .mycards {

      width: 1200px;

      margin: 30px auto 0px auto;

    }


    .mypostingbox {

      width: 500px;

      margin: 30px auto 0px auto;

      padding: 20px;

      box-shadow: 0px 0px 3px 0px blue;

      border-radius: 5px;

    }


    .mybtn {

      display: flex;

      flex-direction: row;

      align-items: center;

      justify-content: center;

    }


    .mybtn > button {

      margin-right: 5px;

    }

  </style>

  <script type="module">

    // Firebase SDK 라이브러리 가져오기

    import { initializeApp } from "https://www.gstatic.com/firebasejs/9.22.0/firebase-app.js";

    import { getFirestore } from "https://www.gstatic.com/firebasejs/9.22.0/firebase-firestore.js";

    import { collection, addDoc } from "https://www.gstatic.com/firebasejs/9.22.0/firebase-firestore.js";

    import { getDocs } from "https://www.gstatic.com/firebasejs/9.22.0/firebase-firestore.js";



    // Firebase 구성 정보 설정

    const firebaseConfig = {

      apiKey: "AIzaSyDQFl3Ia0TMGbM0CLCcla6GN4gHMcf8Aaw",

      authDomain: "sparta-73037.firebaseapp.com",

      projectId: "sparta-73037",

      storageBucket: "sparta-73037.appspot.com",

      messagingSenderId: "845246616555",

      appId: "1:845246616555:web:2cd91b8a53588c07b0ffae"

    };;



    // Firebase 인스턴스 초기화

    const app = initializeApp(firebaseConfig);

    const db = getFirestore(app);


    $("#postingbtn").click(async function () {

      let image = $('#image').val();

      let title = $('#title').val();

      let content = $('#content').val();

      let date = $('#date').val();


      let doc = {

        'imege': image,

        'title': title,

        'content': content,

        'date': date

      };

      await addDoc(collection(db, "albums"), doc);

      alert('저장 완료!')

      window.location.reload();

    })


    let url = "http://spartacodingclub.shop/sparta_api/seoulair";

    fetch(url).then(res => res.json()).then(data => {

      let mise = data['RealtimeCityAir']['row'][0]['IDEX_NM']

      $('#msg').text(mise)

    })


    $("#card").empty();


    let docs = await getDocs(collection(db, "albums"));

    docs.forEach((doc) => {

      

      let row = doc.data();


      let image = row['image'];

      let title = row['title'];

      let content = row['content'];

      let date = row['date'];


      let temp_html = `

      <div class="col">

        <div class="card h-100">

          <img src="${image}"

            class="card-img-top" alt="...">

          <div class="card-body">

            <h5 class="card-title">${title}</h5>

            <p class="card-text">${content}</p>

          </div>

          <div class="card-footer">

            <small class="text-body-secondary">${date}</small>

          </div>

        </div>

      </div>`;


      $('#mycards').append(temp_html);

    });


    $("#savebtn").click(async function () {

      $('#postingbox').toggle();

    })

  </script>

</head>


<body>

  <div class="mytitle">

    <h1>나만의 추억앨범</h1>

    <p>현재 서울의 미세먼지: <span id="msg">나쁨</span></p>

    <button id="savebtn">추억 저장하기</button>

  </div>

  <div class="mypostingbox" id="postingbox">

    <div class="form-floating mb-3">

      <input type="email" class="form-control" id="image" placeholder="앨범 이미지">

      <label for="floatingInput">앨범 이미지</label>

    </div>

    <div class="form-floating mb-3">

      <input type="email" class="form-control" id="title" placeholder="앨범 제목">

      <label for="floatingInput">앨범 제목</label>

    </div>

    <div class="form-floating mb-3">

      <input type="email" class="form-control" id="content" placeholder="앨범 내용">

      <label for="floatingInput">앨범 내용</label>

    </div>

    <div class="form-floating mb-3">

      <input type="email" class="form-control" id="date" placeholder="앨범 날짜">

      <label for="floatingInput">앨범 날짜</label>

    </div>

    <div class="mybtn">

      <button id="postingbtn" type="button" class="btn btn-primary">기록하기</button>

      <button type="button" class="btn btn-outline-primary">닫기</button>

    </div>

  </div>

  <div id="mycards">

    <div id="card" class="row row-cols-1 row-cols-md-4 g-4">

      <div class="col">

        <div class="card h-100">

          <img src="https://images.unsplash.com/photo-1446768500601-ac47e5ec3719?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1446&q=80"

            class="card-img-top" alt="...">

          <div class="card-body">

            <h5 class="card-title">앨범 제목</h5>

            <p class="card-text">앨범 내용</p>

          </div>

          <div class="card-footer">

            <small class="text-body-secondary">앨범 날짜</small>

          </div>

        </div>

      </div>

      <div class="col">

        <div class="card h-100">

          <img src="https://images.unsplash.com/photo-1446768500601-ac47e5ec3719?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1446&q=80"

            class="card-img-top" alt="...">

          <div class="card-body">

            <h5 class="card-title">앨범 제목</h5>

            <p class="card-text">앨범 내용</p>

          </div>

          <div class="card-footer">

            <small class="text-body-secondary">앨범 날짜</small>

          </div>

        </div>

      </div>

      <div class="col">

        <div class="card h-100">

          <img src="https://images.unsplash.com/photo-1446768500601-ac47e5ec3719?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1446&q=80"

            class="card-img-top" alt="...">

          <div class="card-body">

            <h5 class="card-title">앨범 제목</h5>

            <p class="card-text">앨범 내용</p>

          </div>

          <div class="card-footer">

            <small class="text-body-secondary">앨범 날짜</small>

          </div>

        </div>

      </div>

      <div class="col">

        <div class="card h-100">

          <img src="https://images.unsplash.com/photo-1446768500601-ac47e5ec3719?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1446&q=80"

            class="card-img-top" alt="...">

          <div class="card-body">

            <h5 class="card-title">앨범 제목</h5>

            <p class="card-text">앨범 내용</p>

          </div>

          <div class="card-footer">

            <small class="text-body-secondary">앨범 날짜</small>

          </div>

        </div>

      </div>

    </div>

  </div>

</body>


</html>


취소
 공유
취소
댓글 0
댓글 알림
나의얼굴