相关疑难解决方法(0)

防止正文滚动但允许叠加滚动

我一直在寻找一个"灯箱"类型的解决方案,允许这个但尚未找到一个(请,如果您知道任何,请建议).

我正在尝试重新创建的行为就像您在点击图片时在Pinterest上看到的那样.叠加层是可滚动的(因为整个叠加层像页面顶部的页面一样向上移动),但叠加层后面的主体是固定的.

我试图用CSS创建它(div在整个页面和主体上面叠加overflow: hidden),但它不会阻止div可滚动.

如何防止正文/页面滚动但仍在全屏容器内滚动?

css overlay lightbox

404
推荐指数
11
解决办法
63万
查看次数

Overflow-x:hidden不会阻止内容在移动浏览器中溢出

这里有一个网站.

在桌面浏览器中查看,黑色菜单栏正确地仅延伸到窗口的边缘,因为它body具有overflow-x:hidden.

在任何移动浏览器中,无论是Android还是iOS,黑色菜单栏都会显示其全宽,这会在页面右侧显示空白区域.据我所知,这个空格甚至不是htmlbody标签的一部分.

即使我将视口设置为以下特定宽度<head>:

<meta name="viewport" content="width=1100, initial-scale=1">
Run Code Online (Sandbox Code Playgroud)

该网站扩展到1100px,但仍然有超过1100的空白.

我错过了什么?如何将视口保持为1100并切断溢出?

css overflow viewport mobile-browser

124
推荐指数
9
解决办法
18万
查看次数

在叠加模式视图中禁用正文滚动

我正在使用此脚本来显示和隐藏模态视图,但是我想在打开模态视图时禁用主体上的滚动,并在关闭时禁用它.

我试图修改JS代码,但它工作但它打破了开始动画.这是修改后的代码:

