본문 바로가기
웹/CSS

[코딩 공부_36] CSS로 카카오 실습 꾸미기

by BEE_0o0 2021. 3. 17.

수업시간에 계속 카카오 실습을 하고 있다😊

각 페이지마다 html 코드를 작성하고 CSS로 꾸미는 작업을 하고 있고, 지금 홈-채팅-뉴스까지 했다

CSS로 꾸미는 작업까지 들어가니 재밌기도 하고 복잡했다 ㅎㅎ,,

사실 vertical align으로 정렬하는 방법을 들었을 땐 알겠는데 막상 내가 칠땐 엄청 헤매서 할때마다 검색했었는다 ,,

요번에 수업들으면서 개념을 딱 알게 됬다 ! 주말에 꼭 한번더 실습해보고 내 지식으로 만들겠다!!😤

 

<reset.css>

@charset "utf-8";
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
ul {
    list-style: none;
}
a {
    text-decoration: none;
    color: inherit;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
}

 

<main.css>

@charset "utf-8";
@import "./home.css";
@import "./chat.css";
@import "./news.css";
@import "./reset.css";
    /* layout */
    #app {
        width: 500px;
        margin: 0 auto;
        margin-top: 100px;
        border-radius: 20px;
        overflow: hidden;
        border: 1px solid #ddd;
    }
    main {
        height: 500px;
    }
    header {
        height: 100px;
        background-color: #fcce01;
    }
    header .logo {
        color: #fff;
        text-align: center;
        line-height: 100px;
        text-transform: uppercase;
    }
    footer {
        height: 50px;
        background-color: crimson;
    }
    footer ul {
        height: 50px;
        background-color: skyblue;
        font-size: 0;
    }
    footer ul li {
        display: inline-block;
        background-color: #eee;
        /* border: 1px solid #000; */
        width: 25%;
        font-size: 16px;
        height: 100%;
        text-align: center;
        line-height: 50px;
    }
    footer ul li i {
        vertical-align: middle;
        padding-bottom: 5px;
    }
    footer ul li a {
        display: block;
    }
    footer ul li a:hover {
        color : #fff;
        background-color: #3e313750;
    }

 

<home.css>

@charset "utf-8";
main .home-container {
    background-color: #fcce01;
    text-align: center;
    line-height: 500px;
}

 

<어제 제작한 home.html>

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>kakao - home</title>
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/xeicon@2.3.3/xeicon.min.css">
<link rel="stylesheet" href="./css/main.css">
</head>
<body>

    <div id="app">
        <header></header>
        <main>
            <div class="home-container">
                <i class="xi-kakaotalk xi-5x"></i>
            </div>
        </main>
        <footer>
            <ul>
                <li>
                    <a href="home.html">
                        <i class="xi-home xi-2x"></i>
                    </a>
                </li>
                <li>
                    <a href="chat.html">
                        <i class="xi-speech-o xi-2x"></i>
                    </a>
                </li>
                <li>
                    <a href="news.html">
                        <i class="xi-search xi-2x"></i>
                    </a>
                </li>
                <li>
                    <a href="more.html">
                        <i class="xi-ellipsis-h xi-2x"></i>
                    </a>
                </li>
            </ul>
        </footer>
    </div>
</body>
</html>

 

<결과화면>


 

<chat.css>

@charset "utf-8";
.chat-container {
    padding: 1%;
    height: 100%;
    overflow: auto;
    width: calc(100% + 20px);
}
.chat-item {
    padding-left: 5px;
    padding-right: 5px;
}
.chat-item div {
    display: inline-block;
}
.chat-item .img-box {
    width: 20%;
    vertical-align: top;
    padding: 1%;
}
.chat-item .img-box img {
    width: 100%;
    vertical-align: top;
    border-radius: 70%;

}
.chat-item .message {
    padding-left: 20px;
    margin-top: 35px;
    width: 65%;
}
.chat-item .time {
    margin-top: 35px;
    vertical-align: top;
    font-size: 10px;
    width: 15%;
    color: #adadad;
}

 

