如何保持固定元素';孩子的位置固定了吗?(iOS网络)
我在为iOS设备设计的am移动站点上使用了sidenav上的固定位置。对于熟悉iOS web引擎的开发人员,他们应该知道,一旦父元素设置为具有如何保持固定元素';孩子的位置固定了吗?(iOS网络),ios,css,Ios,Css,我在为iOS设备设计的am移动站点上使用了sidenav上的固定位置。对于熟悉iOS web引擎的开发人员,他们应该知道,一旦父元素设置为具有溢出:隐藏,即使其子元素之一具有溢出:滚动属性,整个元素也将变得不可滚动 <md-sidenav md-component-id="left"> <md-toolbar> <div class="md-toolbar-tools"> <h2>Menu Control Center<
溢出:隐藏
,即使其子元素之一具有溢出:滚动
属性,整个元素也将变得不可滚动
<md-sidenav md-component-id="left">
<md-toolbar>
<div class="md-toolbar-tools">
<h2>Menu Control Center</h2>
</div>
</md-toolbar>
<section>
<md-switch id="nsfw">NSFW</md-switch>
<md-divider></md-divider>
<md-content md-ink-ripple><div class='navBtn' layout-align="start center">
One
</div></md-content>
<md-content md-ink-ripple><div class='navBtn' layout-align="start center">
Two
</div></md-content>
<md-content md-ink-ripple><div class='navBtn' layout-align="start center">
Three
</div></md-content>
<md-content md-ink-ripple><div class='navBtn' layout-align="start center">
Four
</div></md-content>
<md-content md-ink-ripple><div class='navBtn' layout-align="start center">
Five
</div></md-content>
<md-divider></md-divider>
<md-content id="navFooter">
<p>© copyright</p>
</md-content>
</section>
</md-sidenav>
菜单控制中心
NSFW
一个
两个
三
四
五
©版权所有
因此,md工具栏
是我喜欢保持在顶部的子元素,而部分
是用户可以在分辨率非常低的屏幕上滚动的部分。我意识到当设置到固定位置时,md工具栏将被滚动。在桌面上,我可以将md工具栏
设置为溢出:隐藏
,并允许部分
执行溢出:滚动
,但在iOS上它将不起作用。其行为是,用户可以滚动整个md工具栏
,也可以在看到这些元素时滚动其后面的元素,并且md工具栏
会在他们松开拇指时反弹
对于那些不了解iOS web行为的人,以下是示例:
当md toolbar
切换到overflow:hidden
并允许部分执行overflow:scroll
时,您可以看到菜单上的元素没有被滚动,菜单后面的元素就是被滚动的元素
对于那些想看到正确行为的桌面示例的人,请查看此演示页面:Facebook或Google等主要网站决定不使用固定位置菜单是有充分理由的,因为iOS上的web引擎存在根本性缺陷。但是有一种方法可以解决这个问题,而且只有当你决定将菜单的高度设置为100%时(看起来你是这样的)
在第一步中,将md sidenav
元素设置为100%高度。然后将部分
元素也设置为100%高度,然后设置溢出:滚动
。这将确保iOS不会在md sidenav
上禁用滚动,同时允许其子元素在发生溢出时滚动
但这一解决方案仍然存在缺陷。例如,如果用户在“菜单控制中心”区域滚动,他们仍将滚动菜单后面的元素,并将菜单从屏幕上滚动。在苹果采取行动之前,这是我们最好的解决方案。不,你提到的有关IOS溢出属性的内容是错误的。很抱歉,我对IOS设备所说的话。