100%DIV不伸展iphone 3gs和4

时间:2013-09-05 21:32:59

标签: jquery html ios css width

我遇到了一个设置为100%的div的主要问题。它在桌面上看起来很好,但是在右边有一个差距,我试过了

body
 { 
min-width:980px;
background-color: #fff;

我已经尝试了一些我在互联网上找到的其他修复程序但它仍然无效。

我正在使用idangero swiper,这是我第一次使用它,所以我不确定这是否是罪魁祸首,但它确实在iphone上表现得很好,而不是它的div。

这是css

    #welcome{ 
width: 100%;
height: 256px;
background-color: #1e2f3f;
}

这是swiper的代码:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" type="text/javascript"></script>

      <link rel="stylesheet" href="idangerous.swiper.css">
        <script src="idangerous.swiper.js"></script>    


        <script type="text/javascript">
        /*======
        Use document ready or window load events
        For example:
        With jQuery: $(function() { ...code here... })
        Or window.onload = function() { ...code here ...}
        Or document.addEventListener('DOMContentLoaded', function(){ ...code here... }, false)
        =======*/

        window.onload = function() {
          var mySwiper = new Swiper('.swiper-container',{
            //Your options here:
            mode:'horizontal',
            loop: true
            //etc..
          });  
        }


        </script>




  <style>


  .device {
    width: 980px;
    height: 528px;
    padding: 30px 40px;
    border-radius: 20px;
    background: #111;
    border: 3px solid white;
    margin: 5px auto;
    position: relative;
    box-shadow: 0px 0px 5px #000;
    margin: 0 auto;
  }
  .device .arrow-left {
    background: url(images/arrows.png); no-repeat left top;
    position: absolute;
    left: 10px;
    top: 50%;
    margin-top: -15px;
    width: 17px;
    height: 30px;
  }
  .device .arrow-right {
    background: url(images/arrows.png) no-repeat left bottom;
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -15px;
    width: 17px;
    height: 30px;
  }
  </style>  



  </head>




    <body>









  <div class="device">
  <a class="arrow-left" href="#"></a> 
  <a class="arrow-right" href="#"></a>
  <div class="swiper-container">
    <div class="swiper-wrapper">

        <div class="swiper-slide"> 
           <img src="images/slide1.png"/>
        </div>

        <!--Second Slide-->
        <div class="swiper-slide">
          <img src="images/slide2.jpg"/>
        </div>

        <!--Third Slide-->
        <div class="swiper-slide"> 
          <a href="http://www.lbbacchus.com"><img src="images/slide4.jpg" alt=""/></a>        </div>
        <!--Etc..-->
    </div>


  </div>



    <div class="pagination"></div>


    </div>

    <script>
    var mySwiper = new Swiper('.swiper-container',{
      pagination: '.pagination',
      loop:true,
      grabCursor: true,
      paginationClickable: true
    })
    $('.arrow-left').on('click', function(e){
      e.preventDefault()
      mySwiper.swipePrev()
    })
    $('.arrow-right').on('click', function(e){
      e.preventDefault()
      mySwiper.swipeNext()
    })
    </script>

非常感谢你们:)

2 个答案:

答案 0 :(得分:0)

您是否正在使用viewport meta在设备上正确显示?

<meta name="viewport" content="width=device-width, user-scalable=false;" />

enter image description here

将正确安装到此

enter image description here

当页面大于设备的屏幕尺寸时(虽然不使用此元素,在您的情况下,min-width:980px上的body),页面会缩小,从而在正确(因为iPhone宽度仅为320px,不超过900px!)

更多信息:https://developer.mozilla.org/en-US/docs/Mozilla/Mobile/Viewport_meta_tag

答案 1 :(得分:0)

你可以尝试

$(function() {
  $('#welcome').css({ width: $(window).innerWidth() });
});

和@RaphaelDDL一样说你应该使用

<meta name="viewport" content="width=980px" />

在大多数情况下,它会消除上述差距。