모바일 터치 CSS - mobail teochi CSS

반응형

Show

    React로 개발중인 모바일 페이지에서, 특정 영역을 터치할 때마다 하이라이트가 생겼다.

    없애고 시켜서 구글링해보니 모바일 환경에서 a태그를 누르면 하이라이트가 생긴다고 한다.

    그러고보니 특정 영역이 아니라 a태그 한정이었다.

    모바일 터치 CSS - mobail teochi CSS
    a 태그를 터치했을 때 하이라이트가 생긴다

    아무페이지나 개발자도구를 열어 확인해보면 위와같이 a태그에 하이라이트가 생긴다.

    a 태그의 css에 다음 속성값을 주면 더이상 하이라이트가 나타나지 않는다.

    a { -webkit-tap-highlight-color:transparent;}

    역으로 특정 색상을 주고 싶을 때도 이용할 수 있을 것 같다.

    추가

    a 태그 뿐 아니라 img 태그에도 하이라이트가 생기는 경우도 있었다. 이 경우도 동일하게 비활성화가 가능했다.
    a태그 한정은 아닌 듯.

    반응형

    저작자표시

    'Javascript > React' 카테고리의 다른 글

    모바일 HTML 드래그, 제스처 뒤로가기, 앞으로 가기 방지  (1) 2021.02.17
    두 손가락 터치 했을 때 도구창 방지  (0) 2021.02.01

    728x90

    [CSS] 모바일 a태그 터치영역 보이지 않게 처리하기

    모바일에서 a태그를 눌렀을 때, 터치영역이 보여서

    앱이 아닌 웹페이지와 같은 느낌이 들 때가 있습니다.

    <style>

    a {

        -webkit-tap-highlight-color: rgba(0,0,0,0);

        -webkit-tap-highlight-color: transparent;

    }

    </style>

    해당 코드를 html에 적절히 작성해주면

    모바일에서 a태그를 살짝 혹은 길게 꾹 누르더라도 터치영역이 보이지 않습니다.

    출처 : http://august5pm.tistory.com/26

    반응형

    저작자표시

    'Front' 카테고리의 다른 글

    submit을 통해 iframe에 값 전달하기  (0) 2017.03.07
    serialize()를 이용한 ajax Form 데이타 전송하기  (0) 2017.03.07
    [CSS] input태그, a태그 style로 보이지 않게 처리하기  (0) 2017.02.19
    [jQuery] iframe value, 엘리먼트 접근하기  (0) 2017.02.14
    [jQuery] jQuery로 id 값 가져오기, class 값 가져오기  (0) 2017.02.05

    주변을 둘러 보았지만 원하는 것을 찾을 수 없습니다.

    현재 내 페이지에 : hover에 의해 트리거되는 CSS 애니메이션이 있습니다. 미디어 쿼리를 사용하여 페이지의 너비가 700px 이상으로 조정될 때 ‘클릭’또는 ‘터치’로 변경하고 싶습니다.

    현재 내가 가지고있는 것은 다음과 같다. http://jsfiddle.net/danieljoseph/3p6Kz/

    보시다시피 : hover는 모바일 장치에서 작동하지 않지만 마우스 오버가 아닌 클릭만으로 동일한 방식으로 작동하는지 확인하고 싶습니다.

    가능하면 CSS를 사용하고 싶지만 JQuery도 만족합니다.

    나는 이것이 매우 쉽다고 느낀다. 그러나 나는 단지 매우 명백한 것을 놓치고있다! 어떤 도움을 주시면 감사하겠습니다.

    다음은 CSS 애니메이션입니다.

    .info-slide {
      position:absolute;
      bottom:0;
      float:left;
      width:100%;
      background:url(../images/blue-back.png);
      height:60px;
      cursor:pointer;
      overflow:hidden;
      text-align:center;
      transition: height .4s ease-in-out;
      -webkit-transition: height .4s ease-in-out;
      -moz-transition: height .4s ease-in-out;
    }
    
    .info-slide:hover {
      height:300px;
    }
    



    답변

    : active 선택기를 : hover와 함께 사용 하면 : hover 선택자 다음에 : active 선택기가 호출되는 한 w3schools 에 따라이를 수행 할 수 있습니다 .

     .info-slide:hover, .info-slide:active{
       height:300px;
     }
    

    모바일 환경에서 FIDDLE 을 테스트해야 합니다. 지금은 할 수 없습니다.

    수정 -방금 모바일에서 테스트했는데 잘 작동합니다.


    답변

    onclick=""호버 된 요소에 추가 할 수 있습니다 . 그 후에 Hover가 작동합니다.

    편집 :하지만 마크 업과 관련된 어떤 스타일도 추가해서는 안되며 대안으로 게시했습니다.


    답변

    Microsoft Edge 브라우저를 사용하는 모바일 장치에서도 동일한 문제가 발생했습니다. 다음으로 문제를 해결할 수 있습니다 aria-haspopup="true".. 그것은 사업부와에 추가 할 필요가 :hover, :active, :focus다른 모바일 브라우저 용.

    예제 html :

    <div class="left_bar" aria-haspopup="true">
    

    CSS :

    .left_bar:hover, .left_bar:focus, .left_bar:active{
        left: 0%;
        }
    


    답변

    document.addEventListener("touchstart", function() {}, true);
    

    이 스 니펫은 터치 스크린에 호버 효과를 사용합니다.


    답변

    저는 CSS 멍청하지만 이미지, 링크, 버튼과 같은 “호 버블”요소 인 한 터치 스크린에서 호버가 작동한다는 것을 알아 차 렸습니다. 다음 트릭을 사용하여 CSS로 모든 작업을 수행 할 수 있습니다.

    div 배경을 div 내의 실제 이미지 태그로 변경하거나 전체 div 주위에 더미 링크를 생성하면 이미지를 터치 할 때 호버로 등록됩니다.

    이렇게하면 페이지의 나머지 부분도 “마우스 오버 가능”상태 여야하므로 이미지 바깥 쪽을 터치하면 info-slide : hover가 종료되었음을 인식합니다. 내 비결은 다른 모든 콘텐츠를 더미 링크로 만드는 것입니다.

    우아하지는 않지만 작동합니다.


    답변

    대부분의 장치에서 다른 답변이 작동합니다. 나를 위해,이 근무 보장하기 위해 모든 나는 앵커 태그에 포장했다 (의 반응) 장치 <a>: 다음을 추가
    :hover, :focus, :active뿐만 아니라, (순서대로) role="button"tabIndex="0".


    답변

    이 간단한 방법이이 목표를 달성 할 수 있다고 생각합니다. CSS를 사용하면 포인터 이벤트를 ‘없음’으로 끈 다음 jQuery를 사용하여 클래스를 전환 할 수 있습니다.

    .item{
       pointer-events:none;
     }
    
    .item.clicked{
       pointer-events:inherit;
     }
    
    .item:hover,.item:active{
      /* Your Style On Hover Converted to Tap*/
      background:#000;
    }

    jQuery를 사용하여 클래스 전환 :

    jQuery('.item').click(function(e){
      e.preventDefault();
      $(this).addClass('clicked')l
    });