рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЯрдЪ рд╕рдкреЛрд░реНрдЯ

рдЫрд╡рд┐


рдлреНрд░рдВрдЯрдПрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдпрджрд┐ рдПрдХ рдкрд░реАрдХреНрд╖рдХ рдиреЗ iPad рдкрд░ рдПрдХ рдирдпрд╛ рдЯреНрд░реИрдХрдкреИрдб рдХреАрдмреЛрд░реНрдб, рдПрдХ рд╡рд┐рдВрдбреЛрдЬ рдЯреИрдмрд▓реЗрдЯ, "рдЯреИрдмрд▓реЗрдЯ рдореЛрдб" рдХреА рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕реНрдерд┐рддрд┐, рдпрд╛ рдПрдХ рдорд▓реНрдЯреА-рдЯрдЪ рдЯреАрд╡реА рд╡рд╛рд▓рд╛ рд▓реИрдкрдЯреЙрдк рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рд╣реИ?


, . тАФ , , , , . . : iPad Safari, Android - Windows10 Google Chrome тАФ .


, , , Web Touch.


Touch .


:


  • CSS :hover
  • viewport -

, .


Touch-


, . -, , .


, .
: Multi-touch. , Touch-. Touch- . , , , , .


Touch- touchstart mousemove: mousemove touchstart, , .



    touchstartHandler() {
       this._isTouch = null;
    }
    mousemoveHandler() {
       if (this._isTouch === null) {
          this.updateState(true);
       } else if (this._isTouch) {
          this.updateState(false);
       }
    }
    updateState(state) {
       this._isTouch = state;
       this._triggerEvent();
    }

, body is-touch is-hover.


:hover


:hover Touch . :hover :


   body.is-hover .my-button:hover {
   }

@media (hover: hover), hover Chrome Firefox .


:hover , .


.


рдЫрд╡рд┐


, :hover- ( , ..).


:hover iOS , , . Android Windows .


Touch- :hover , swipe .


рдЫрд╡рд┐


Swipe- mousemove touch- :


  • 50px;
  • 25px;
  • 600;
  • 25px , .. .


, Google Chrome .


:
1
2
:
1
2


- , . , , . . 300px , POS-.


рдЫрд╡рд┐


:


рдЫрд╡рд┐


, . .


рдЫрд╡рд┐


, 100% :


-, API , . . .


-, . : 0.3 0.55 .


iPad Smart Keyboard, , .. .


рдЫрд╡рд┐


, VisualViewport. 12 iOS, viewport .


API 2 :


  • resize, , ;
  • .

iOS12 , .. VisualViewport, .



, , . iOS . , .


-. iPad Google , , , .


, , .


, , . , , SPA- , iOS.


activate . iOS-. enableScreenKeyboard: true . .


Touch тАФ


, Touch-. 20% , 80% : .


, Touch , .


, , , , .


, .


All Articles