2017-06-20 80 views
0

出於某種原因Div塊陰影未顯示,並且最後一個塊的陰影並排顯示。我不知道我還需要做什麼。我有z-index和位置設置爲相對,但它仍然沒有按預期工作。Div影不顯示,並排顯示

編輯:我希望塊並肩負責。

.main { 
 
    padding-top: 10px; 
 
    -moz-column-count: 4; 
 
    -moz-column-gap: 0; 
 
    -webkit-column-count: 4; 
 
    -webkit-column-gap: 0; 
 
    column-count: 4; 
 
    column-gap: 0; 
 
} 
 

 
.main .columnBlock { 
 
    background-color: #fff; 
 
    -moz-border-radius: 4px; 
 
    -webkit-border-radius: 4px; 
 
    border-radius: 4px; 
 
    margin: 0 4px 8px 8px; 
 
    -webkit-box-shadow: 0px 2px #d4d6d8; 
 
    -moz-box-shadow: 0px 2px #d4d6d8; 
 
    box-shadow: 0px 2px #d4d6d8; 
 
    position: relative; 
 
    z-index: 999; 
 
} 
 

 
.column { 
 
    display: inline-block; 
 
    min-width: 140px; 
 
    width: 22%; 
 
    vertical-align: top; 
 
    padding-top: 8px; 
 
} 
 

 
.column ul { 
 
    margin-top: 4px; 
 
    margin-bottom: 1em; 
 
} 
 

 
.column ul { 
 
    display: inline-block; 
 
    width: 100%; 
 
    vertical-align: baseline; 
 
    height: 100%; 
 
} 
 

 
@media screen and (max-device-width: 9999px) { 
 
    .column { 
 
    width: 100%; 
 
    height: auto; 
 
    float: none; 
 
    } 
 
}
<div class="main" style="width: 100%;"> 
 
    <div class="columnBlock"> 
 
    <div class="column"> 
 
     <ul> 
 
     <li><a href="">Data 1</a></li> 
 
     <li><a href="">Data 2</a></li> 
 
     <li><a href="">Data 3</a></li> 
 
     </ul> 
 
    </div> 
 
    </div> 
 
    <!-- .columnBlock --> 
 

 
    <div class="columnBlock"> 
 
    <div class="column"> 
 
     <ul> 
 
     <li><a href="">Data 1</a></li> 
 
     <li><a href="">Data 2</a></li> 
 
     <li><a href="">Data 3</a></li> 
 
     </ul> 
 
    </div> 
 
    </div> 
 
    <!-- .columnBlock --> 
 

 
</div> 
 
<!-- .main -->

+0

問題在於列間距/計數風格..如果您將它們註釋掉並運行代碼,則陰影框顯示正常。你在使用Bootstrap嗎?基礎? – sk03

+0

@ Kyle1323你是對的。但是,我希望塊是並排的。如果我刪除了計數/間隙,第一個塊就是整個窗口,而第二個塊落在第一個塊之下。不,我沒有使用bootstrap或Foundation。這都是習慣。 – if237912print

+0

你可以添加顯示:flex;到主要班級。 https://jsfiddle.net/suunyz3e/1398/ – omer

回答

0

我相信這是你要找的內容。我刪除了列數和間隔,並使用margin和float與@media查詢。我添加了兩個列,以便您可以在行動中看到它。

HTML:

<div class="main" style="width: 100%;"> 
    <div class="columnBlock"> 
    <div class="column"> 
     <ul> 
     <li><a href="">Data 1</a></li> 
     <li><a href="">Data 2</a></li> 
     <li><a href="">Data 3</a></li> 
     </ul> 
    </div> 
    </div> 
    <!-- .columnBlock --> 

    <div class="columnBlock"> 
    <div class="column"> 
     <ul> 
     <li><a href="">Data 1</a></li> 
     <li><a href="">Data 2</a></li> 
     <li><a href="">Data 3</a></li> 
     </ul> 
    </div> 
    </div> 
    <!-- .columnBlock --> 

    <div class="columnBlock"> 
    <div class="column"> 
     <ul> 
     <li><a href="">Data 1</a></li> 
     <li><a href="">Data 2</a></li> 
     <li><a href="">Data 3</a></li> 
     </ul> 
    </div> 
    </div> 
    <!-- .columnBlock --> 

    <div class="columnBlock"> 
    <div class="column"> 
     <ul> 
     <li><a href="">Data 1</a></li> 
     <li><a href="">Data 2</a></li> 
     <li><a href="">Data 3</a></li> 
     </ul> 
    </div> 
    </div> 
    <!-- .columnBlock --> 

</div> 
<!-- .main --> 

CSS:

.main { 
    padding-top: 10px; 
display: flex; 
flex-wrap: wrap; 
} 