<chat.html>

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>kakao - home</title>
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/xeicon@2.3.3/xeicon.min.css">
<link rel="stylesheet" href="./css/main.css">
</head>
<body>

    <div id="app">
        <header>
            <h1 class="logo">
                kakao talk
            </h1>
        </header>
        <main>
            <div class="chat-container">
                <div class="chat-item">
                    <!-- img -->
                    <div class="img-box">
                        <img src="./image/profile.JPG" alt="">
                    </div><!-- massage --><div class="message">
                        <h3>박한성</h3>
                        <h5>안녕하세요</h5>
                    </div><div class="time">
                        오후 1시 20분
                    </div>
                </div>
                <div class="chat-item">
                    <!-- img -->
                    <div class="img-box">
                        <img src="./image/profile.JPG" alt="">
                    </div><!-- massage --><div class="message">
                        <h3>박한성</h3>
                        <h5>안녕하세요</h5>
                    </div><div class="time">
                        오후 1시 20분
                    </div>
                </div>
                <div class="chat-item">
                    <!-- img -->
                    <div class="img-box">
                        <img src="./image/profile.JPG" alt="">
                    </div><!-- massage --><div class="message">
                        <h3>박한성</h3>
                        <h5>안녕하세요</h5>
                    </div><div class="time">
                        오후 1시 20분
                    </div>
                </div>
                <div class="chat-item">
                    <!-- img -->
                    <div class="img-box">
                        <img src="./image/profile.JPG" alt="">
                    </div><!-- massage --><div class="message">
                        <h3>박한성</h3>
                        <h5>안녕하세요</h5>
                    </div><div class="time">
                        오후 1시 20분
                    </div>
                </div>
                <div class="chat-item">
                    <!-- img -->
                    <div class="img-box">
                        <img src="./image/profile.JPG" alt="">
                    </div><!-- massage --><div class="message">
                        <h3>박한성</h3>
                        <h5>안녕하세요</h5>
                    </div><div class="time">
                        오후 1시 20분
                    </div>
                </div>
                <div class="chat-item">
                    <!-- img -->
                    <div class="img-box">
                        <img src="./image/profile.JPG" alt="">
                    </div><!-- massage --><div class="message">
                        <h3>박한성</h3>
                        <h5>안녕하세요</h5>
                    </div><div class="time">
                        오후 1시 20분
                    </div>
                </div>
                <div class="chat-item">
                    <!-- img -->
                    <div class="img-box">
                        <img src="./image/profile.JPG" alt="">
                    </div><!-- massage --><div class="message">
                        <h3>박한성</h3>
                        <h5>안녕하세요</h5>
                    </div><div class="time">
                        오후 1시 20분
                    </div>
                </div>
            </div>
        </main>
        <footer>
            <ul>
                <li>
                    <a href="home.html">
                        <i class="xi-home-o xi-2x"></i>
                    </a>
                </li>
                <li>
                    <a href="chat.html">
                        <i class="xi-speech xi-2x"></i>
                    </a>
                </li>
                <li>
                    <a href="news.html">
                        <i class="xi-search xi-2x"></i>
                    </a>
                </li>
                <li>
                    <a href="more.html">
                        <i class="xi-ellipsis-h xi-2x"></i>
                    </a>
                </li>
            </ul>
        </footer>
    </div>
</body>
</html>


<news.css>

