1

On my site, I have a CSS-animation, which gets fired on hover from Desktop and on click from Mobile.

This is a basic artist panel

<div unselectable="on" class="section" id="artists">
            <div class="section_wrapper">

                <div id="artist_title">
                    <b>ARTISTS</b>
                </div>

                <div class="grid" unselectable="on">

                    <!-- CLIT EASTWOOD -->
                    <figure class="effect-hera">
                        <img src="gx/clit.jpg" alt="img17"/>
                        <figcaption>
                            <h2>Clit <span>Eastwood</span></h2>
                            <p>
                                <a target="_blank" href="https://www.facebook.com/eastandslider/?fref=ts"><i class="fa fa-fw fa-facebook"></i></a>
                                <a target="_blank" href="#"><i class="fa fa-fw fa-soundcloud"></i></a>
                                <a target="_blank" href="#"><i class="fa fa-fw fa-headphones"></i></a>
                                <a target="_blank" href="#"><i class="fa fa-fw fa-circle-thin"></i></a>
                            </p>
                        </figcaption>           
                    </figure>

                    <!-- and so on -->

and here's the CSS. Mainly I stuck to the template from here

html, body{
    height: 100%;
    font-family: 'theano_didotregular';
    margin: auto;

    -webkit-user-select: none; /* Chrome/Safari */        
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE10+ */

    /* Rules below not implemented in browsers yet */
    -o-user-select: none;
    user-select: none;
}


.section_wrapper{
    max-width: 1000px;
    margin: auto;

    -webkit-user-select: none; /* Chrome/Safari */        
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE10+ */

    /* Rules below not implemented in browsers yet */
    -o-user-select: none;
    user-select: none;
} 

.section{

    -webkit-user-select: none; /* Chrome/Safari */        
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE10+ */

    /* Rules below not implemented in browsers yet */
    -o-user-select: none;
    user-select: none;
}

