2017-05-25 12 views
1

私は水平のタイムラインとして使用しているリストを持っています。しかし、最初の要素がスクロールバーの左側で一杯になるように、リストを左揃えするのに問題があります。私は問題の一部は、私はセットmargin-leftを持っていることを知っている、私はリストの要素の間にスペースを入れて何らかの方法が必要です(margin-leftは、左に最初の要素をさらに押し込むが、スクロールバー。水平リストの要素を左揃え

.navbar { 
 
\t margin-bottom:0px; 
 
} 
 

 
.jumbotron { 
 
\t margin-bottom:0px; 
 
} 
 

 
#timeline { 
 
\t list-style:none; 
 
\t white-space:nowrap; 
 
    overflow:auto; 
 
} 
 

 
#timeline li { 
 
\t display:inline-block; 
 
\t padding:1.5%; 
 
\t border:1px solid #d1d2d3; 
 
\t margin-left:2%; 
 
\t margin-bottom:2%; 
 
\t margin-top:2%; 
 
\t text-align:center; 
 
} 
 

 
#timeline li h3, #timeline li em { 
 
\t display:block; 
 
}
<!DOCTYPE html> 
 
<html> 
 

 
    <head> 
 
    <title>My Website</title> 
 
\t <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" 
 
     rel="stylesheet"> 
 
\t <link href="styles.css" rel = "stylesheet" type = "text/css"> 
 
    </head> 
 
    
 
    <body> 
 
    
 
\t <nav class="navbar navbar-default"> 
 
\t \t <div class="container-fluid"> 
 
\t \t \t <ul class="nav navbar-nav"> 
 
\t \t \t \t <li><a href="#">LinkedIn</a></li> 
 
\t \t \t </ul> 
 
\t \t </div> 
 
\t </nav> 
 
    
 
\t <div class="jumbotron text-center"> 
 
\t \t <h1>My Name</h1> 
 
\t </div> 
 
\t 
 
\t <div class="container"> 
 
\t \t <div class="row"> 
 
\t \t \t <div class="col-md-12"> 
 
\t \t \t \t <h1>What I've Been Up To</h1> 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t \t 
 
\t \t <!--Timeline--> 
 
\t \t <div class="row" style="overflow:auto"> 
 
\t \t \t <ul id="timeline"> 
 
\t \t \t \t <li> 
 
\t \t \t \t \t <h3>Graduated from College</h3> 
 
\t \t \t \t \t <em>May 24, 2012</em> 
 
\t \t \t \t </li> 
 
\t \t \t \t 
 
\t \t \t \t <li> 
 
\t \t \t \t \t <h3>Started my first job</h3> 
 
\t \t \t \t \t <em>June 30, 2012</em> 
 
\t \t \t \t </li> 
 
\t \t \t \t 
 
\t \t \t \t <li> 
 
\t \t \t \t \t <h3>Started my second job</h3> 
 
\t \t \t \t \t <em>April 3, 2014</em> 
 
\t \t \t \t </li> 
 
\t \t \t \t 
 
\t \t \t \t <li> 
 
\t \t \t \t \t <h3>Bought a house!</h3> 
 
\t \t \t \t \t <em>August 12, 2015</em> 
 
\t \t \t \t </li> 
 
\t \t \t \t 
 
\t \t \t \t <li> 
 
\t \t \t \t \t <h3>Got married</h3> 
 
\t \t \t \t \t <em>June 3, 2016</em> 
 
\t \t \t \t </li> 
 
\t \t \t \t 
 
\t \t \t \t <li> 
 
\t \t \t \t \t <h3>First child born</h3> 
 
\t \t \t \t \t <em>May 1, 2017</em> 
 
\t \t \t \t </li> 
 
\t \t \t </ul> 
 
\t \t </div> 
 
\t </div> 
 
\t 
 
\t <footer> 
 
\t <p> Copyright &copy; 
 
\t \t <!--Script displays the current year--> 
 
\t \t <script type="text/javascript"> 
 
\t \t var d = new Date() 
 
\t \t document.write(d.getFullYear()) 
 
\t \t </script> 
 
\t </p> 
 
\t </footer> 
 
    </body> 
 

 
</html>

+0

あなたは垂直または左に整列させるために 'li'の内容として水平' li'を意味ですか? –

答えて

0

私は強く、あなたのブラウザのデベロッパーコンソールを使用する方法を学ぶお勧めします。これの迅速な検査が#timeline要素がpadding-leftの40ピクセルを持っていることを明らかにした。

