全屏图像,边框根据设备分辨率而缩小
Fullscreen image with border that shrinks depending by device resolution
大家好,我想制作一个主页,背景上有全屏图像,周围有边框。
我已经能够做到这一点,正如你从这个jsfiddle中看到的那样
https://jsfiddle.net/dforce/3j5uo5qo/1/
但我希望当分辨率较小或分辨率小于 979px 时边框缩小。
我使用此脚本来制作边框:
<script>
$theBorder=35; //border around image (change top and left values of #bg accordingly)
$bg=$("#bg");
$bgimg=$("#bg #bgimg");
$preloader=$("#preloader");
//]]>
$(window).load(function() {
FullScreenBackground($bgimg,$bg);
$(window).resize(function() {
FullScreenBackground($bgimg,$bg);
});
});
$bgimg.load(function() {
var $this=$(this);
FullScreenBackground($this,$bg);
$preloader.fadeOut("fast");
$this.delay(200).fadeIn("slow");
});
function FullScreenBackground(theItem,theContainer){
var winWidth=$(window).width();
var winHeight=$(window).height();
var imageWidth=$(theItem).width();
var imageHeight=$(theItem).height();
var picHeight = imageHeight / imageWidth;
var picWidth = imageWidth / imageHeight;
if ((winHeight / winWidth) < picHeight) {
$(theItem).css("width",winWidth);
$(theItem).css("height",picHeight*winWidth);
} else {
$(theItem).css("height",winHeight);
$(theItem).css("width",picWidth*winHeight);
};
$(theContainer).css("width",winWidth-($theBorder*2));
$(theContainer).css("height",winHeight-($theBorder*2));
$(theItem).css("margin-left",(winWidth- $(theItem).width())/2);
$(theItem).css("margin-top",(winHeight- $(theItem).height())/2);
}
</script>
感谢您的帮助!
希望这对您有所帮助。试试这个
<html>
<head>
<title>Welcome !</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<style type="text/css">
body{
margin:0;
padding: 0;
}
.maindiv{
width: 100%;
height: 100%;
background-color:black;
position: absolute;
background-image: url(http://3.bp.blogspot.com/-dwPiL6_mLUo/UzPrdohyk0I/AAAAAAAADds/LNvY6Hyp4Tc/s1600/Programmer+HD+Wallpaper+by+PCbots.png);
background-position: center;
display: none;
}
</style>
<body>
<div class="maindiv"></div>
<script type="text/javascript">
$(document).ready(function(){
$(".maindiv").fadeIn(4000)
});
</script>
</body>
</html>
请注意,如果要在不使用引导程序的情况下放置响应式映像,将其设置为div
background-image
,并在%
值中width
和height
。
给你的div
width:anyvalue%;
height:anyvalue%;
然后将您的image
放入此div
并为您的图像设置。
width:100%;
height:100%;
响应式 css 呢?
类似的东西
<div id="mainimage">
<div class="img"></div>
</div>
和 CSS:
body{
margin:0;
padding:0;
background:#fff;
}
#mainimage {
box-sizing: border-box;
width: 100%;
height: 300px;
padding: 20px;
}
@media(max-width: 1300px) {
#mainimage{
padding: 10px;
}
}
@media(max-width: 979px) {
#mainimage{
padding: 0px;
}
}
.img{
height:100%;
width: 100%;
background: url(http://www.piedicosta.com/jnuovo/images/big.jpg) no-repeat center center;
background-size: cover;
}
您可以添加过渡以使更改更平滑,例如
#mainimage {
-webkit-transition: all 0.50s ease-in-out;
-moz-transition: all 0.50s ease-in-out;
-ms-transition: all 0.50s ease-in-out;
-o-transition: all 0.50s ease-in-out;
}
相关文章:
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 检测图像分辨率
- 如何在d3上的图形中添加放大和缩小按钮
- AmCharts缩小事件
- 我需要iframe的内容像动画一样展开,填满整个屏幕并缩小到原来的大小
- 在手机上缩小/缩放滚动图像
- 如果状态不匹配,则缩小为丑陋
- 引导模式缩小动画
- 如何根据分辨率添加像素
- 使用源映射在Visual Studio中调试缩小的JavaScript
- 在不同的屏幕和分辨率上跟踪鼠标并将其关联起来
- 我应该连接/缩小已经缩小的JS/CSS吗?如果是,如何
- UglifyJs用于JSON缩小的JavaScript API
- 悬停时显示更高分辨率的图像
- 根据屏幕分辨率显示自定义背景图像
- 如何使图像适合TD,而不需要包装在不同的屏幕分辨率上
- 创建缩放功能当我们点击签署整个页面获得缩放,当我们点击-签署它获得缩小
- 缩小并更改滚动时的背景导航栏
- 全屏图像,边框根据设备分辨率而缩小
- 放大/缩小与更改分辨率相同