.grid, .gridFull {
        width: 100%;
        margin: auto;
        cursor: pointer;
        position: relative;
        z-index: 90;
        text-align: center;

        -webkit-user-select: none; /* Chrome/Safari */        
        -moz-user-select: none; /* Firefox */
        -ms-user-select: none; /* IE10+ */

        /* Rules below not implemented in browsers yet */
        -o-user-select: none;
        user-select: none;
    }

    /* Common style */
    .grid figure {
        position: relative;
        overflow: hidden;
        margin: 10px 1%;
        min-width: 250px;
        min-height: 250px;
        max-width: 300px;
        max-height: 300px;
        width: 48%;
        height: auto;
        background: #3085a3;
        text-align: center;
        cursor: pointer;
        display: inline-block;
        float: none;
    }

    .grid figure img,
     .gridFull figure img {
        position: relative;
        display: block;
        min-height: 100%;
        max-width: 100%;
        opacity: 0.8;
    }

    .grid figure figcaption,
     .gridFull figure figcaption {
        color: #fff;
        text-transform: uppercase;
        font-size: 1.25em;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }

    .grid figure figcaption::before,
    .grid figure figcaption::after,
     .gridFull figure figcaption::before,
     .gridFull figure  figcaption::after{
        pointer-events: none;
    }

    .grid figure figcaption,
    .grid figure figcaption > a ,
    .gridFull figure figcaption,
    .gridFull figure figcaption > a{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    /* Anchor will cover the whole item by default */
    /* For some effects it will show as a button */
    .grid figure figcaption > a,
    .gridFull figure figcaption > a {
        z-index: 1000;
        text-indent: 200%;
        white-space: nowrap;
        font-size: 0;
        opacity: 0;
    }

    .grid figure h2,
     .gridFull figure h2 {
        word-spacing: -0.15em;
        font-weight: 300;
    }

    .grid figure h2 span,
     .gridFull figure h2 span {
        font-weight: 800;
    }

    .grid figure h2,
    .grid figure p,
     .gridFull figure h2,
     .gridFull figure p {
        margin: 0;
    }

    .grid figure p ,
     .gridFull figure p{
        letter-spacing: 1px;
        font-size: 68.5%;
    }

    /*-----------------*/
    /***** Hera *****/
    /*-----------------*/

    figure.effect-hera {
        background: #303fa9;
    }

    figure.effect-hera h2 {
        font-size: 158.75%;
    }

    figure.effect-hera h2,
    figure.effect-hera p {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
        transition: opacity 0.35s, transform 0.35s;
        -webkit-transform: translate3d(-50%,-50%,0);
        transform: translate3d(-50%,-50%,0);
        -webkit-transform-origin: 50%;
        transform-origin: 50%;
    }

    figure.effect-hera figcaption::before {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 200px;
        height: 200px;
        border: 2px solid #fff;
        content: '';
        opacity: 0;
        -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
        transition: opacity 0.35s, transform 0.35s;
        -webkit-transform: translate3d(-50%,-50%,0) rotate3d(0,0,1,-45deg) scale3d(0,0,1);
        transform: translate3d(-50%,-50%,0) rotate3d(0,0,1,-45deg) scale3d(0,0,1);
        -webkit-transform-origin: 50%;
        transform-origin: 50%;
    }

    figure.effect-hera p {
        width: 100px;
        text-transform: none;
        font-size: 150%;
        line-height: 2;
    }

    figure.effect-hera p a {
        color: #fff;
    }

    figure.effect-hera p a:hover,
    figure.effect-hera p a:focus {
        opacity: 0.6;
    }

    figure.effect-hera p a i {
        opacity: 0;
        -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
        transition: opacity 0.35s, transform 0.35s;
    }

    figure.effect-hera p a:first-child i {
        -webkit-transform: translate3d(-60px,-60px,0);
        transform: translate3d(-60px,-60px,0);
    }

    figure.effect-hera p a:nth-child(2) i {
        -webkit-transform: translate3d(60px,-60px,0);
        transform: translate3d(60px,-60px,0);
    }

    figure.effect-hera p a:nth-child(3) i {
        -webkit-transform: translate3d(-60px,60px,0);
        transform: translate3d(-60px,60px,0);
    }

    figure.effect-hera p a:nth-child(4) i {
        -webkit-transform: translate3d(60px,60px,0);
        transform: translate3d(60px,60px,0);
    }

    figure.effect-hera img {
        opacity: 0.9;
    }

    figure.effect-hera img{
        -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
        transition: opacity 0.35s, transform 0.35s;
    }

    figure.effect-hera:hover img {
        opacity: 0.7;
        -webkit-transform: scale3d(1.15,1.15,1);
        transform: scale3d(1.15,1.15,1);
    }

    figure.effect-hera:hover figcaption::before {
        opacity: 1;
        -webkit-transform: translate3d(-50%,-50%,0) rotate3d(0,0,1,-45deg) scale3d(1,1,1);
        transform: translate3d(-50%,-50%,0) rotate3d(0,0,1,-45deg) scale3d(1,1,1);
    }

    figure.effect-hera:hover h2 {
        opacity: 0;
        -webkit-transform: translate3d(-50%,-50%,0) scale3d(0.8,0.8,1);
        transform: translate3d(-50%,-50%,0) scale3d(0.8,0.8,1);
    }

    figure.effect-hera:hover p i:empty {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0); /* just because it's stronger than nth-child */
        opacity: 1;
    }

Now if you visit this site with - as example - the Chrome Mobile Viewer set to a Mobile or with your Mobile Phone and scroll to "ARTISTS" and click the first panel, you see that the div grid gets highlighted for a short moment. As you further can see, I throwed a lot of user-select: none; in my CSS and unselectable="on" in the HTML, but this does not work. Why is this behaviour? How can it be disabled?

Valentino Ru
  • 4,557
  • 11
  • 37
  • 72

0 Answers0