我有一个侧边栏贴在页面左侧以便响应,此元素有overflow:auto
,一切正常,问题是我必须支持Native Android 4.2浏览器,它不应用此属性
我的应用程序是使用Angular 2制作的,我试图实现一个指令或模块,但我遇到了同样的问题。
有人知道解决这个问题的最佳方法吗?
这是我的结构:
<nav class="navigation">
<div class="navigation__scroll">
* Content goes here *
</div>
</nav>
CSS
.navigation {
position: fixed;
background-color: $light_blue;
width: 275px;
height: 100%;
top: 71px;
left: -275px;
border-top: 10px solid $primary_blue;
z-index: 100;
transition: all .5s ease;
.navigation__scroll {
height: calc(100% - 71px);
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
答案 0 :(得分:1)
我担心这不是overflow:auto;
在Android 4.2浏览器中不起作用,而是calc(100% - 71px)
。不幸的是,除了在max-height
规则之前指定硬编码height
或calc()
之外,没有适当的解决方法。
示例:
.navigation__scroll {
height: 90%;
height: calc(100% - 71px);
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
最佳做法是根据流行的手机尺寸将值硬编码到height
。