我想知道如何将视频或div粘贴到某个位置,而它始终是浏览器窗口的大小。 Here's我想要什么。
他们的“背景”包含一个视频,如果你拖动浏览器窗口的大小,你会发现它总是调整视频的大小。这就是我想要做的。
这是我的代码:
#menuContainer{
width:650px;
height:50px;
position:relative;
z-index:3;
margin-top:0;
margin-right:auto;
margin-bottom:0;
margin-left:auto;
background-color:rgb(183, 52, 178);
}
#menuLogo2{
height:50px;
width:126px;
}
#menuDevide1{
width:1px;
height:45px;
background-color:black;
position:relative;
top:-47.5px;
left:131px;
margin-top:auto;
margin-right:0;
margin-bottom:auto;
margin-left:0;
}
#menuDevide2{
width:1px;
height:45px;
background-color:black;
position:relative;
top:-119.5px;
left:260px;
margin-top:auto;
margin-right:0;
margin-bottom:auto;
margin-left:0;
}
#menuDevide3{
width:1px;
height:45px;
background-color:black;
position:relative;
top:-191.5px;
left:391px;
margin-top:auto;
margin-right:0;
margin-bottom:auto;
margin-left:0;
}
#menuDevide4{
width:1px;
height:45px;
background-color:black;
position:relative;
top:-263.5px;
left:520px;
margin-top:auto;
margin-right:0;
margin-bottom:auto;
margin-left:0;
}
#menuBottomline{
width:100%;
height:1px;
background-color:black;
position:absolute;
top:70px;
left:0px
}
#headerBG{
position:absolute;
top:0px;
left:0px;
z-index:2;
background-color:#ffffff;
height:70px;
width:100%;
}
.menuClick{
color:#000000;
text-decoration:none;
font-family: "Open Sans", Arial, sans-serif;
font-size:20px;;
}
.menuClick:hover{
color:#999999;
}
#menuPortfolio1{
position:relative;
top:-83px;
left:133px;
width:126;
text-align:center;
}
#menuServices1{
position:relative;
top:-155px;
left:263px;
width:126;
text-align:center;
}
#menuProcess1{
position:relative;
top:-227px;
left:393px;
width:126;
text-align:center;
}
#menuContact1{
position:relative;
top:-299px;
left:522px;
width:126;
text-align:center;
}
#mainOverlapWrap{
z-index:1;
position:relative;
width:100%;
height:100%;
}
#video1{
position:absolute;
top:71px;
left:0px;
min-width:1%;
width:100%;
height:100%;
}
#mainOverlay{
position:absolute;
top:0px;
left: 0px;
heightx:100%;
height:100%;
background-color: rgba(0,0,0,0.3);
}
或者,您可以查看此JSfiddle。
请注意,我正在使用他们的视频作为占位符。我的意图不是偷他们的工作。
主要问题解决后的问题
当我调整浏览器大小时,我看到右边的这个小小的灰色边缘。当我向左调整大小时会出现这种情况,但在调整到右侧时会消失。 This图片显示了我的意思。 JSfiddle可以在这里找到。我希望你能解决这个问题!
也许最好在JSfiddle中复制代码并将它们放在计算机上的文件中。整个事情在JSfiddle中看起来有点奇怪,但在浏览器中却没有。
答案 0 :(得分:1)
HTML
<div class="wrapper">
<div class="h_iframe">
<iframe src="//www.youtube.com/embed/9KunP3sZyI0" frameborder="0" allowfullscreen></iframe>
</div>
</div>
CSS
html,body {height:100%; margin:0;}
.h_iframe iframe {position:absolute;top:0;left:0;width:100%; height:100%;}
所以我们在这里寻找标签
HTML
<div class="wrapper">
<video class="videoInsert">
<source src="http://www.w3schools.com/html/movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
</div>
CSS
.videoInsert {
position: absolute;
right: 0;
bottom: 0;
min-width: 100%;
min-height: 100%;
width: auto;
height: auto;
z-index: -100;
background-size: cover;
overflow: hidden;
}
所以现在我们需要jquery。
HTML
<div id="video-viewport">
<video autoplay preload width="640" height="360">
<source src="https://s3.amazonaws.com/whiteboard.is/videos/bg-loop-new.mp4" />
</video>
</div>
CSS
#video-viewport {
position: absolute;
top: 0;
left:0;
overflow: hidden;
z-index: -1; /* for accessing the video by click */
}
body{
margin:0;
}
JS
var min_w = 300; // minimum video width allowed
var vid_w_orig; // original video dimensions
var vid_h_orig;
jQuery(function() { // runs after DOM has loaded
vid_w_orig = parseInt(jQuery('video').attr('width'));
vid_h_orig = parseInt(jQuery('video').attr('height'));
$('#debug').append("<p>DOM loaded</p>");
jQuery(window).resize(function () { resizeToCover(); });
jQuery(window).trigger('resize');
});
function resizeToCover() {
// set the video viewport to the window size
jQuery('#video-viewport').width(jQuery(window).width());
jQuery('#video-viewport').height(jQuery(window).height());
// use largest scale factor of horizontal/vertical
var scale_h = jQuery(window).width() / vid_w_orig;
var scale_v = jQuery(window).height() / vid_h_orig;
var scale = scale_h > scale_v ? scale_h : scale_v;
// don't allow scaled width < minimum video width
if (scale * vid_w_orig < min_w) {scale = min_w / vid_w_orig;};
// now scale the video
jQuery('video').width(scale * vid_w_orig);
jQuery('video').height(scale * vid_h_orig);
// and center it by scrolling the video viewport
jQuery('#video-viewport').scrollLeft((jQuery('video').width() - jQuery(window).width()) / 2);
jQuery('#video-viewport').scrollTop((jQuery('video').height() - jQuery(window).height()) / 2);
};