そのパディングを削除し、タイムライン項目のmargin-leftを変更し、要素間にマージンを置くようにしました。サイドノートとして、0px0は単位なしであるとして、あなたは、単に値の0(のようなmargin-bottom: 0;

を使用することができ、冗長性/必要はありません -

#timeline li + li { 
    margin-left: 2%; 
} 

そして:私はadjacent sibling selectorを使用してこれをやりましたここ

が正しく動作するように変更、スニペットです:

.navbar { 
 
    margin-bottom: 0; 
 
} 
 

 
.jumbotron { 
 
    margin-bottom: 0; 
 
} 
 

 
#timeline { 
 
    list-style: none; 
 
    white-space: nowrap; 
 
    overflow: auto; 
 
    padding-left: 0; 
 
} 
 

 
#timeline li { 
 
    display: inline-block; 
 
    padding: 1.5%; 
 
    border: 1px solid #d1d2d3; 
 
    margin-bottom: 2%; 
 
    margin-top: 2%; 
 
    text-align: center; 
 
} 
 

 
#timeline li + li { 
 
\t margin-left: 2%; 
 
} 
 

 
#timeline li h3, 
 
#timeline li em { 
 
\t display: block; 
 
}
<!DOCTYPE html> 
 
<html> 
 

 
    <head> 
 
    <title>My Website</title> 
 
\t <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" 
 
     rel="stylesheet"> 
 
\t <link href="styles.css" rel = "stylesheet" type = "text/css"> 
 
    </head> 
 
    
 
    <body> 
 
    
 
\t <nav class="navbar navbar-default"> 
 
\t \t <div class="container-fluid"> 
 
\t \t \t <ul class="nav navbar-nav"> 
 
\t \t \t \t <li><a href="#">LinkedIn</a></li> 
 
\t \t \t </ul> 
 
\t \t </div> 
 
\t </nav> 
 
    
 
\t <div class="jumbotron text-center"> 
 
\t \t <h1>My Name</h1> 
 
\t </div> 
 
\t 
 
\t <div class="container"> 
 
\t \t <div class="row"> 
 
\t \t \t <div class="col-md-12"> 
 
\t \t \t \t <h1>What I've Been Up To</h1> 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t \t 
 
\t \t <!--Timeline--> 
 
\t \t <div class="row" style="overflow:auto"> 
 
\t \t \t <ul id="timeline"> 
 
\t \t \t \t <li> 
 
\t \t \t \t \t <h3>Graduated from College</h3> 
 
\t \t \t \t \t <em>May 24, 2012</em> 
 
\t \t \t \t </li> 
 
\t \t \t \t 
 
\t \t \t \t <li> 
 
\t \t \t \t \t <h3>Started my first job</h3> 
 
\t \t \t \t \t <em>June 30, 2012</em> 
 
\t \t \t \t </li> 
 
\t \t \t \t 
 
\t \t \t \t <li> 
 
\t \t \t \t \t <h3>Started my second job</h3> 
 
\t \t \t \t \t <em>April 3, 2014</em> 
 
\t \t \t \t </li> 
 
\t \t \t \t 
 
\t \t \t \t <li> 
 
\t \t \t \t \t <h3>Bought a house!</h3> 
 
\t \t \t \t \t <em>August 12, 2015</em> 
 
\t \t \t \t </li> 
 
\t \t \t \t 
 
\t \t \t \t <li> 
 
\t \t \t \t \t <h3>Got married</h3> 
 
\t \t \t \t \t <em>June 3, 2016</em> 
 
\t \t \t \t </li> 
 
\t \t \t \t 
 
\t \t \t \t <li> 
 
\t \t \t \t \t <h3>First child born</h3> 
 
\t \t \t \t \t <em>May 1, 2017</em> 
 
\t \t \t \t </li> 
 
\t \t \t </ul> 
 
\t \t </div> 
 
\t </div> 
 
\t 
 
\t <footer> 
 
\t <p> Copyright &copy; 
 
\t \t <!--Script displays the current year--> 
 
\t \t <script type="text/javascript"> 
 
\t \t var d = new Date() 
 
\t \t document.write(d.getFullYear()) 
 
\t \t </script> 
 
\t </p> 
 
\t </footer> 
 
    </body> 
 

 
</html>

+0

助けてくれてありがとう!私は、Chromeデベロッパーツールについて詳しく調べる予定です。あなたがそうすることを提案した後、私はさまざまな要素を調べる方法を見つけ出し、パディングを見ました。 – bavenafu

