Skip to content
Merged
382 changes: 382 additions & 0 deletions assets/css/style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,382 @@
/* ====== reset ====== */
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

용도를 구분해서 주석을 잘 넣어주셨네요! 잘하셨습니다 :)

다만 이런 초기화 코드는 나중에 다른 html이나 css파일을 만들때 복사 붙여넣기하듯이 그대로 가져다쓰는게아니라, reset.css와 같이 따로 파일을 만들어서 필요한 파일에서 import해서 사용하는 방식이 좋지 않을까요 ? :) 초기화 목적뿐만이 아니라, 전역적인 스타일 처리를 해주는 파일도 따로 만들면 훨씬 관리가 수월해질거예요!


* {
margin: 0;
padding: 0;
font: inherit;
box-sizing: border-box;
word-break: keep-all;
}

html,
body {
font-family: "Pretendard Variable", Pretendard, sans-serif;
color: #374151;
font-size: 16px;
line-height: 1.4;
}

a {
color: inherit;
text-decoration: none;
}

img {
display: block;
max-width: 100%;
}

ul,
ol {
list-style: none;
}

/* ====== common ====== */

#wrap {
background: #fcfcfc;
}

.btn {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

버튼도 상태/조건에 따라 클래스이름과 스타일 규칙을 잘 구분해주셨네요! 잘하셨습니다 👍

display: inline-flex;
align-items: center;
justify-content: center;
padding: 0 5px;
color: #fff;
font-weight: 600;
background: #3692ff;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이렇게 반복적으로 사용되는 값들은 변수로 처리해서 재사용해주는게 코드 중복도 줄일 수 있고 관리도 수월할거예요. 예시를 드려보겠습니다 :)

:root {
  /* Colors */
  --primary-color: #3692ff;
  --primary-bg: #cfe5ff;
  --white: #fff;
  --dark-bg: #111827;
  --text-light: #9ca3af;
  --text-dark: #000;

  /* Layout */
  --container-width: 1120px;
  --container-margin: 200px;
  --header-height: 70px;
  --hero-height: 540px;
  --card-height: 444px;
  --footer-height: 160px;

  /* Spacing */
  --spacing-xs: 8px;
  --spacing-sm: 12px;
  --spacing-md: 24px;
  --spacing-lg: 32px;
  --spacing-xl: 64px;
  --spacing-xxl: 124px;

  /* Border Radius */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 40px;

  /* Font Sizes */
  --text-sm: 18px;
  --text-base: 24px;
  --text-lg: 40px;
}

transition: background 0.2s ease;
}
.btn:not(.white):hover {
background: #1967d6;
}
.btn:not(.white):active {
background: #1251aa;
}
.btn:not(.white):disabled {
background: #9ca3af;
cursor: default;
}

.btn.white {
border: 1px solid #3692ff;
color: #3692ff;
background: #f9fafb;
}

/* small */
.btn.sm {
min-width: 88px;
height: 48px;
font-size: 16px;
border-radius: 8px;
}

/* medium */
.btn.md {
min-width: 240px;
height: 48px;
font-size: 18px;
border-radius: 40px;
}

/* large */
.btn.lg {
min-width: 357px;
height: 56px;
font-size: 18px;
border-radius: 40px;
}

.btn.h40 {
height: 40px;
}

.inner {
max-width: 1120px;
width: calc(100% - 32px);
margin: 0 auto;
}

/* header */
.header {
/* position: sticky;
top: 0; */
display: flex;
align-items: center;
justify-content: center;
height: 70px;
background: #fff;
}
.header .inner {
display: flex;
align-items: center;
justify-content: space-between;
}
.header .logo a {
display: block;
width: 153px;
}

/* footer */
.footer {
padding: 32px 0 108px;
background: #111827;
}
.footer .inner {
display: flex;
align-items: center;
justify-content: space-between;
}
.footer .copy {
color: #9ca3af;
}
.footer .foot_link ul {
display: flex;
align-items: center;
}
.footer .foot_link ul a {
display: block;
padding: 0 15px;
color: #e5e7eb;
}
.footer .sns_link ul {
display: flex;
align-items: center;
}
.footer .sns_link ul a {
display: block;
padding: 0 6px;
}

/* ====== main ====== */
.main .inner {
padding: 0 5px;
}
.main .main_title {
font-size: 40px;
font-weight: 700;
}

