在iPad上的Safari中制作网页的粘性标题
我想做一个像这样的粘性标题:已完成! 但是把这个url放在iPad的Safari上,它也无法修复标题 有人知道如何在iPad Safari上使用粘性标题吗在iPad上的Safari中制作网页的粘性标题,ipad,safari,sticky-windows,Ipad,Safari,Sticky Windows,我想做一个像这样的粘性标题:已完成! 但是把这个url放在iPad的Safari上,它也无法修复标题 有人知道如何在iPad Safari上使用粘性标题吗 提前谢谢 网页的好处在于,您可以随时轻松地检查其源代码 查看页面源代码,您将在css部分中看到#标题 position:fixed; 以及大小和其他格式说明。事实上,您需要为iOS设备(iPad、iPhone等)解决此问题,只需在CSS中添加以下内容: #container { position:fixed; top:120px;
提前谢谢 网页的好处在于,您可以随时轻松地检查其源代码 查看页面源代码,您将在css部分中看到#标题
position:fixed;
以及大小和其他格式说明。事实上,您需要为iOS设备(iPad、iPhone等)解决此问题,只需在CSS中添加以下内容:
#container {
position:fixed;
top:120px;
bottom:0px;
overflow:auto;
}
本例假设:
- 要滚动的部分从标题下方120px开始(即 收割台将为120px高)
- 要滚动的div有一个id='container'
- 您将使用两个手指滚动它。如果你用一根手指,那么 标题也会移动
if (navigator.userAgent.match("Apple") == null) {
/* use a different container id */
}
2011年10月7日编辑:Thx致chris-barr.com我找到了这个解决方案。只需添加以下代码:
<script>
function touchScroll(id){
var el=document.getElementById(id);
var scrollStartPos=0;
document.getElementById(id).addEventListener("touchstart", function(event) {
scrollStartPos=this.scrollTop+event.touches[0].pageY;
event.preventDefault();
},false);
document.getElementById(id).addEventListener("touchmove", function(event) {
this.scrollTop=scrollStartPos-event.touches[0].pageY;
event.preventDefault();
},false);
}
</script>
<body onload="touchScroll('container')">
功能触摸屏(id){
var el=document.getElementById(id);
var scrollStartPos=0;
document.getElementById(id).addEventListener(“touchstart”,函数(事件){
scrollStartPos=this.scrollTop+event.Touchs[0].pageY;
event.preventDefault();
},假);
document.getElementById(id).addEventListener(“touchmove”,函数(事件){
this.scrollTop=scrollStartPos事件.touchs[0].pageY;
event.preventDefault();
},假);
}
它将在iOS(iPhone、iPad)和安卓系统中工作,只需一个手指 正如我在问题中所说的,即使是那个url也不能在iPad上的Safari上修复标题,它是固定的。您可以用两个手指滚动其下方的内容。移动标题时,你不会滚动,而是在Safari的背景上移动整个页面。哦!真正地我再试一次!谢谢!在iOS5上,现在可以工作,但滚动速度会变慢。这是iPad Safari的问题吗?CSS解决方案现在在iOS5上运行,但滚动速度变慢了。这是iPad Safari的问题吗?似乎如果我使用固定标题,Safari滚动时默认的flick和Flitch toucch手势消失了,并导致用户pov产生“滞后”感觉。