鍍金池/ 問答/HTML5  HTML/ swiper 多列布局中左側內容溢出怎么解決?

swiper 多列布局中左側內容溢出怎么解決?

使用swiper時有沒有遇到過,如果是多列布局,左側會溢出,導致左側容器中的內容下沉。如下圖我使用的是display:table做了一個兩列的布局,請無視container的大小,因為圖片寬度設定的是640px,外面的table設定的是100%,所以才會這樣。
圖片描述
HTML結構

<div class="table">
    <div class="left">
        <ul>
            <li>這是測試文本</li>
            <li>這是測試文本</li>
            <li>這是測試文本</li>
            <li>這是測試文本</li>
            <li>這是測試文本</li>
            <li>這是測試文本</li>
            <li>這是測試文本</li>
            <li>這是測試文本</li>
            <li>這是測試文本</li>
        </ul>
     </div>
    <div class="container">
          <div id="full_feature" class="swipslider">
            <ul class="sw-slides">
             <li class="sw-slide">
                <img src="img/img-1.jpg" alt="Summer beach concept">
              </li>
              <li class="sw-slide">
                <img src="img/img-2.jpg" alt="Lang from Yie Ar Kung Fu">
              </li>       
             </ul>
          </div>      
      </div>
</div>

CSS樣式

    .table{
        display:table;
        border:solid #ddd 1px;
        border-collapse:collapse;
        position:relative;
        width:100%;
    }
    .left{
        display:table-cell;
        border:solid #ddd 1px;
        position:relative;
        width:40%;
    }
    .container{
        display:table-cell;
        border:solid #ddd 1px;
        margin: 0 auto;
        max-width: 640px;
        position:relative;
    }
    .swipslider {
        position: relative;
        overflow: hidden;
        display: block;
        padding-top: 10%;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none; 
    }
    .swipslider ul.sw-slides {
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        bottom: 0; 
        padding: 0;
        list-style: none;
        white-space: nowrap;
        font-size: 0;
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
    .swipslider li.sw-slide {
        width: 100%;
        height: 100%;
        position: relative; 
        margin: auto;
        display: inline-block;
    }
    
    .swipslider .sw-slide > img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        max-height: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none; 
    }
    .sw-next,.sw-prev {
        height: 50px;
        width: 50px;
        text-align: center;
        vertical-align: middle;
        position: absolute;
        line-height: 50px;
        font-size: 30px;
        color:#404040;
        font-weight:bold;
        top: 40%;
        border-radius:5px 0 0 5px;
        background-color: rgba(255, 255, 255, 0);
        text-decoration: none;
        transition: all .2s ease-out;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none; 
    }
    .sw-next:hover,.sw-prev:hover {
        background-color: rgba(255, 255, 255, 0.74); 
        color:#333;
    }
    
    .sw-prev {
        right: 0; 
    }
    
    .sw-bullet {
        position: absolute; 
        /*position:relative;*/
        bottom: 15%;
        list-style: none;
        display: block;
        width: 100%;
        text-align: center;
        padding: 0;
        margin: 0;
    }
    .sw-bullet li {
        width: 25px;
        height: 3px;
        background-color: rgba(160, 160, 160, 0.53);
        display: inline-block;
        cursor: pointer;
        transition: all .2s ease-out; 
    }
    .sw-bullet li:hover {
        background-color: rgba(255, 255, 255, 0.74); 
    }
    .sw-bullet li.active {
        background-color: rgba(255, 255, 255, 0.5);
        box-shadow: 0 0 2px rgba(160, 160, 160, 0.53); 
  }
    .sw-bullet li:not(:last-child) {
        margin-right: 5px; 
  }

試著把container設置為overflow:hidden 沒用,而ul.sw-slides又不能設置overlow。
主要問題就是包裹li的ul的尺寸超出了,正好是一個圖片的寬度。
圖片描述

回答
編輯回答
故林

在你的.left下加一個屬性vertical-align: top; 你可以仔細看看這篇文章的前半部分。。和你的問題簡直神似
傳送門

2017年8月15日 00:20