- Full-Stack Vue.js 2 and Laravel 5
- Anthony Gore
- 178字
- 2021-07-02 19:57:23
Preventing body scroll
We have a problem, though. Our modal panel, despite being full screen, is still a child of thebodytag. This means we can stillscrollthe main window! We don't want users to interact with the main window in any way while the modal is open, so we must disable scrolling on thebody.
The trick is to add the CSSoverflowproperty to thebodytag and set it tohidden. This has the effect of clipping any overflow (that is, part of the page not currently in view), and the rest of the content will be made invisible.
We'll need to dynamically add and remove this CSS rule, as we obviously want to be able to scroll through the page when the modal is closed. So, let's create a class calledmodal-openthatwe can apply to thebodytag when the modal is open.
style.css:
body.modal-open { overflow: hidden;
position: fixed; }
We can usev-bind:classto add/remove this class, right? Unfortunately, no. Remember that Vue only has dominion over the element where it is mounted:
<body> <p id="app"> <!--This is where Vue has dominion and can modify the page freely--> </p> <!--Vue is unable to change this part of the page or any ancestors--> </body>
If we add a directive to thebodytag, it willnotbe seen by Vue.
- 手機(jī)安全和可信應(yīng)用開(kāi)發(fā)指南:TrustZone與OP-TEE技術(shù)詳解
- 一步一步學(xué)Spring Boot 2:微服務(wù)項(xiàng)目實(shí)戰(zhàn)
- Java系統(tǒng)分析與架構(gòu)設(shè)計(jì)
- Python從入門(mén)到精通(精粹版)
- Android NDK Beginner’s Guide
- 征服RIA
- 網(wǎng)店設(shè)計(jì)看這本就夠了
- C程序設(shè)計(jì)案例教程
- Learning R for Geospatial Analysis
- Serverless Web Applications with React and Firebase
- Scrapy網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)
- Mobile Forensics:Advanced Investigative Strategies
- Data Manipulation with R(Second Edition)
- Yii2 By Example
- Swift High Performance