+0

私は、詰め物が 'ul'のためのデフォルトのブラウザスタイリングから来ていることに注意したいと思います。ブラウザのスタイルをリセットすることは、特に順序付けされたリストや順序付けられていないリストに対しては、しばしば望ましくないことがあります。 – hungerstar

0

あなたの要素の左側に実際に詰まっているそれらのLiを得るためには、最初にULからパディングとマージンを取り除く必要があります。

#timeline { 
    list-style: none; 
    white-space: nowrap; 
    overflow: auto; 
    margin: 0; 
    padding: 0; 
} 

#timeline li { 
    display: inline-block; 
    padding: 1.5%; 
    border: 1px solid #d1d2d3; 
    margin-right: 2%; 
    margin-bottom: 2%; 
    margin-top: 2%; 
    text-align: center; 
} 

enter image description here

0

あなたの問題の一部は、はい、リスト要素にmargin-leftです。あなたは最初のもののためにそれを取り除くことができます:#timeline li:first-child { margin-left: 0; }。さらに、ul自体はデフォルトで左にパディングがあります。そのように削除することができます:#timeline { padding-left: 0; }

0

あなたはCSSに、この中で追加する必要があります。

#timeline li:first-child { 
    margin-left:0 
} 

とタイムライン要素に対して、このCSSを変更します。それthatsの

#timeline { 
    list-style:none; 
    white-space:nowrap; 
    overflow:auto; 
    padding: 0; 
} 

1

タイムラインIDのpadding-left:0px;を省略したことを除いて、すべてがあります。

よくできています。

.navbar { 
 
    margin-bottom: 0px; 
 
} 
 

 
.jumbotron { 
 
    margin-bottom: 0px; 
 
} 
 

 
#timeline { 
 
    list-style: none; 
 
    white-space: nowrap; 
 
    overflow: auto; 
 
    padding-left: 0px; 
 
} 
 

 
#timeline li { 
 
    display: inline-block; 
 
    padding: 1.5%; 
 
    border: 1px solid #d1d2d3; 
 
    margin-left: 2%; 
 
    margin-bottom: 2%; 
 
    margin-top: 2%; 
 
    text-align: center; 
 
} 
 

 
#timeline li h3, 
 
#timeline li em { 
 
    display: block; 
 
}
<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <title>My Website</title> 
 
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"> 
 
    <link href="styles.css" rel="stylesheet" type="text/css"> 
 
</head> 
 

 
<body> 
 

 
    <nav class="navbar navbar-default"> 
 
    <div class="container-fluid"> 
 
     <ul class="nav navbar-nav"> 
 
     <li><a href="#">LinkedIn</a></li> 
 
     </ul> 
 
    </div> 
 
    </nav> 
 

 
    <div class="jumbotron text-center"> 
 
    <h1>My Name</h1> 
 
    </div> 
 

 
    <div class="container"> 
 
    <div class="row"> 
 
     <div class="col-md-12"> 
 
     <h1>What I've Been Up To</h1> 
 
     </div> 
 
    </div> 
 

 
    <!--Timeline--> 
 
    <div class="row" style="overflow:auto"> 
 
     <ul id="timeline"> 
 
     <li> 
 
      <h3>Graduated from College</h3> 
 
      <em>May 24, 2012</em> 
 
     </li> 
 

 
     <li> 
 
      <h3>Started my first job</h3> 
 
      <em>June 30, 2012</em> 
 
     </li> 
 

 
     <li> 
 
      <h3>Started my second job</h3> 
 
      <em>April 3, 2014</em> 
 
     </li> 
 

 
     <li> 
 
      <h3>Bought a house!</h3> 
 
      <em>August 12, 2015</em> 
 
     </li> 
 

 
     <li> 
 
      <h3>Got married</h3> 
 
      <em>June 3, 2016</em> 
 
     </li> 
 

 
     <li> 
 
      <h3>First child born</h3> 
 
      <em>May 1, 2017</em> 
 
     </li> 
 
     </ul> 
 
    </div> 
 
    </div> 
 

 
    <footer> 
 
    <p> Copyright &copy; 
 
     <!--Script displays the current year--> 
 
     <script type="text/javascript"> 
 
     var d = new Date() 
 
     document.write(d.getFullYear()) 
 
     </script> 
 
    </p> 
 
    </footer> 
 
</body> 
 

 
</html>

+0

はい、0は無単位なので、 'padding-left:0;' .... .... –

+0

@cale_b良い点! –

関連する問題