@charset "utf-8";
nav.tnb {
    font-size: 0;
}
nav.tnb ul {
    border-bottom: 1px solid #eee;
    /* background-color: skyblue; */
}
nav.tnb ul li {
    height: 50px;
    display: inline-block;
    font-size: 16px;
    width: calc(100% / 3);
    text-align: center;
    /* border: 1px solid #000;
    background-color: tomato; */
    line-height: 50px;
}
nav.tnb ul li:nth-child(1), nav.tnb ul li:nth-child(2) {
    border-right: 1px solid #eee;
}
.news-container {
    padding: 2%;
}
.news-container ul {
    font-size: 0;
    border-bottom: 1px solid #eee;
    padding: 10px 0;
}
.news-container ul li{
    height: 110px;
    /* 16px > root em */
    font-size: 1rem;
    display: inline-block;
    font-weight: bold;
}
.news-container ul li img{
    height: 100%;
    width: 100%;
}
.news-container ul li:nth-child(1){
    width: 10%;
    vertical-align: top;
    text-align: center;
    padding-top: 40px;
}
.news-container ul li:nth-child(2){
    width: 60%;
    vertical-align: top;
}
.news-container ul li:nth-child(2) p{
padding-top: 40px;
}
.news-container ul li:nth-child(3){
    width: 30%;
}

 

<news.html>

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>kakao - home</title>
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/xeicon@2.3.3/xeicon.min.css">
<link rel="stylesheet" href="./css/main.css">
</head>
<body>

    <div id="app">
        <header>
            <h1 class="logo">
                kakao talk
            </h1>
        </header>
        <main>
            <nav class="tnb">
                <ul>
                    <li>뉴스</li>
                    <li>연예</li>
                    <li>스포츠</li>
                </ul>
            </nav>
            <!-- new container -->
            <div class="news-container">
                <ul class="news-item">
                    <li>
                        <span>1</span>
                    </li>
                    <li>
                        <p>[단독] 이재용이 찾은 또다른 성형외과</p>
                    </li>
                    <li>
                        <img src="./image/leejaeyong.jpg" alt="leejaeyong" title="leejaeyong">
                    </li>
                </ul>
                <ul class="news-item">
                    <li>
                        <span>2</span>
                    </li>
                    <li>
                        <p>윤스테이 뜨자마자 리뷰 1만개</p>
                    </li>
                    <li>
                        <img src="./image/yun_stay.jpg" alt="yun_stay" title="yun_stay">
                    </li>
                </ul>
                <ul class="news-item">
                    <li>
                        <span>3</span>
                    </li>
                    <li>
                        <p>코로나19 > 결혼식 지연</p>
                    </li>
                    <li>
                        <img src="./image/corona-wed.jpg" alt="corona-wed" title="corona-wed">
                    </li>
                </ul>
            </div>
        </main>
        <footer>
            <ul>
                <li>
                    <a href="home.html">
                        <i class="xi-home-o xi-2x"></i>
                    </a>
                </li>
                <li>
                    <a href="chat.html">
                        <i class="xi-speech-o xi-2x"></i>
                    </a>
                </li>
                <li>
                    <a href="news.html">
                        <i class="xi-check-circle xi-2x"></i>
                    </a>
                </li>
                <li>
                    <a href="more.html">
                        <i class="xi-ellipsis-h xi-2x"></i>
                    </a>
                </li>
            </ul>
        </footer>
    </div>
</body>
</html>


* vertical align에 대한 개념을 정확하게 알게 되었고, overflow했을 때 옆에 생기는 스크롤 바를 없애는 방법도 알게 되었다 

(overflow: auto;)

vertical align으로 중앙정렬하는 방법은 한번 더 포스팅 하도록 하겠다!

* calc에 대해서도 알게 되었다 계산기와 같은 개념으로 사용하는 것인데 수학같은 친구여서 우와우..하고 넘어갔다 ㅎㅎ

수업으로 듣기만 했을 땐 오 할 수 있을 거 같아!! 했었는데 막상 내가 쳐보니 잘안되는 부분이 많았어서 막막했는데 이렇게 다시 찝어서 보니 이해가 잘된다 ㅎㅎ!! 내일도 열심히 집중해서 코딩수업을 들어야겠다 화이팅

댓글