[프론트] 포트폴리오

[project] html, css만으로 간단한 자기소개 웹사이트 만들기

미 성 2024. 5. 20. 23:50

 
 
 
안녕하세요 !
 
오늘은 html, css 두 가지만 사용하여 첫 자기소개 웹사이트 포트폴리오를 제작해 보았습니다.
 
웹 사이트 자체를 처음 제작해보기도 하고, 아직 html, css로만 구현할 수 있다보니 여러모로 간소한 결과물이 나오게 된 것 같지만, 처음이라는 것에 의미를 두고 블로그에 올려두려 합니다. 앞으로 꾸준히 배워나가며 더 복잡하고 다양한 기능과 디자인을 구현할 수 있도록 노력하겠습니다 !!
 
 
 

 
 
 

아쉬운 점

 
아직 지식적인 측면에서 제약이 있어 디자인을 조금 더 신경써야겠다 했던 게 다소 과하게 화려해지지 않았나 하는 아쉬움이 남습니다. 다음에는 좀 더 강조점을 둘 곳들을 위주로 하이라이트를 주면서 전체적으로는 심플하고 깔끔하게 보일 수 있도록 개선해야겠다는 생각이 들어요. ( 이번 웹사이트 제작은 스터디 과제였숩니다 ! ) 
 
 
 
 
아래는 작성 코드입니다.
 
 
 
 
HTML 코드

<!DOCTYPE html>
<html lang="eng">
    <head>
        <meta charset="UTF-8" />
        <title>my design</title>
        <link rel="stylesheet" href="port.css" />
    </head>

    <body>
        <header>
            <div class="first">
                <img
                    class="ring"
                    src="https://i.pinimg.com/564x/20/f3/df/20f3df2e7088331df16758ab140013ee.jpg"
                    alt="logo"
                />

                <span class="text-button">Log-in</span>
                <span class="text-button">Info</span>
                <span class="text-button">Contact</span>
            </div>

            <div class="silver">
                <img
                    src="https://i.pinimg.com/564x/1b/81/73/1b8173915fa8ff5534c935fa66ae605e.jpg"
                    alt="영롱"
                />
                <img
                    src="https://github.com/mimieee122/mslogo/blob/main/%EC%98%81%EB%A1%B1.png?raw=true"
                    alt="silver name"
                />
            </div>

            <div class="two">
                <span class="text-button">Home</span>
                <img
                    id="prf"
                    src="https://i.pinimg.com/564x/d2/70/55/d2705542ca1d6486cd3d5ba72d6bf014.jpg"
                    alt="profile"
                />
                <span class="text-button">User</span>
            </div>
        </header>

        <div class="ppt">
            <div class="logo"></div>
            <div class="logo"></div>
        </div>

        <div class="sentence">
            <p>" Hello, everyone. Welcome to my first website. "</p>
        </div>

        <div class="container">
            <div class="item" id="mimi">
                <img
                    src="https://github.com/mimieee122/mslogo/blob/main/chat.jpeg?raw=true"
                    alt="chat"
                    width="450px"
                    height="400px"
                />
                <img
                    src="https://github.com/mimieee122/mslogo/blob/main/%EA%B7%B8%EB%A6%BC5.png?raw=true"
                    alt="mimi"
                    width="450px"
                    height="200px"
                />
            </div>
            <div class="item">
                <img
                    src="https://github.com/mimieee122/mslogo/blob/main/%EA%B7%B8%EB%A6%BC4.png?raw=true"
                    alt="airdrop"
                    width="500px"
                    height="500px"
                />
            </div>
            <div class="item" id="char">
                <img
                    src="https://github.com/mimieee122/mslogo/blob/main/%EA%B7%B8%EB%A6%BC6.png?raw=true"
                    alt="char"
                    width="370px"
                    height="300px"
                />
            </div>

            <div class="item" id="chat">
                <img
                    src="https://github.com/mimieee122/mslogo/blob/main/%EA%B7%B8%EB%A6%BC7.png?raw=true"
                    alt="message"
                    width="750px"
                    height="180px"
                />
                <img
                    src="https://github.com/mimieee122/mslogo/blob/main/%EB%82%A8%EC%9E%90.png?raw=true"
                    alt="man"
                    width="300px"
                    height="400px"
                />
            </div>

            <div class="item" id="more">
                <p>Is there anything else you want to know about me? 👉</p>
                <button type="button">CLICK ! 🤩</button>
            </div>
            <div class="last">
                <div class="item">
                    <span class="text-button">2024 Portfolio 조미성</span>
                </div>
            </div>
        </div>
    </body>
</html>

 



 
 CSS 코드

* {
    margin: 0px;
    padding: 0px;
}

body {
    background-color: black;
    display: flex;
    flex-direction: column;
}

header {
    width: 100%;
    height: 30px;

    top: 0;
    color: white;
    background-color: transparent;
    border: 2px gray solid;
    padding: 20px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.ring {
    margin-left: 20px;
}

.text-button {
    margin-top: 8px;
    text-decoration: none; /* 밑줄 제거 */
    color: silver; /* 글자 색상 */
    font-size: 20px; /* 글자 크기 */
}

.text-button:hover {
    color: #fff; /* 마우스 오버 또는 포커스 시 글자 색상 */
    text-shadow: 0 0 8px silver; /* 빛나는 효과 */
}

.first {
    display: flex;
    flex-direction: row;
    gap: 40px;
}

.ring {
    width: 50px;
    height: 50px;
}

#prf {
    width: 30px;
    height: 30px;
}

.two {
    display: flex;
    flex-direction: row;
    gap: 40px;
    margin-right: 50px;
}