(function() {
var triggerBttn = document.getElementById( 'trigger-overlay' ),
    overlay = document.querySelector( 'div.overlay' ),
    bodyTag = document.querySelector( 'body' ),
    closeBttn = overlay.querySelector( 'button.overlay-close' );
    transEndEventNames = {
        'WebkitTransition': 'webkitTransitionEnd',
        'MozTransition': 'transitionend',
        'OTransition': 'oTransitionEnd',
        'msTransition': 'MSTransitionEnd',
        'transition': 'transitionend'
    },
    transEndEventName = transEndEventNames[ Modernizr.prefixed( 'transition' ) ],
    support = { transitions : Modernizr.csstransitions };

function toggleOverlay() {

    if( classie.has( overlay, 'open' ) ) {
        classie.remove( overlay, 'open' );
        classie.add( overlay, 'close' );

        var onEndTransitionFn = function( ev ) { …
Run Code Online (Sandbox Code Playgroud)

html javascript scroll modernizr

7
推荐指数
2
解决办法
1万
查看次数

打开模态视图时禁用正文上的滚动

我正在创建这个网站,当你点击标题第二行最右端的链接时,模态窗口会显示嵌入的youtube视频.

当我滚动模态时,BODY也会滚动,我想停止它.我怎么能这样做?

将非常感谢帮助!感谢您的时间.

html javascript css modal-dialog

7
推荐指数
2
解决办法
4万
查看次数

从我的 iphone(从触摸屏)访问时无法在 jQuery 模式弹出窗口中向下滚动

我有以下 jQuery 代码来显示我的 asp.net MVC 核心 Web 应用程序中的模式弹出窗口:

$(document).ready(function () {
    $(function () {
        $.ajaxSetup({ cache: false });
        $(document).on('click', 'button[data-modal]', function (e) {
            $('#myModalContent').css({ "margin": "5px", "max-height": screen.height * .82, "max-width": screen.height * .82, "overflow-y": "auto" }).load($(this).attr("data-url"), function () {
                $('#myModal').modal({
                    height: 1000,
                    width: 2200,
                    resizable: true,
                    keyboard: true,
                    backdrop: 'static',
                    draggable: true
                }, 'show');
            });
            return false;
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

以及以下 HTML:

 <div id='myModal' class='modal fade in'>
     <div class="modal-dialog">
           <div class="modal-content">
               <div id='myModalContent'></div>
           </div>
     </div>
 </div>
Run Code Online (Sandbox Code Playgroud)

现在,模态弹出窗口将呈现一个局部视图,当从普通 Windows 机器访问时,它将显示一个水平工具栏(因为局部视图有很多水平内容),但是如果我在 …

html javascript jquery asp.net-core-mvc

7
推荐指数
1
解决办法
603
查看次数

如何在bootstrap模式打开时阻止背景滚动

我正在使用Bootstrap v3.0.2.想要在模态打开时禁用背景滚动.我试过了:

.modal-open {
  overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)

但它没有用.我发现这个问题的解决方案是:

.modal-open {
    overflow: hidden;
    position:fixed;
    width: 100%;
}
Run Code Online (Sandbox Code Playgroud)

但是position: fixed;在打开和关闭模态时,在页面底部的铬(小于100%视图)和大显示(在100%视图中)产生额外的空白区域.如何摆脱它?(我的模态包含可滚动字段)

html css jquery twitter-bootstrap

6
推荐指数
1
解决办法
2万
查看次数

(Vue.js) 在模态中滚动也会滚动模态的背面

单击图像会显示一个长的滚动模式。问题是,如果您在模式中滚动,也会滚动模式的背面。你如何解决它?

模态是一个组件。这是我的代码:

Carousel.vue

<template>
  <div>
    <div v-for="(item, index) in photos" :key="index">
      <div @click="imgClick(item)" style="cursor:pointer;">
        <img :src="item.thumbnail" />
      </div>
      <Modal v-if='item.show' @close="item.show = false">
        <div slot='body'>
          <img :src="item.thumbnail" :class="`img-index--${index}`"/>
        </div>        
      </Modal>
    </div>
  </div>
</template>

<script>
import Modal from './Modal.vue'
export default {
  props: {
    items: { type: Array, default: () => [] }
  },
  data() {
    return {
      photos: {}
    }
  },
  created() {
    this.photos = this.items.map(item => {
      return { ...item, show: false }
    })
  },
  methods: {
    imgClick(item) { …
Run Code Online (Sandbox Code Playgroud)

scroll modal-dialog popup modalpopup vue.js

6
推荐指数
1
解决办法
2万
查看次数

如何防止滚动子滚动其父级

我正在开发具有可滚动内容的弹出窗口(类似于Facebook的通知弹出窗口)。

当前,当弹出窗口具有焦点并且用户滚动其内容滚动时,一切都很好,直到到达底部并且父级开始滚动为止(请参见CodePen上的问题示例)。

我试图防止父级滚动到达子级的底部时,如果可能的话,只想使用CSS滚动!

html css html5

5
推荐指数
1
解决办法
2002
查看次数

出现叠加层时防止背景滚动

我已经使用CSS编写了自己的模态类,并在我的应用程序中成功使用了它。但是我面临的问题是当覆盖层打开时,我仍然可以滚动背景内容。打开模态/叠加时如何停止滚动背景内容?

这是我的模式,它在叠加层的顶部打开

<div>
  <div className="overlay"></div>
  {this.props.openModal ?
  <div>
    <div className="polaroid sixten allcmnt_bg_clr horiz_center2">
      {}
      <div className="mobile_header">
        <PostHeader/>
      </div>
      <div className="mobile_renderPost">
        { this.renderPostType() }
      </div>
      <div className="mobile_post_bottom"></div>
    </div>
  </div> : null}
</div>
Run Code Online (Sandbox Code Playgroud)

我的叠加CSS

.overlay {
  background-color: rgba(0, 0, 0, .70);
  position: fixed;
  width: 100%;
  height: 100%;
  opacity: 1;
  left: 0;
  right: 0;
  -webkit-transition: opacity .25s ease;
  z-index: 1001;
  margin: 0 auto;
}
Run Code Online (Sandbox Code Playgroud)

html javascript css scroll overlay

3
推荐指数
4
解决办法
8382
查看次数

防止移动屏幕上的对话框滚动正文

我在移动屏幕上显示一个比屏幕大小更长的对话框(因此它会滚动).

这是问题所在:当你滚动到对话框的底部时(我碰巧使用的是Bootstrap 3),我希望它能够停止.相反,它开始滚动底层的身体.我已经试过这就是被认为在一切这个推荐的解决方案,它仍然不会再用的工作!

这是关于JSbin问题的现场演示,为您带来观赏乐趣

http://jsbin.com/EdAhAsU/1/

注意:要重现此问题,请使用移动设备(任何移动设备)访问该设备,并尝试滚动浏览对话框的末尾.在Android和iPhone上尝试过它 - 对两者都不起作用.

谢谢!

javascript css mobile jquery twitter-bootstrap

2
推荐指数
1
解决办法
1万
查看次数