-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[1주차 기본/ 심화 과제] 루밍이의 사진관 📸 #1
Conversation
assignment/week_1/photoBooth.css
Outdated
white-space: nowrap; | ||
} | ||
|
||
section > div { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아 class 이름 하나하나 안주고 이렇게 하면 훨씬 깔끔하네.. 나는 img에 하나하나 클래스 달아놨는데 어쩐지 비효율적이라는 생각이 들더라
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
옹 아마 사람마다 다르겠지만, 나는 중복코드가 생기는걸 좋아하지 않아서 모든 요소에 class를 주기보단 생성자 활용해서 대체할 수 있으면 그렇게 하는 편이야..!! 따로 뭔가 css 적인 요소를 줘야하는 경우라면 class를 활용하기도 하고!!
#friendsSection > article > img:nth-child(5) { | ||
width: 100%; | ||
height: calc(100vh / 2 - 0.5rem); | ||
|
||
grid-row: 4 / 5; | ||
grid-column: 5 / 7; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
나는 보통 px 단위를 많이 쓰는데 rem을 쓰는 이유가 혹시 뭔지 가르쳐 줄 수 있을까...?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
px은 절댓값을 사용하는 단위야!
A 요소의 값을 px 단위로 주게되면 A의 크기는 고정이 되고 모든 브라우저 설정을 덮어버린다고 생각하면 돼! 결국에는 화면 크기가 변하더라도 A가 화면에 표시되는 크기는 같기 때문에 사용성에 제약이 생기게 되는거지..!!
그에 반해, rem은 루트 글꼴 크기에 따라 상대적으로 바뀌는 단위야! (실제로 rem의 첫글짜인 r은 root를 의미한다고 해😲)
보통 1rem = 16px
이지만, 만약 루트 글꼴 크기를 10px로 바꿔줬다면 1rem = 10px이 되겠지..! (rem은 루트 글꼴 크기에 비례하니까)
정리해보자면,
px은 고정값을 부여하기 때문에 반응형에 대응하기 어렵고, px로 크기를 고정시킬 경우 사용성에 제약이 생기게 돼 🥶
rem은 루트 글꼴 크기에 따라 상대적으로 크기가 변하기 때문에 루트 글꼴 크기를 기반으로 px 값을 계산할 수 있고,
원하는 글꼴 크기에 맞춰 다른 요소의 크기까지 변경할 수 있어서 유연하게 반응할 수 있다는 큰 장점이 있어 🤗
즉, 오빠도 이제 px 대신 rem을 사용해보는걸 추천할게 !!! 처음에는 낯설 수 있는데 사용하다보면 이게 훨씬 편하고 화면 대응도 쉬워서 금방 적응할 수 있을거야!!! 그리고 px, rem 외에도 다양한 단위들이 있으니까 한번 쓱 훑어보면 좋을듯 !!
<section id="foodSection"> | ||
<h3>Food🍔</h3> | ||
<article> | ||
<div class="left"> | ||
<img src="./media/food/food5.jpeg" alt="규카츠" /> | ||
</div> | ||
|
||
<div class="right"> | ||
<img src="./media/food/food1.jpeg" alt="삼겹살" /> | ||
<img src="./media/food/food2.jpeg" alt="칠면조" /> | ||
<img src="./media/food/food3.jpeg" alt="장어덮밥" /> | ||
<img src="./media/food/food4.jpeg" alt="당고" /> | ||
</div> | ||
</article> | ||
</section> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아 나는 section 태그로만 구분지었는데, section 안에 article 태그를 둬서 더 세세하게 구분했구나. 이거 좋은듯..!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
웅!! section 태그가 하나의 주제를 나타낸다면, article 태그는 주제를 묶는 독립적인 컨텐츠를 나타낸다고 해!
그래서 Food라는 주제 안에 해당 주제를 묶는 음식 사진들을 article 태그로 감싸주었어..!!
1주차 세미나 자료 > HTML > Semantic Tag
부분에 자세히 나와있으니 참고하면 좋을듯 !!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
군더더기 없는 너무 깔끔하게 잘 한 아름이! 내가 하면서 귀찮거나 미처 생각하지 못해서 넘어갔던 부분들까지 넘 세심하게 잘 구현한 거 같아서 보면서 많이 배우는 거 같아. 특히 alt는 이번주 생각과제처럼 웹접근성에도 중요하다고 하던데 나도 고쳐야겠다. 그리구 카테고리별로 사진폴더 다르게 만든것도 깔끔한 거 같아 짱짱✨✨
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아웅 너무 깔끔하다!! 고생했어용 ✨
@font-face { | ||
font-family: "ONE-Mobile-POP"; | ||
src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/[email protected]/ONE-Mobile-POP.woff") | ||
format("woff"); | ||
font-weight: normal; | ||
font-style: normal; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
폰트까지.. 야무져 ✨
color: #fffff0; | ||
} | ||
|
||
/* 1. 미리보기 섹션 */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
친절한 주석 최고에용 ✨
#animalSection, | ||
#foodSection, | ||
#friendsSection { | ||
display: flex; | ||
flex-direction: column; | ||
height: auto; | ||
margin: 3rem 7rem; | ||
|
||
border: 0.3rem solid #2d4849; | ||
text-align: center; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이건 하나의 공통 클래스를 사용하는게 좀 더 적합할 수 있겠다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
옹 그럴수도 있겠네요 !
grid-row: 1 / 2; | ||
grid-column: 1 / 4; | ||
} | ||
|
||
#friendsSection > article > img:nth-child(2) { | ||
width: 100%; | ||
height: calc(100vh / 4 - 0.5rem); | ||
|
||
grid-row: 2 / 3; | ||
grid-column: 1 / 4; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Grid-template-areas 라는 속성을 사용하면 요런 계산 없이도 편하게 사용할 수 있어요!-! 그치만 멋지다🔥
|
||
<footer>⚡️ 루밍이의 사진관 운영종료 ⚡️</footer> | ||
|
||
<button><a href="#">🔝</a></button> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a 태그를 button으로 또 한 번 감싸준 이유가 있을까욤?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
버튼을 구현해야한다고 생각해서 그렇게 했는데 버튼없이 a태그로만 감싸는게 나을까용?
body { | ||
position: relative; | ||
height: 100vh; | ||
margin: 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
요거는 왜 해주는거양? 안하는 거랑 차이가 많이 나나..?!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
margin을 0으로 준 부분 말해준걸까 !? 그거라면 body 전체에 마진값을 모두 빼고 시작하기 위해서 저렇게 줬어!
✨ 구현 기능 명세
🧩 기본 과제
header
section (preview)
flex
를 사용하여 일정한 간격으로 배치합니다.스크롤
이 되도록 구현합니다.nav
underline
과색상 변경
이 일어납니다.section (img)
sticky
로 화면 상단에 닿으면 고정되도록 구현합니다.flex
를 이용해서 같은 크기의 사진들로 나열합니다.flex-wrap
)flex
를 사용하여 위와 같은 형태로 배치합니다.grid
를 사용하여 위와 같은 형태로 배치합니다.footer
우측 하단에
top
버튼을 넣습니다.top
버튼을 누르면 최상단으로 이동합니다.🧩 심화 과제
scroll
시 부드럽게 이동합니다.**💎 PR Point
🍟
미리보기 섹션
overflow
를 활용해서 구현했어요!overflow-y: hidden;
를 활용했습니당.🍟
목차
a태그
를 활용하여 목차 클릭 시, 원하는 카테고리로 이동하도록 구현했습니다.scroll-behavior: smooth;
를 줬습니다.🍟
첫번째 섹션
flex-grow: 1;
를 줬습니다.transition
과transform
를 활용했습니다.🍟
두번째 섹션
flex-grow: 1;
을 주었고, div 내부 이미지들에도flex-grow: 1;
을 주었습니다.🍟
세번째 섹션
→ 이렇게 구현했어요!
🥺 소요 시간, 어려웠던 점
5h
두번째 섹션에서 화면 크기를 줄였더니, 구현했던 사진비율이 모두 깨지는 문제가 있었어요!
→ 크게 왼쪽과 오른쪽 이미지로 나누고, 내부
flex-grow
설정을 다시 해줬더니 해결할수 있었습니당🌈 구현 결과물
1.-2.mp4
1.-3.mp4
1.-4.mp4
1.-5.mp4
1.-6.mp4