【问题标题】:Full width and height of an image inside divsdiv内图像的全宽和全高
【发布时间】:2012-11-16 01:44:29
【问题描述】:

所以我需要一些帮助。

我做了这个设置,我需要一些图像总是全屏(缩放以适应)放置在里面的 div。这就是我已经走了多远,无论我做什么,我都无法让它发挥作用。我真的希望有人能帮我解决这个问题,这让我发疯了!我尝试输入这样的代码

background: url(images/bg.jpg) no-repeat center center fixed; 
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;

但随后图像消失了......这是完整的代码。

HTML

<div class="wrapper">
    <div class="navigation_top">
    <ul>
        <li>Btn_1</li>
        <li>Btn_2</li>
        <li>Btn_3</li>
        <li>Btn_4</li>
        <li>Btn_5</li>
    </ul>
    </div>

    <div class="navigation_side">
       <ul>        
          <li><a href="#slice1" id="btn_1" class="anchorLink">slice1</a></li>
          <li><a href="#slice2" id="btn_2" class="anchorLink">slice2</a></li>
          <li><a href="#slice3" id="btn_3" class="anchorLink">slice3</a></li>
           <li><a href="#slice4" id="btn_4" class="anchorLink">slice4</a></li>
           <li><a href="#slice5" id="btn_5" class="anchorLink">slice5</a></li>
       </ul>
    </div>

    <div id="slice1"></div>
    <div id="slice2"></div>
    <div id="slice3"></div>
    <div id="slice4"></div>
    <div id="slice5"></div>
</div>

CSS

html, body {height:100%; color:#FFF;}

ul, ol, li {margin:0px!important; padding:0px!important;}

.wrapper {width:100%; height:100%;}
.navigation_top {width:100%; height:50px; line-height:50px; background-color:#000; opacity:.5; position:fixed;}
.navigation_top ul {list-style:none;}
.navigation_top ul li {float:left; width:100px; text-align:center;}
.navigation_top ul li a {display:block; color:#FFF; text-decoration:none;}



.navigation_side {width:200px; height:auto; position:fixed; background-color:#000; opacity:.5; margin-top:10%;}
.navigation_side ul li a {color:#FFF; text-decoration:none;}


#slice1 {width:100%; height:100%; background:url(http://img405.imageshack.us/img405/6018/image1uii.jpg);}
#slice2 {width:100%; height:100%; background-color:#999;}
#slice3 {width:100%; height:100%; background-color:#888;}
#slice4 {width:100%; height:100%; background-color:#777;}
#slice5 {width:100%; height:100%; background-color:#666;}

JQUERY

jQuery(document).ready(function($) {

    $(".anchorLink").click(function(event){        
        event.preventDefault();
        $('html,body').animate({scrollTop:$(this.hash).offset().top}, 500);
    });

    $('.navigation_top').hide();

    $(window).scroll(function() {
        // the 10 below is the number of pixels down to show the menu
        if ($(this).scrollTop() > 10) $('.navigation_top').show();
        else $('.navigation_top').hide();
    });
});

这也是我的进步:http://jsfiddle.net/iBertel/qLTQ9/

【问题讨论】:

  • 您试图将“全屏”图像设置为哪个元素?您没有将其分配给 CSS 中的任何内容。
  • 每个切片在 em 中都需要自己的“全屏”图像...现在只有第一个有图像,其余的都有颜色 - 最后他们将有自己的应该填写的图片那个div ...希望你明白我的意思?编辑:基本上它应该是现在的颜色,而不是切片中的不同颜色,它应该是图片。

标签: jquery css background fullscreen


【解决方案1】:

您确定这是适合屏幕的最佳方式吗?仅仅因为图像分辨率方面的问题,我会采取一些不同的方法。

我会先检查屏幕的宽度/高度。然后我将其与图像的宽度/高度进行比较。然后,如果图像比屏幕大,我会将其压缩,这样我就可以将其适应屏幕。

如果图像小于屏幕,那么我将图像居中放在 div 中,并将 div 背景的颜色设置为漂亮(例如,如果它与您的网站颜色匹配,请确保它是黑色 div) .

请记住,您必须检查图像相对于屏幕的宽度/高度。例如,如果图像对于屏幕来说太宽,但又没有那么高,那么图像应该在保持宽/高比的情况下按比例缩小,这样它就会在你的 div 中显示为一个水平矩形。这样您的图像就不会失真。

【讨论】:

  • 请记住,我需要在 5 个 div 中的每一个中使用全尺寸图像。不可能使我在 DIV 中加载的图像适合 DIVS 大小(宽度:100% 高度:100%?)问题是我有 5 个 div 应该在彼此下方,每个 div 都有自己的图像,它需要为了响应,无论浏览器大小是什么,它都应该缩放以适应该视图。我对 jquery 也没有那么强。我真的需要一些帮助。
  • 相同的概念只是稍作修改。您找到屏幕的大小,然后计算 div 的大小。在此基础上,您对图像进行计算。请记住,您应该始终计算图像的宽度/高度比。你说你对 jQuery 了解不多,嗯,这是你学习的完美项目。
  • 确实 - 只是我需要在明天之前完成 :) 无论如何,如果您看到此链接:adidas.dk - 您会看到顶部滑块,这就是我需要的,然后彼此下方只有 5 个。你有时间帮忙吗?编辑:实际上我不需要 100% 的高度,只需 100% 的宽度就可以了……也许这会让事情变得更容易。
  • 对不起伙计,我真的没有时间,我的项目也迟到了。但老实说,如果明天应该这样做,您应该协商更改截止日期。我希望我能提供更多帮助,但是太忙了。顺便说一句,我以前做过这件事,确实需要时间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-27
  • 1970-01-01
  • 1970-01-01
  • 2012-11-09
  • 2012-02-26
  • 2014-06-25
相关资源
最近更新 更多