Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Efeito não funciona

Apliquei o efeito de deslizar os menus só que funciona no notebook mas não funciona quando uso no celular . O que pode está acontecendo?

4 respostas

Estou tendo exatamente o mesmo problema. Testando em um LG L70 com android 4.4.2, rom original.

Segue o meu código:

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Só de cenoura</title>

    <link rel="stylesheet" href="estilo.css">

</head>
<body>

    <input type="radio" name="opcao" id="opcao-bolos" checked />
    <label for="opcao-bolos">Bolos</label>

    <input type="radio" name="opcao" id="opcao-bebidas"/>
    <label for="opcao-bebidas">Bebidas</label>

    <div class="container-menus">
        <img src="imagens/menu-bolos.png" alt="Menu Bolos" id="menu-bolos" class="menu">
        <img src="imagens/menu-bebidas.png" alt="Menu Bebidas" id="menu-bebidas" class="menu">
    </div>
</body>
</html>

estilo.css

#opcao-bolos:checked ~ #menu-bebidas,
#opcao-bebidas:checked ~ #menu-bolos{
    display: none;
}

#opcao-bebidas:checked ~ .container-menus {
    transform: translateX(-50%);
}

.menu {
    margin-bottom: 100px;
}

.menu {
    width: 100%;
}

.container-menus .menu {
    float: left;
    width: 50%;
}

.container-menus {
    transform: translateX(0);
    transition: transform 300ms ease;
    width: 200%;
}

html,
body {
    overflow-x: hidden;
    width: 100%;
}

body {
    margin:  0;
    background-color: #3d1a11;
    font-family: sans-serif;
    text-align: center;
}

input[type=radio] {
    display:  none;
}

label {
    background-color: #563429;
    background-size: 4em;
    background-repeat: no-repeat;
    background-position: center top;
    color: white;
    display: block;
    font-size:  75%;
    padding: 4em 0 1em;
    text-transform: uppercase;
    width: 50%;
    position: fixed;
    bottom: 0;
    z-index: 1;
}

    label[for=opcao-bolos] {
        background-image: url(imagens/icone-bolos.svg);
        left: 0;
    }
    label[for=opcao-bebidas] {
        background-image: url(imagens/icone-bebidas.svg);
        right: 0;
    }
    input[type=radio]:checked + label {
        background-color: #e4876d
    }
solução!

Após uma pesquisa, cheguei à um entendimento:

O WebView do Android utiliza a engine WebKit, logo as animações de css devem ser feitas via prefixo:

-webkit-

Assim, para funcionar as animações da aula 01 o código deve ser alterado aonde temos as animações "transform" e "transition". O código deve ficar assim:

.container-menus {

    transform: translateX(0);
    -webkit-transform: translateX(0);

    transition: transform 300ms ease;
    -webkit-transition: -webkit-transform 300ms ease;

    width: 200%;
}

#opcao-bebidas:checked ~ .container-menus {
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
}

Eu também tive o mesmo problema no dispositivo Galaxy Tab E, com a versão de android 4.4.4, com a solução do nosso colega Lourenço Lima me deu a oportunidade de dar a continuidade.

Obrigado pela grande Dica Lourenço!

Eu também estava com o mesmo problema, só que em um aparelho ASUS ZEN com Android 4.4.2 , alterei o código e funcionou perfeitamente no aparelho.