汉堡包切换不适用于移动设备

时间:2019-12-03 09:59:08

标签: html css

我做了一个应该转换的汉堡包拨动开关。在我的笔记本电脑上,它可以完美显示,但是在我的手机上,它什么也没做。它只是左侧的复选框。没有样式适用于它。我有媒体查询,但没有一个适用于此。是自举程序,但我制作了一个自定义切换器。

#custom-toggler {
      border: none;
      float: right;
      margin: 25px 15px 0 0

    }

    #custom-toggler input{
  display: block;
  width: 40px;
  height: 32px;
  position: relative;
  top: -7px;
  left: 5px;
  float: right;

  cursor: pointer;

  opacity: 0; /* hide this */
  z-index: 2; /* and place it over the hamburger */

  -webkit-touch-callout: none;
}

#custom-toggler input:checked ~ span
{
  opacity: 1;
  transform: rotate(45deg) translate(-2px, -1px);
  background: white;
}

#custom-toggler span:first-child
{
  transform-origin: 0% 0%;
}

#custom-toggler span:last-child
{
  transform-origin: 0% 100%;
}

#custom-toggler input:checked ~ span:last-child
{
  transform: rotate(-45deg) translate(0, -1px);
}

#custom-toggler input:checked ~ span:nth-child(2n-1)
{
  opacity: 0;
  transform: rotate(0deg) scale(0.2, 0.2);
}

    #custom-toggler span {
      display: block;
      width: 33px;
      height: 4px;
      margin-bottom: 5px;
      position: relative;
      background: #cdcdcd;
      border-radius: 3px;
      z-index: 1;


      transform-origin: 4px 0px;

      transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
                  background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
                  opacity 0.55s 

    }

    <nav class="small-nav navbar-light fixed-top ">
    <a class="navbar-brand " href="index.html"><img id='logo'  
  src="../image/TreysCode-logo1.png"></a>
   <div id='custom-toggler'>


  <input type="checkbox" data-toggle="collapse" data- 
  target="#navbarSupportedContent" aria- 
   controls="navbarSupportedContent" aria-expanded="false" aria- 
   label="Toggle navigation"/>
  <span ></span>
  <span ></span>
  <span ></span>
  </div>

1 个答案:

答案 0 :(得分:0)

缺少供应商前缀

Safari是其中的一种浏览器,在大多数较新的样式上仍然需要-webkit-*前缀。

只需转动以下每个

transform: ...;
transform-origin: ...;
transition: ...,
            transform ...;

进入

-webkit-transform: ...;
transform: ...;
-webkit-transform-origin: ...;
transform-origin: ...;
-webkit-transition: ...,
            -webkit-transform ...,
            transform ...;
transition: ...,
            -webkit-transform ...,
            transform ...;

如果浏览器看到-webkit-*,它将在可能的情况下使用它,否则将被忽略,并使用下一个(非前缀)样式。