.silver {
    display: flex;
    flex-direction: row;
    justify-content: center;
    position: relative;
    padding-right: 100px;
    align-items: start;
}

.silver > img {
    position: absolute;
}

.silver > img:nth-child(1) {
    width: 150px;
    height: 150px;
    padding-bottom: 40px;
    z-index: 0;
}

.silver > img:nth-child(1):hover {
    transform: scale(1.1); /* 10% 확대 */
    transition: transform 0.3s ease; /* 부드러운 크기 변경 */
}

.silver > img:nth-child(2) {
    width: 130px;
    height: 90px;
    z-index: 1;
    margin-left: 100px;
}

.ppt {
    display: flex;
    flex-direction: row;
    justify-content: center;
    height: fit-content;
    margin-top: 100px;
    margin-bottom: 5px;
}

.logo:nth-child(1) {
    background-image: url('https://github.com/mimieee122/mslogo/blob/main/%EC%A7%84%EC%A7%9C%EB%A1%9C%EC%B0%90%EB%A7%89.jpg?raw=true');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 800px;
    height: 500px;
    padding-top: 10px;
    margin-bottom: 10px;
}

.logo:nth-child(1):hover {
    opacity: 0.5; /* 투명도 조정 */
    transition: opacity 0.5s ease; /* 부드러운 전환 효과 */
}

.logo:nth-child(2) {
    background-image: url('https://github.com/mimieee122/mslogo/blob/main/mimilogo.jpg?raw=true');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 800px;
    height: 500px;
    padding-top: 10px;
}

.logo:nth-child(2):hover {
    opacity: 0.5; /* 투명도 조정 */
    transition: opacity 0.5s ease; /* 부드러운 전환 효과 */
}

.container {
    display: grid;
    grid-template-columns: 2fr 2fr 2fr;
    grid-template-rows: 1fr 1fr 1fr;

    grid-template-areas:
        'header header header '
        '   a    '
        '   b     '
        '   footer    footer   ';
    justify-content: center;
    align-items: center;

    background-image: url('https://github.com/mimieee122/mslogo/blob/main/1real.jpg?raw=true');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-top: 100px;
}

.sentence {
    margin-top: 100px;
}

.sentence > p {
    color: #fff;
    text-decoration: none;
    font-size: 25px;
    font-weight: bolder;
    text-shadow: 0 0 8px white; /* 빛나는 효과 */
    text-align: center;
}

.item:nth-child(1) {
    margin-top: 150px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
}

.item:nth-child(1) > img:nth-child(1) {
    align-self: center;
    justify-self: center;
    border: darkblue 5px solid;
    padding: 0px;
}

.item:nth-child(1) > img:nth-child(2) {
    align-self: center;
    justify-self: center;
    padding: 0px;
    position: absolute;
    bottom: -140px;
    z-index: 1;
}

.item:nth-child(2) {
    margin-top: 150px;
    justify-self: center;
    padding: 0px;
}

.item:nth-child(2):hover {
    opacity: 50%;
    transition: opacity 0.5s ease; /* 부드러운 전환 효과 */
}

.item:nth-child(3) {
    margin-top: 150px;
    justify-self: start;
    padding: 0px;
}

#char:hover {
    transform: scale(1.2); /* 10% 확대 */
    transition: transform 0.3s ease; /* 부드러운 크기 변경 */
}

#mimi :hover {
    transform: scale(1.1); /* 10% 확대 */
    transition: transform 0.3s ease; /* 부드러운 크기 변경 */
}

#chat {
    grid-column: 1/4;
    grid-row: 2/3;
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 0px;
    margin-top: 270px;
    position: relative;
    padding-bottom: 0px;
    margin-bottom: 0px;
}

#chat > img:nth-child(2) {
    position: absolute;
    z-index: 1;
    right: 150px;
}

#more {
    grid-column: 1/4;
    grid-row: 3/4;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

#more > p {
    color: #fff;
    text-decoration: none;
    font-size: 25px;
    font-weight: bolder;
    text-shadow: 0 0 8px white; /* 빛나는 효과 */
    text-align: center;
    font-family: Arial, Helvetica, sans-serif;
}

#more > button {
    color: white;
    text-shadow: 0 0 8px white; /* 빛나는 효과 */

    background-color: green;
    width: 150px;
    height: 60px;
    border-radius: 32px;
    font-size: larger;
}

.last {
    grid-column: 1/4;
    grid-row: 4/5;
    display: flex;
    width: 100%;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    border-top: gray 1px solid;
}

 
 
 
 
 

 
 
 
 
 
 
 
마치며
 
 
 
 
개인적으로 이번 과정에서 뿌듯(?) 하면서도 참 미련했던 부분이 있었는데요.. 사실 위와같은 디자인 속 글자들은 사실 모두.. 제가 알파벳 하나하나 누끼따와 만든 것입니다...
 
제가 디자인을 배운 적이 없다보니 이런 3D 특수 알파벳들을 어떤 사이트나 앱에서 만들어야 하는지 모르겠더라고요. 그 밖에도 다양한 누끼들을 모두 손수 한땀한땀 만들게 되었는데... 언젠가는 이런 디자인도 몇 분 내로 뚝딱 만들어내는 전문가가 되어 있으면 좋겠네요. 사실 이번 기회로 디자인이라는 분야가 생각보다 재밌다는 느낌도 받았기 때문에 ... ! 기회가 된다면 조금씩 배워나가 보겠습니다!
 
 

 


 


 
오늘도 방문해주셔서 감사합니다 ! 🙂‍↕️🫡💛