這篇文章主要介紹“CSS3中webkit-overflow-scolling怎么使用”,在日常操作中,相信很多人在CSS3中webkit-overflow-scolling怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”CSS3中webkit-overflow-scolling怎么使用”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)公司是一家以網(wǎng)絡(luò)技術(shù)公司,為中小企業(yè)提供網(wǎng)站維護(hù)、網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、網(wǎng)站備案、服務(wù)器租用、域名注冊(cè)、軟件開發(fā)、微信小程序定制開發(fā)等企業(yè)互聯(lián)網(wǎng)相關(guān)業(yè)務(wù),是一家有著豐富的互聯(lián)網(wǎng)運(yùn)營(yíng)推廣經(jīng)驗(yàn)的科技公司,有著多年的網(wǎng)站建站經(jīng)驗(yàn),致力于幫助中小企業(yè)在互聯(lián)網(wǎng)讓打出自已的品牌和口碑,讓企業(yè)在互聯(lián)網(wǎng)上打開一個(gè)面向全國(guó)乃至全球的業(yè)務(wù)窗口:建站歡迎聯(lián)系:028-86922220
我們都知道在ios的safari瀏覽器和app內(nèi)核瀏覽器中,當(dāng)一個(gè)h6頁面內(nèi)容超出屏幕高度,我們手指去滑動(dòng)屏幕的時(shí)候,只要手勢(shì)一離開屏幕,滾動(dòng)立刻結(jié)束。這時(shí)候我們可以通過設(shè)置-webkit-overflow-scrolling=touch來使頁面可以順暢滾動(dòng),但是設(shè)置這個(gè)也會(huì)引出許多問題。
1、單獨(dú)對(duì)body設(shè)置-webkit-overflow-scrollingtouch是無效的,需要針對(duì)html和body同時(shí)設(shè)置才有效果,代碼如下:
html,body{
height:100%;
overflow:auto;
-webkit-overflow-scrolling:touch;
}
2、父容器設(shè)置-webkit-overflow-scrolling=touch后,子容器不允許出現(xiàn)fixed固定的子元素,為什么這么說呢。因?yàn)楫?dāng)你設(shè)定-webkit-overflow-scrolling=touch后,你滑動(dòng)屏幕的時(shí)候會(huì)發(fā)現(xiàn)fixed屬性失效了,他也跟著屏幕滾動(dòng)了,只有當(dāng)滾動(dòng)停止的時(shí)候這個(gè)元素才會(huì)在固定到頁面上。顯然這不是我們要的結(jié)果。
這里我的解決方法是不把-webkit-overflow-scrolling設(shè)置在body元素上,在需要滾動(dòng)的地方另外增加div容器去設(shè)定,然后把需要fixed的容器都直接放在body元素內(nèi)。
3、單獨(dú)對(duì)div設(shè)定-webkit-overflow-scrolling屬性無效,經(jīng)測(cè)試后發(fā)現(xiàn),我需要先對(duì)父容器div1設(shè)定為有高度的容器,然后在對(duì)超出的子容器設(shè)定-webkit-overflow-scrolling屬性具體代碼如下:
<style>.div-p{width:100%;height:500px;/*這是測(cè)試值,具體針對(duì)項(xiàng)目需求設(shè)置,不要超出子容器內(nèi)容高度*/overflow:hidden;/*設(shè)不設(shè)定這個(gè)值對(duì)-webkit-overflow-scrolling沒有影響*/}
.div-c{width:100%;height:2000px;overflow:auto;/*測(cè)試發(fā)現(xiàn)一定要設(shè)定這個(gè)值才起作用*/-webkit-overflow-scrolling:touch;}</style>
<divclass="div-p">
<divclass="div-c">我要滾動(dòng)啊,,在ios要順暢啊</div>
</div>
經(jīng)過反復(fù)測(cè)試發(fā)現(xiàn)如下設(shè)置也是能有效觸發(fā)-webkit-overflow-scrolling屬性的,具體代碼如下:
<style>
.content-box{
height:500px;/*經(jīng)過測(cè)試后發(fā)現(xiàn)只要設(shè)定的這個(gè)高度小于屏幕高度,-webkit-overflow-scrolling屬性也能有效觸發(fā)*/
border:solid1pxgreen;
overflow:auto;
-webkit-overflow-scrolling:touch;}
</style>
<body>
<divclass="content-box">哎呀我是要滾動(dòng)的啊<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
有效果的哦。。。
</div>
</body>
當(dāng)然,以上的版本就得在html渲染結(jié)束的時(shí)候去改變他的高度,以達(dá)到和屏幕高度一致,但是這種方式的維護(hù)性太差,后來又找到一種解決方案,具體代碼如下:
<style>
.ios-scroll-father{
position:absolute;
top:0;
bottom:0;
left:0;
width:10rem;
height:100%;}
.ios-scroll-child{
position:absolute;
top:0;
bottom:0;
left:0;
width:10rem;
overflow:auto;}
-webkit-overflow-scrollingtouch
</style>
<divclass="ios-scroll-father">
<divclass="ios-scroll-child">
我要完美解決ios的順暢滑動(dòng)問題啊,,,來試試咯。演示,請(qǐng)自己添加代碼到超出屏幕內(nèi)容哦~
</div>
</div>
這里,要提個(gè)醒,設(shè)置-webkit-overflow-scrolling屬性的同時(shí)要么不要設(shè)定height,要么height+padding的高度不要超出屏幕的高度,不然你會(huì)發(fā)現(xiàn)等你滾動(dòng)到頂部或者底部的時(shí)候會(huì)被截取掉一部分,需要你在滑動(dòng)才能出現(xiàn)。。。這是個(gè)坑啊,本人一不小心設(shè)定高度百分百和padding后發(fā)現(xiàn)了這種現(xiàn)象,然后找來找去都找不到問題,只能刪減代碼慢慢排查。
4、當(dāng)然,如果只是這些問題,那還真是好解決,可是,可是,某天寫了個(gè)列表,需要做滾動(dòng)分頁特效,這時(shí)候我去兼聽滾動(dòng)條的滾動(dòng)事件,發(fā)現(xiàn)scrollTop不會(huì)時(shí)時(shí)更新,要等到頁面停止?jié)L動(dòng)后才能獲取到scrollTop值。
到此,關(guān)于“CSS3中webkit-overflow-scolling怎么使用”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
網(wǎng)站欄目:CSS3中webkit-overflow-scolling怎么使用
鏈接地址:http://chinadenli.net/article14/joioge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、關(guān)鍵詞優(yōu)化、做網(wǎng)站、小程序開發(fā)、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)