/* 테블릿 사이즈 이상으로 넘어가면 데스크톱의 레이아웃 */
@media only screen and (min-width : 992px) {
#wrap {
width: 100%;
min-height: 100vh;
background-color: blueviolet;
}
}
/* 모바일 기준기본 스타일 */
/* 모바일 사이즈일 떄 */
/* 스타일 시트 작성할떄 TIP */
/* 최소 3뎁스 까지 사용하는게 좋다 가독성 이슈 */
*{
margin: 0px;
padding: 0px;
}
#wrap {
width: 100%;
min-height: 100vh;
}
#wrap .gnb {
height: 60px;
background-color: #444;
display: flex; /* 태그의 내용을 나열할 때 정렬을 정의할 떄 사용한다. 요소의 display와 상관 없이 요소의 정렬의 정의한다. */
/* flex를 사용할 때 사용할 수 있는 속성. */
/* align-items : 좌우의 정렬을 관리할때 row 기준 */
/* justify-content : 좌우 정렬을 관리할 떄 row 기준 culumn 기준은 상하가 바뀐다. */
align-items: center;
justify-content: space-between;
}
#wrap .logo {
color: white;
line-height: 32px; /* text의 높이 정의 font-size에 맞게 지정해서 스타일 작업을 하는것이 일반적 */
}
#wrap .gnb .gnb-button{
display: block;
width: 60px;
height: 60px;
position: relative /* 본인의 위치를 기준으로 위치를 정의한다. */;
cursor: pointer; /* 마우스를 요소의 위로 올렸을떄 */
}
#wrap .gnb .user-icon {
width: 60px;
height: 60px;
border: 1px solid;
position: relative;
}
.gnb .user-icon span:nth-child(1) {
position: absolute;
top: 18px;
left: 50%;
transform: translateX(-50%);
display: block;
border: 5px solid white;
border-radius: 5px;
}
.gnb .user-icon span:nth-child(2) {
position: absolute;
top: 28px;
left: 50%;
transform: translateX(-50%);
display: block;
border: 8px solid white;
border-radius: 4px 4px 0 0; /* 4방면을 적용하는 스타일들은 띄어쓰기로 구분해서 정리할수 있다.*/
}
.gnb .gnb-button span {
width: 20px;
height: 4px;
display: inline-block;
position: absolute; /* 부모 요소중에 relative를 가지고 있는 요소를 기준으로 */
background-color: white;
top: 50%;
left: 50%;
transform: translate(-50% , -50%); /* 본인 요소 기준으로 x축과 y축을 본인의 크기의 반지름 만큼 이동 */
border-radius: 1px; /* 테두리를 얼마나 깎을지 테두리를 둥글게 적용할떄 높이의 px 수치를 주면 원으로 깎을수 있다.*/
}
/*
nth-child() 선택자: 자식의 순서를 괄호안에 작성해서 자신을 선택할 수 있다.
1부터 자식의 순서
top 속성을 줬는데 bottom을 주면 bottom 속성은 정의 되지 않는다.
left , right 속성도 마찬가지
*/
.gnb .gnb-button span:nth-child(2) {
top: 24px;
}
.gnb .gnb-button span:nth-child(3) {
top: initial; /* 초기화 */
bottom: 20px;
}
#wrap > .notification {
width: calc(100% - 20px); /* calc는 css의 값을 계산해서 값을 반환해준다. */
height: 50px;
display: flex;
align-items: center;
border-bottom: 1.4px solid #333;
padding: 0 10px;
}
#wrap > .notification > i {
border: 4px solid rgb(174, 174 , 242);
border-radius: 50%;
margin-right: 10px;
}
#wrap > .title {
width: calc(100% - 20px);
padding: 0 10px;
height: 65px;
border-bottom: 1.4px solid #333;
font-size: 20px;
font-weight: bold;
display: flex;
align-items: center;
}
#wrap > .content ul {
list-style-type: none;
display: flex;
align-items: center;
width: calc(100% - 50px);
height: 45px;
padding: 0 25px;
border-bottom: 1.4px solid #333;
box-shadow: 0px 2px 9px -4px;
}
.content ul li {
font-weight: bold;
margin-right: 20px;
font-size: 20px;
}
#wrap > .card-wrap {
background-color: #e5e4e4;
padding: 20px 10px;
min-height: calc(100vh - 263px) ;
}
#wrap > .card-wrap > .card {
width: 100%;
height: max-content; /* 부모 요소가 자식 요소의 내용의 크기만큼을 본인의 크기로 지정 */
background-color: white;
border-radius: 10px;
overflow: hidden; /* 부모 요소 영역 밖으로 자식이 벗어나면서 벗어난 영역을 지워준다*/
}
.card-wrap > .card > img {
width: 100%;
}
.card > .card-content > h3 {
padding: 14px 10px;
font-size: 20px;
font-weight: bold;
border-bottom: 1px solid;
}
.card > .card-content > .views {
display: flex;
justify-content: space-between;
padding: 14px 10px;
}
/* 모바일 사이즈 이상으로 넘어가면 */
@media only screen and (min-width : 768px) {
#wrap {
width: 100%;
min-height: 100vh;
background-color: red;
}
}
/* 모바일 기준 스타일 */