.main .columnBlock { 
    background-color: #fff; 
    -moz-border-radius: 4px; 
    -webkit-border-radius: 4px; 
    border-radius: 4px; 
    margin: 0 4px 8px 8px; 
    -webkit-box-shadow: 0px 2px #d4d6d8; 
    -moz-box-shadow: 0px 2px #d4d6d8; 
    box-shadow: 0px 2px #d4d6d8; 
    position: relative; 
    z-index: 999; 
    float: left; 
    margin: 5px; 
} 

@media screen and (max-width:767px) { 
    .columnBlock { 
    width: calc(50% - 10px); 
    } 
} 

@media screen and (min-width:768px) { 
    .columnBlock { 
    width: calc(33.3333% - 10px); 
    } 
} 

@media screen and (min-width:992px) { 
    .columnBlock { 
    width: calc(25% - 10px); 
    } 
} 

.column { 
    display: block; 
    vertical-align: top; 
    padding-top: 8px; 
} 

.column ul { 
    margin-top: 4px; 
    margin-bottom: 1em; 
} 

.column ul { 
    display: inline-block; 
    width: 100%; 
    vertical-align: baseline; 
    height: 100%; 
} 

而這裏的工作小提琴:https://jsfiddle.net/u2h1cwzt/3/

你所有的陰影,他們應該是和它的響應。

編輯:添加顯示:flex,防止間隙。

編輯:無彈性:https://jsfiddle.net/u2h1cwzt/4/

CSS:不帶FLEX

.main { 
    padding-top: 10px; 
} 

.main .columnBlock { 
    background-color: #fff; 
    -moz-border-radius: 4px; 
    -webkit-border-radius: 4px; 
    border-radius: 4px; 
    margin: 0 4px 8px 8px; 
    -webkit-box-shadow: 0px 2px #d4d6d8; 
    -moz-box-shadow: 0px 2px #d4d6d8; 
    box-shadow: 0px 2px #d4d6d8; 
    position: relative; 
    z-index: 999; 
    float: left; 
    margin: 5px; 
} 

@media screen and (max-width:767px) { 
    .columnBlock { 
    width: calc(50% - 10px); 
    } 

    .columnBlock:nth-of-type(odd) { 
    clear: left; 
    } 
} 

@media screen and (min-width:768px) { 
    .columnBlock { 
    width: calc(33.3333% - 10px); 
    } 

    .columnBlock:nth-of-type(odd) { 
    clear: none; 
    } 

    .columnBlock:nth-of-type(3n+1) { 
    clear: left; 
    } 
} 

@media screen and (min-width:992px) { 
    .columnBlock { 
    width: calc(25% - 10px); 
    clear: none !important; 
    } 

} 

.column { 
    display: block; 
    vertical-align: top; 
    padding-top: 8px; 
} 

.column ul { 
    margin-top: 4px; 
    margin-bottom: 1em; 
} 

.column ul { 
    display: inline-block; 
    width: 100%; 
    vertical-align: baseline; 
    height: 100%; 
} 
+0

哦男人,它有點作品,但嘗試在第一個塊添加額外的數據,如數據4,數據5。它移動下面的塊.. – if237912print

+0

看到我的編輯和新的小提琴:https://jsfiddle.net/u2h1cwzt/3/ – disinfor

+0

看看右上方的塊,在塊內的底部有空白 – if237912print

0

我認爲這是你在找什麼(如果我正確理解)。我添加了angularjs ng-repeat,但它只是爲了方便。還有一個只有html和css版本的鏈接。

LINK1 - 具有角https://jsfiddle.net/suunyz3e/1408/

LINK2 - 只有HTML和CSS https://jsfiddle.net/suunyz3e/1410/

HTML:

<div ng-app="myModule" ng-controller="myCtrl"> 
     <div class="div-item" ng-repeat="item in loopArray"> 
      <ul> 
      <li><a href="">Data 1</a></li> 
      <li><a href="">Data 2</a></li> 
      <li><a href="">Data 3</a></li> 
      </ul> 
     </div> 
    </div> 

CSS:

.div-item{ 
    display:inline-block; 
    min-width:140px; 
    background-color:#fff; 
    margin:5px; 
    border:1px solid red; 
    border-radius: 4px; 
    -webkit-box-shadow: 0px 2px #d4d6d8; 
    -moz-box-shadow: 0px 2px #d4d6d8; 
    box-shadow: 0px 2px #d4d6d8; 
} 

angualrjs

angular.module('myModule', []) 

.controller('myCtrl', function ($scope) { 

    $scope.loopArray = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] 

}); 
+0

嘗試向第二行或第三行的其中一個塊添加加數數據。你會看到會有差距,我不需要那些差距。也許反正是正確的,這可能無法用普通的CSS和HTML – if237912print