Flex Panels with Image

hongcoder·2020년 5월 25일
0

Front-end

목록 보기
3/12

이번 프로젝트는 Display: flex에서 column형태로 나타낸 사진들을
클릭하면 해당 영역이 확장되고 위,아래 글씨가 인앤아웃되는 형식의 코드를 작성한다.


(5개 모든 영역의 기본상태)


(모든 영역이 Active됐을 때)

CSS에서 transform 속성으로 원하는 요소에 회전, 크기 조절, 기울이기, 이동 효과를 부여할 수 있습니다.
transform은 CSS 시각적 서식 모델의 좌표 공간을 변경합니다.

transform:scale() - X축 또는 Y축으로 확대/축소
transform:rotate() - X축 또는 Y축으로 회전
transform:translate() - 지정 값으로 X 또는 Y축 이동
transform:skew() - 지정 요소 X 또는 Y축으로 기울이기

*element.classList.something

classList.add :Element에 class 추가
classList.remove :Element에 class 제가
classList.toggle :Element에 class 존재하면 제거/ 없으면 추가
classList.contain :Element에 class 존재확인
classList.replace('a','b') :Element에 a class를 b class로 대체

script에 5개의 모든 panel을 querySelectorAll로 잡아주고

function toggleOpen()값으로
this.classList.toggle('open')을 지정

function toggleActive(e) {
	if(e.propertyName.includes('flex'){
	this.classList.toggle('open-active');}
}

각 패널에 click값과 transitionend값을 줘서 toggleOpen과 toggleActive를 활성화 시켜준다.

 panels.forEach(panel => panel.addEventListener('click', toggleOpen));
 panels.forEach(panel => panel.addEventListener('transitionend', toggleActive));
profile
기록하지 않으면 기억되지않음🧐

0개의 댓글