내가 사용하고 있는 스킨은 Portfolio라는 것인데, 현재 그곳에다가 조금씩 수정을 가하면서 사용하고 있다. 예전부터 배우고 싶었던 기능이 있는데, 개인적인 능력이 되지 않아서 넣지 못했던 기능이 있다. 바로 가로 스크롤 기능이었다. 기존에 짜여져있던 워드프레스를 건들다보니 쉽지 않았다. 하지만 티스토리에서는 쉽게 성공하였다!!
Flex의 기본적인 것
flex는 container(부모)와 item 자식요소로 구성되는데, 이 곳에 들어가는 속성을 잘 구별해서 넣어야한다. 일단 Container CSS에 display:flex; 를 넣는 것으로 시작한다. 그리고 원하는 속성에 따라서 이제 추가적인 설정을 하면 되는데, 그 활용법은 네이버 D2에 아주 잘 나와있다.
display:flex를 해버리면, 카드 형태의 모습이 모두 일그러져 버리는데 그것은 item CSS에 shrink에 대한 내용이 '1'로 설정되어 있어서 그렇다.
1. Display: flex;
2. Container에서 flex-wrap 감싸는 것을 감싸지 않도록 한다. 만약 nowrap이 아닌 wrap으로 설정하면 오른쪽으로 쭉 나열되지 않게 된다.
3. overflow-x : auto; 를 설정하지 않으면 스크롤이 되지 않는다.
4. item 요소에 flex에 대한 세부요소를 설정해주는데, flex: 0 0 auto;로 설정하면 flex-grow: 0, flex-shrink , flex-basis가 auto로 설정되게 된다. 각각 화면을 늘릴 때, 줄일 때 어떠한 비율로 할 것인가에 대한 내용이며, basis는 요소의 크기를 결정하게 되며 일반적인 %, px, em, rem 모두 사용할 수 있다.
.container {
display: flex;
flex-wrap: nowrap;
overflow-x: auto;
.item {
flex: 0 0 auto;
}
}
결과 화면
1. 위의 코드와 특별히 다를 것은 없지만 item 요소 auto 대신 90%로 만들었다. 그게 사람들이 보았을 때 옆에 콘텐츠가 더 있을 것이라고 느낀다고 생각했기 때문이다.
2. 450px보다 작은 상황에서만 가로스크롤이 만들어지도록 media 를 이용했고, webkit-overflow-scrolling을 추가하였다. 해당 기능을 추가하면 끝에서 바운스되는 효과가 관찰되기 때문이다.
3. 결과적으로, 너무 만족스럽다
4. 추가적으로 스크롤 기능을 더 추가했다. 약간의 UX를 개선하기 위한 것인데, scroll snap 기능을 추가하였다. 태곤님이 잘 정리해놓은 글을 읽고 나서, 나에게 필요한 것은 scroll snap-type이라는 것을 깨달았다. 스크롤을 할 때 하나의 아이템씩 넘기는 것인데, UX 개선에 상당히 유용하다. container에 scroll-snap-type: x mandatory;를 넣었고, item 에 scroll-snap-align : start를 넣었다.
- scroll-snap-type : x 축으로 정확하게(mandatory) 잡아주는 것, 대략적으로 잡는 proximity도 있다.
- scroll-align: start를 설정하면 한번에 넘어가서 고정되는 기준이 시작점을 기준으로 한다. 다른 기준점도 있다. 나는 중간점보다 시작점에 고정되는게 좋았고 하나의 아이템 크기가 90%밖에 되지 않기 때문에 center보다는 start가 좋았다.
@media screen and (max-width: 450px) {
.list_type_card{
display:flex;
overflow-x: auto;
-webkit-overflow-scrolling: touch; /* 끝에서 바운스 되도록*/
scroll-snap-type: x mandatory;
}
.item_card{
flex: 0 0 90%; /* basis 를 90%로 조절함*/
scroll-snap-align: start;
}
}
참고한 내용들
1. https://d2.naver.com/helloworld/8540176
2. https://codeburst.io/how-to-create-horizontal-scrolling-containers-d8069651e9c6
'보이지 않는 더 넓은 세상💻 > 블로그 운영기' 카테고리의 다른 글
네이버 서치어드바이저(Search advisor) 사이트 최적화 시키기 (0) | 2019.11.01 |
---|---|
티스토리 메타 태그 등록 방법 - 구글 서치콘솔 그리고 네이버 웹마스터도구 메타태그 (1) | 2019.08.15 |
티스토리 블로그에 『네이버 지도 삽입』하는 방법. (0) | 2019.08.12 |
티스토리 - 애드센스(Adsense) 설정을 마치고... (0) | 2019.08.02 |
티스토리 블로그에 Progress bar 설치하기 (2) | 2019.06.22 |
티스토리 블로그 : 최상단으로 올라가는 버튼 만들기 (2) | 2019.06.21 |
블로그 선배님들 (0) | 2019.05.15 |
'티스토리'를 이용하다보니 알게 된 팁들 (2) | 2019.04.25 |
로그인이 필요없어요.