小编Big*_*dEd的帖子

Safari css宽度转换不适用于不同的单位测量

-webkit-transition在Safari中遇到了问题.这些转换在Chrome,FF和IE10中运行良好(使用非前缀转换属性).

在我的网站中,有3个面板可供查看.主窗口默认打开,另外2个窗口右侧折叠显示其内容的条子.单击折叠面板时,会通过JS向其添加其他类,并将其转换为100%宽度.

CSS:

.panel-1{
  width: 100%;
}

.panel-2{
    width: 8rem;
    position: absolute;
    top: 0;
    right: 0;
    overflow: hidden;
    z-index: 500;
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}

.panel-2:hover{
     width: 10rem;
}

.panel-2.panel-open{
     width: 100%;
}

.panel-3{
    width: 4rem;
    position: absolute;
    top: 0;
    right: 0;
    overflow: hidden;
    z-index: 501;
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}

.panel-3:hover{
     width: 6rem;
}

.panel-3.panel-open{
     width: 100%;
}
Run Code Online (Sandbox Code Playgroud)

问题似乎与测量单位的差异有关.悬停过渡按预期(remrem)工作,但"面板打开"上的宽度过渡(rem%)跳过过渡并快速打开.如果我将默认宽度切换为百分比而不是rem,则转换再次起作用.我不能这样做,因为它是一个流体站点,面板折叠宽度需要是静态的而不是相对的.

我试图添加min-width% …

css safari webkit css3 css-transitions

6
推荐指数
1
解决办法
1656
查看次数

标签 统计

css ×1

css-transitions ×1

css3 ×1

safari ×1

webkit ×1