Blogger 커스터마이징 : CSS 수정 (sticky-header)
sticky-header, centered-top-container sticky animating
삽질1
삽질2
삽질3(진행중)
scroll up 시
header가 재등장할 때 뚝-뚝 끊겨서 화면이 조정돼서
사용성에 불편함이 있었다.
- 해당 동작을 관장하는 곳은 어디인가?
- 어떤 로직을 통해 수행되는가?
- 어떻게 수정하면 되는가?
<스크롤 동작 관장 영역>
크롬 개발자도구와 blogger html 편집기를 통해
stickt header 영역의 css를 조사해보았다.
.centered-top-container.sticky{
left:0;
position:relative;
right:0;
top:0;
width:auto;
z-index:0;
-webkit-transition-property:opacity,-webkit-transform;
transition-property:opacity,-webkit-transform;
transition-property:transform,opacity;
transition-property:transform,opacity,-webkit-transform;
-webkit-transition-duration:.2s;
transition-duration:.2s;
-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);
transition-timing-function:cubic-bezier(.4,0,.2,1)
}
webkit transition이 있고
transition이 있었다.
-webkit-transition 속성과 -webkit-animation 속성의 가장 큰 차이는
-webkit- transition 속성은 요소의 상태가 바뀌어야 바뀌는 상태를 애니메이션으로 표현하지만,
-webkit-animation 속성은 요소의 상태 변화와 상관 없이 애니메이션을 실행한다.
-webkit-transition-property:opacity,-webkit-transform;
transition-property:opacity,-webkit-transform;
transition-property:transform,opacity;
transition-property:transform,opacity,-webkit-transform;
-webkit-transition-duration:.5s;
transition-duration:.5s;
-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);
transition-timing-function:cubic-bezier(.4,0,.2,1)
bezier 곡선 간단 정리.
beizer곡선은 컴퓨터 그래픽에서 사용되는 개념이다.
곡선을 매끄럽게 잘 그릴 수 있게끔 해주는 알고리즘.
1차~n차 베지어 곡선이 있다.
2차, 3차 곡선을 주로 사용한다.
cubic-beizer는 4개의 파라미터를 받는 꼴이다.
차수가 늘면 기준점이 늘어난다.
이 기준점들을 경유하면서 시작점-목적지점 까지 접선을 그리며 곡선을 그린다.
위에서 쓰인 cubic-bezier는 3차 베지어 곡선이다.
파라미터에서 사용되는 4개 값은 x,y의 2쌍이며
우상향의 직선 그래프로 사용되는 나머지 2개의 점은 생략된다.
duration값에 따라 좌표가 달라지는듯
sidebar-container 조정
body.collapsed-header .sidebar-container{
z-index:15
}
<스크롤 동작 로직>
- scroll down -> 사용자의 컨텐츠 탐색 희망 동작으로 인식 -> header 감춤
- scroll up -> 사용자의 랜딩 화면 , navigation 조작 희망 동작으로 인식 -> header 등장
댓글
댓글 쓰기