/* visual_sec */
.main .visual_sec {
background: #cfe5ff;
}
.main .visual_sec .inner {
display: flex;
justify-content: space-between;
align-items: flex-end;
height: 540px;
}
.main .visual_sec .text_box {
padding-bottom: 100px;
flex: 0 0 auto;
}
.main .visual_sec .text_box .btn {
margin-top: 32px;
}

/* service_sec */
.main .service_sec {
background: #fff;
}
.main .service_article {
padding: 138px 0;
}
.main .service_cont {
display: flex;
align-items: center;
gap: 64px;
max-width: 988px;
margin: 0 auto;
background: #fcfcfc;
border-radius: 12px;
overflow: hidden;
}
.main .service_cont .category {
display: block;
margin-bottom: 12px;
font-size: 18px;
font-weight: 700;
color: #3692ff;
}
.main .service_cont .desc {
margin-top: 24px;
font-size: 24px;
font-weight: 500;
}

.main .service_article:nth-of-type(even) .service_cont {
flex-direction: row-reverse;
}
.main .service_article:nth-of-type(even) .text_box {
text-align: right;
}

.main .service_article:nth-of-type(1) .service_cont {
padding-left: 24px;
}

.main .service_article:nth-of-type(2) .service_cont {
padding-right: 14px;
}

/* banner_sec */
.main .banner_sec {
margin-top: 138px;
background: #cfe5ff;
}
.main .banner_sec .inner {
display: flex;
align-items: flex-end;
justify-content: space-between;
height: 540px;
}
.main .banner_sec .main_title {
padding-bottom: 172px;
flex: 0 0 auto;
}

@media screen and (max-width: 1920px) {
html {
font-size: 15px;
}
.header .inner {
max-width: none;
width: calc(100% - 400px);
}
}

@media screen and (max-width: 1200px) {
.header .inner {
width: calc(100% - 32px);
}
.main .main_title {
font-size: 36px;
}
.main .visual_sec .inner {
height: 400px;
}
.main .service_article {
padding: 80px 0;
}
.main .service_cont {
gap: 40px;
}
.main .service_cont .service_img,
.main .service_cont .text_box {
flex: 1;
}
.main .service_article:nth-of-type(1) .service_cont {
padding-left: 0;
}
.main .service_article:nth-of-type(2) .service_cont {
padding-right: 0;
}
.main .banner_sec {
margin-top: 100px;
}
.main .banner_sec .inner {
height: 400px;
}
}

@media screen and (max-width: 768px) {
.main .main_title {
font-size: 32px;
}
.main .visual_sec .inner {
display: block;
height: auto;
}
.main .visual_sec .text_box {
padding: 84px 0 210px;
text-align: center;
}
.main .service_article {
padding: 50px 0;
}
.main .service_cont {
display: block;
border-radius: 0;
}
.main .service_cont .service_img img {
width: 100%;
border-radius: 14px;
}
.main .service_cont .text_box {
margin-top: 24px;
}
.main .service_cont .desc {
font-size: 18px;
}
.main .banner_sec .inner {
display: block;
height: auto;
}
.main .banner_sec .main_title {
padding: 200px 0 216px;
text-align: center;
}
}

@media screen and (max-width: 480px) {
.btn.sm {
min-width: 128px;
font-size: 16px;
}
.btn.lg {
min-width: 240px;
height: 48px;
font-size: 18px;
}
.footer {
padding: 32px 0 65px;
}
.footer .inner {
position: relative;
align-items: flex-start;
flex-direction: column-reverse;
gap: 25px;
}
.footer .foot_link ul {
gap: 30px;
}
.footer .foot_link ul a {
padding: 0;
}
.footer .sns_link {
position: absolute;
top: 0;
right: 0;
}
.main .visual_sec .text_box {
padding: 48px 0 132px;
}
.main .visual_sec .text_box .btn {
margin-top: 18px;
}
.main .service_article {
padding: 30px 0;
}
.main .service_cont .service_img img {
border-radius: 7px;
}
.main .service_cont .category {
margin-bottom: 8px;
font-size: 16px;
}
.main .service_cont .text_box .main_title {
font-size: 24px;
}
.main .service_cont .desc {
margin-top: 16px;
font-size: 16px;
}
.main .banner_sec {
margin-top: 30px;
}
.main .banner_sec .main_title {
padding: 120px 0 130px;
}
}
3 changes: 3 additions & 0 deletions assets/images/common/ic_facebook.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions assets/images/common/ic_instagram.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions assets/images/common/ic_twitter.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading