Google 맵을 스크롤 할 때 좌절감을 제거하고 녀석을 최소 코드의 CSS로 할 수있을만큼 시도했습니다.
4167 단어 leaflet우XCSSCSS3GoogleMapsAPI
생각, 구글 맵은 이미 구현되고 오픈 소스 Leaflet.js 에서 시도!
그렇다고 해도, 그대로 JavaScript로 터치 이벤트 제어를 가시가시 구현해 가는 것도 피곤할 것 같고, 그다지 재미없기 때문에, CSS로 할 수 있는 한계를 목표로 해 본다.
소스는 Gist에 넣었습니다.
데모는 모바일에 대해서만 생각하기 때문에 모바일에서 보세요.
덧붙여서 동작 테스트는 iOS만 하고 있습니다.
사양
CSS에서만 했어.
자바스크립트에는 손가락 하나도 닿지 않습니다.
:hover
의사 클래스를 구사하고 있으므로 Android에서도 똑같이 움직일지 모르겠습니다.iPhone에서만 테스트했습니다.
지도 부분
DOM 의 구조로서는, 맵 뷰와 오버레이와 버튼의 3 개의
<div>
(을)를 정리하고 있습니다.<div id="map">
<div id="mapView"></div>
<div class="cover"></div>
<div class="cover-text"><p>地図を操作する</p></div>
</div>
터치 제어(CSS)
:hover
의 iOS Safari 에서의 거동을 이용했습니다.실제로 터치 제어를 하고 있는 CSS는 이것뿐입니다.
한계를 목표로 한다든가 말해 두어 3행 2행으로 끝났다!
#map:hover > .cover-text:hover, .cover:hover, .cover:hover + .cover-text {
display: none;
}
#map:active > .cover, #map:active > .cover-text {
opacity: 0;
}
.cover
의 요소(=오버레이)를 터치하면, opacity
가 0
가 될 뿐이므로, 지도 조작은 할 수 없지만, 오버레이는 사라져 지도가 보이는 상태가 됩니다. 놓으면 복귀하기 때문에 세로 긴지도도 오버레이를 지우는 버튼을 터치합니다..cover-text
의 요소(=버튼)를 터치하면, display
가 none
가 되고, 그 뒤에 있는 .cover
의 요소도 접해, 이것도 display
가 none
지도를 덮는 요소가 사라지고 조작 가능한 상태가 됩니다.이용은 계획적으로
어디까지나 CSS만으로 할 수 있는 일을 해 보았다는 내용입니다!
의사 클래스 (
:hover
)의 모바일에서의 거동을 이해하지 않으면 야케드합니다.참고로 할 때는 계획적으로 감사합니다.
Reference
이 문제에 관하여(Google 맵을 스크롤 할 때 좌절감을 제거하고 녀석을 최소 코드의 CSS로 할 수있을만큼 시도했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ynunokawa/items/b619d6c43520975f5beb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)