如何计算ACTUAL innerWidth / innerHeight?

时间:2016-10-04 15:23:56

标签: javascript jquery html css twitter-bootstrap

我正在编写一个带有bootstrap的响应式网站,我只想要一个与屏幕实际大小相关的元素。

每当我执行高度/宽度:100%时,浏览器会给我一个滚动条,因为它使我的视口成为屏幕的完整大小(即排除工具栏/其他浏览器标签/底部的Windows任务栏)。如何计算不包括这些尺寸的尺寸?从其他答案来看,这就是innerWidth()和innerHeight()不应该做的事情?但它对我不起作用......(见下文)

我正在建设的网站上没有太多(基本上只是一个视频轮播),我不希望用户必须全屏(我将在视频下面有一些其他功能)和他们不应该滚动。

我的全屏大小是1920x940,这是我运行时返回的内容:

$(document).ready(function() {
    alert("Inner Height: " + $(document).innerHeight());
    alert("Inner Width: " + $(document).innerWidth());
}

(并且$(窗口)给出了相同的尺寸。)

以下是问题的屏幕截图:

这是我的代码:

<div id="videoModal">
    <div class="modal-dialog" role="listbox">
        <!--<div class="modal-header">-->
        <!--</div>-->
        <div class="modal-body">
            <div id="carousel" class="carousel slide" data-ride="carousel">
            <!-- Indicators -->


                <!-- Wrapper for slides -->
                <div class="carousel-inner">
                    <div class="item" ng-class="{active: !$index}" ng-repeat="video in videos">
                        <video id="{{video.videoId}}" controls>
                                <source src="{{video.webmUrl}}" type="video/webm"/>
                                <source src="{{video.mp4Url}}" type="video/mp4"/>
                                <!--<source src="{{video.ogvUrl}}" type="video/ogg"/>-->
                            </video>
                            <a class="left carousel-control" href="#carousel" role="button" data-slide="prev">
                                <span class="icon-prev" aria-hidden="true"></span>
                                <span class="sr-only">Previous</span>
                            </a>
                            <a class="right carousel-control" href="#carousel" role="button" data-slide="next">
                                <span class="icon-next" aria-hidden="true"></span>
                                <span class="sr-only">Next</span>
                            </a>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

我的css:

#videoModal {
        display: none;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1050;
    }

任何帮助都会受到赞赏,显然我在这里缺少一些基本的东西......!提前谢谢。

1 个答案:

答案 0 :(得分:2)

如果我正确理解您的问题,我认为在VH文件中使用VWCSS单元将是最佳做法。

例如,您可以执行此类操作:

.element {
    width: 100vw;
    height: 100vh;
    background: red;
}