空白现在并向左浮动" bug"在移动Safari?

时间:2015-08-08 15:36:09

标签: ios css safari mobile-safari

我制作了一个网络应用程序并且遇到了一个有趣的事情。 所以我有一个包含其他div的包装div。包装器具有以下格式:

#ready{
  height:568px;
  white-space: nowrap;
}
他们的孩子们有这个:

.theme{
  overflow: hidden;
  position:relative;
  display: inline-block;
  height:568px;
  width:320px;
  text-align: center;
  background-color: #FFF;
}

它适用于firefox和chrome,div按照预期彼此相邻。我必须将float:left添加到.theme才能在Safari中使用。虽然当我添加float:left时,Mobile Safari会将div分解为新行。

这是一个错误,还是我做错了什么?任何想法,解决方法?

[编辑] 添加了html

   <div id="ready">
            <div id="welcome"class="theme active">
              ...
            </div>

            <div id="cat"class="theme">
              ...
            </div>

            <div id="minap"class="theme">
              ...
            </div>

            <div id="minecraft"class="theme">
              ...
            </div>

            <div id="padthai"class="theme">
              ...
            </div>

            <div id="orange"class="theme">
              ...
            </div>

            <div id="bszn"class="theme">
              ...
            </div>
    </div>

1 个答案:

答案 0 :(得分:1)

由于您已经尝试了float: leftdisplay: inline-blockposition: relativeposition: absolute的变体来让您的行保持在一行,但它始终会突破一个设备/浏览器或另一个设备上的两行,也许一个表格布局将实现您的目标。

您可以使用HTML <table>元素或CSS table属性。在我下面的例子中,我已经使用了CSS。

http://jsfiddle.net/w01ckufb/2/

<强> HTML

<div id="container">
    <div id="ready">
        <div id="welcome"class="theme active">IMAGE</div>
        <div id="cat"class="theme">IMAGE</div>
        <div id="minap"class="theme">IMAGE</div>
        <div id="minecraft"class="theme">IMAGE</div>
        <div id="padthai"class="theme">IMAGE</div>
        <div id="orange"class="theme">IMAGE</div>
        <div id="bszn"class="theme">IMAGE</div>
    </div><!-- end .ready -->
</div><!-- end #container -->

<强> CSS

#container {
   display: table;
   width: 4000px;
   border-spacing: 15px;    
}

#ready{
    display: table-row;
    border: 2px solid red;
}

.theme {
    display: table-cell;
    height: 568px;
    width: 820px;
    text-align: center;
    background-color: #FFF;
    border: 2px dashed blue;
}

希望这会有所帮助。如果您有任何问题,请在下面发表评论。