2017-05-23 12 views
1

私はスライドイン/アウトメニューを持っているアプリケーションを作っています。このメニューが表示されたら、イメージを2行で表示します。多くの画像があるので、矢印だけでなく、それらの間をナビゲートするための横スクロールが必要です。要素を水平にテーブルの形に整列させます

私の問題は、これらの画像を水平に2列に並べることができないことです。彼らは垂直な方法で表示され続ける。

現在、画像を追加すると右の矢印が消え、最後までスクロールすると再び表示されます。なぜ私は他の要素を動かさずに決定されたスクロール領域を持つことができないのか分かりません。

var step = {}; 
 
var stepsOpen = false; 
 

 
function onHandleClick() { 
 
    if (stepsOpen) { 
 
     document.getElementsByClassName("StepMenu")[0].setAttribute("style", "top: -77px;"); 
 
     document.getElementsByClassName("Handle")[0].setAttribute("style", "top: 102px;"); 
 
    } else { 
 
     document.getElementsByClassName("StepMenu")[0].setAttribute("style", "top: 102px;"); 
 
     document.getElementsByClassName("Handle")[0].setAttribute("style", "top: 281px;"); 
 
    } 
 
    stepsOpen = !stepsOpen; 
 
}
body{ 
 
    margin:0; 
 
    height:100%; 
 
    background: #000000; 
 
} 
 
html { 
 
    font-family: 'SST Japanese Pro'; 
 
    font-size: 62.5%; 
 
    height: 100%; 
 
    width:100%; 
 
    margin: 0; 
 
    padding: 0; 
 
    -webkit-user-select: none; 
 
    user-select: none; 
 
} 
 
.Title{ 
 
    background: linear-gradient(#000000, #2a2a2a); 
 
    font-size: 28px; 
 
    color: #b9b9b9; 
 
    top:0; 
 
    left: 0; 
 
    position:fixed; 
 
    margin: 0; 
 
    width: 100%; 
 
    height: 102px; 
 
    line-height: 102px; 
 
    z-index:2; 
 
    display: flex; 
 
    flex-direction: column; 
 
    align-items: center; 
 
} 
 

 
.StepMenu{ 
 
    background: #2a2a2a; 
 
    margin: 0; 
 
    padding: 0; 
 
    position:relative; 
 
    display:flex; 
 
    height: 179px; 
 
    width:100%; 
 
    top:-77px; 
 
    transition: 0.5s; 
 
} 
 

 
.stepContainer{ 
 
    float:left; 
 
    top:0; 
 
    width:100%; 
 
    height: 100%; 
 
    display:flex; 
 
    flex-direction: row; 
 
    align-items:baseline; 
 
} 
 

 
.Stitle { 
 
    font-size: 17px; 
 
    color: #a7a7a7; 
 
    width: 200px; 
 
    left: 0; 
 
    height: 50%; 
 
    margin: 0; 
 
    align-items: center; 
 
    display: flex; 
 
    padding-left:20px; 
 
} 
 

 
    .Steps { 
 
     width:90%; 
 
     height: 179px; 
 
     overflow: auto; 
 
    } 
 

 
     .lines { 
 
      height: 89.5px; 
 
      width: 100%; 
 
      display: table; 
 
      table-layout: fixed; 
 
     } 
 

 
img { 
 
    width: 97px; 
 
    height:55px; 
 
    background-image: url('../res/image/tuna.jpg'); 
 
    margin-left: 12.5px; 
 
    margin-right: 12.5px; 
 
    margin-bottom: 31px; 
 
    display: table-cell; 
 
} 
 

 
::-webkit-scrollbar { 
 
    width: 0px; 
 
} 
 

 
.arrow { 
 
    border: solid white; 
 
    position: relative; 
 
    padding: 10px; 
 
    margin: auto; 
 
} 
 

 
.right { 
 
    padding: 0; 
 
    width: 0; 
 
    height: 0; 
 
    border-top: 80px solid transparent; 
 
    border-bottom: 80px solid transparent; 
 
    border-left: 20px solid #959595; 
 
    border-right: 0px; 
 
} 
 

 
.left { 
 
    padding: 0; 
 
    width: 0; 
 
    height: 0; 
 
    border-top: 80px solid transparent; 
 
    border-bottom: 80px solid transparent; 
 
    border-right: 20px solid #959595; 
 
    border-left: 0px; 
 
} 
 

 
.Handle { 
 
    width: 87px; 
 
    top: 102px; 
 
    margin: auto; 
 
    margin-top: 0px; 
 
    background-color: #2a2a2a; 
 
    position: absolute; 
 
    left: 0; 
 
    right: 0; 
 
    height: 13px; 
 
    padding: 4px; 
 
    transition: 0.5s; 
 
    display:flex; 
 
} 
 

 
.Htext { 
 
    font-size: 11px; 
 
    color: #959595; 
 
    width: 80%; 
 
    margin-left: 10px; 
 
    } 
 

 
.Harrow { 
 
    position: relative; 
 
    width: 0; 
 
    height: 0; 
 
    margin-right:10px; 
 
    border-left: 8px solid transparent; 
 
    border-right: 8px solid transparent; 
 
    border-top: 8px solid #959595; 
 
}
<!DOCTYPE html> 
 
<html> 
 

 
    <head> 
 
    <meta charset="UTF-8"> 
 
    <title>Step</title> 
 
    <link rel="stylesheet" href="./css/style.css"/> 
 
    </head> 
 

 
    <body> 
 

 
     <div class="Title">Recipe Title</div> 
 
     <div class="StepMenu"> 
 
      <div> 
 
      <div class="Stitle">Part1</div> 
 
      <div class="Stitle">Part2</div> 
 
      </div> 
 
      
 
      <div class="stepContainer"> 
 
      <div class="arrow left"></div> 
 
       <div class="Steps"> 
 
       <div class="lines"> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
       </div> 
 
       <div class="lines"> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 
        <img></img> 
 

 
       </div> 
 
      </div> 
 
      <div class="arrow right"></div> 
 
     </div> 
 
     </div> 
 
     <div class="Handle" onclick="onHandleClick()"> 
 
      <div class="Htext">STEPS</div> 
 
      <div class="Harrow"></div> 
 
     </div> 
 

 
     <script src="./js/app.js"></script> 
 
    </body> 
 

 
</html>

答えて

0

私はちょうどフロートを追加しました:CSSで画像のために残されています。これはあなたの役に立つかもしれません。 ここに...私のバイオリンのリンクです

https://jsfiddle.net/b6jpkdhk/

img { 
    width: 97px; 
    height:55px; 
    background-image: url('../res/image/tuna.jpg'); 
    margin-left: 12.5px; 
    margin-right: 12.5px; 
    margin-bottom: 31px; 
    display: table-cell; 
    float:left; 
} 
関連する問題