2016-11-09 4 views
2

私のコードは ボタンも同様に、それらの間のスペースは、(水平方向)

<div class="buttons"> 
<input id="date" type="date" name="Date"> 
<button id="ShowAll">Show All</button> 
<button id=" showvalid">Show Valid</button> 
<button id=" showpending">Show Pending</button> 
<button id=" save">Save</button> 
<button id=" clear">Clear</button> 
<button id=" downloadascsv">Download As CSV</button> 

が、私はそれらの入力日付をしたいとボタンが class="buttons"のdivに水平にスペースをエクイです。私はグーグルから多くのトリックを試みたが、それらのボタンは等幅ではなかったので、誰も働かなかった。私は別のdivのボタンを配置し、幅= 14.2(100/7)としてdivを作成しようとしましたが、次のように結果が得られました。 enter image description hereすべてのボタンの幅が等しくないため動作しませんでした。基本的に期待通りです。 enter image description here ここで「d」は要素間の等距離です。 この場合、ボタンがあります。 display:blockまたは inlineまたは inline-blockの要素が水平に等しく、垂直に同じになるようにするには、どうすればよいでしょうか。レスポンシブなウェブページに答えてください。

+0

htisのリンクをご確認ください:-https://css-tricks.com/equidistant-objects-with-css/ –

+0

あなたはdivの中でそれらをラップし、そのdivの表示を持つことができます。フレックス – Geeky

+0

あなたがhttp://codepen.io/sahithiK/pen/ObyZbRを手助けできるかどうかチェックしてください – Geeky

答えて

2

を参照のベンダープレフィックスとブラウザのサポートを確認するには

<div class="buttons-table"> 
     <div> 
      <input id="date" type="date" name="Date"> 
     </div> 
     <div> 
      <button id="ShowAll">Show All</button> 
     </div> 
     <div> 
      <button id=" showvalid">Show Valid</button> 
     </div> 
     <div> 
      <button id=" showpending">Show Pending</button> 
     </div> 
     <div> 
      <button id=" save">Save</button> 
     </div> 
     <div> 
      <button id=" clear">Clear</button> 
     </div> 
     <div> 
      <button id=" downloadascsv">Download As CSV</button> 
     </div> 
    </div> 

     .buttons-table { 
      display: table; 
      width: 100%; 
      table-layout: fixed; 
      text-align: center; 
     } 
     .buttons-table div { 
      display: table-cell; 
     } 

あなたはtext-align:justifyとpseudoを使って1行でトリガすることができます。

.buttons { 
 
    text-align:justify; 
 
} 
 
.buttons:after { 
 
    content:''; 
 
    display:inline-block; 
 
    width:99.5%;/* generates an extra transparent line */ 
 
} 
 
/* makeup*/ 
 
.buttons { 
 
    min-width:45em; 
 
    padding: 1.2em 1em 0; 
 
    box-shadow:0 0 5px; 
 
    margin:1em; 
 
    border-radius:0.25em; 
 
}
open snippet in full page :) 
 
<div class="buttons"> 
 
<input id="date" type="date" name="Date"> 
 
<button id="ShowAll">Show All</button> 
 
<button id=" showvalid">Show Valid</button> 
 
<button id=" showpending">Show Pending</button> 
 
<button id=" save">Save</button> 
 
<button id=" clear">Clear</button> 
 
<button id=" downloadascsv">Download As CSV</button> 
 
</div>

+0

あなたはフレックスを使わないという私の心を読んでいますが、疑似要素についてはわかりません。 'display:block'であるにもかかわらず、擬似要素を追加した理由と.buttonsクラスに' text-align:justify'を追加した理由を説明できますか? (私はテキストアライメント効果がインライン要素だけだと思います、間違っていますか?) –

+0

@jayachandrachillipuri text-alignは、テキスト、img、入力(任意のインライン/インラインブロック要素)のタグ内に効果を持ちます。 '正当化'は、通常、それぞれの間にギャップが等しい単語をスプレーします。しかし、最後の行では機能しません(1行も最後です:))。ここでの擬似は、2行目を生成するために加えられます。インライン・ブロックで表示されるので、行全体を単独で使用するようにサイズを調整できます。テキストの最後の行はもはや最後の行ではなく、text-alignは効率的になります。 –

0

使用ディスプレイ:曲がり、正当化 - コンテンツ:チェック

スペースの間にこのスニペット

.buttons { 
 
    display: flex; 
 
    justify-content: space-between; 
 
}
<div class="buttons"> 
 
    <input id="date" type="date" name="Date"> 
 
    <button id="ShowAll">Show All</button> 
 
    <button id=" showvalid">Show Valid</button> 
 
    <button id=" showpending">Show Pending</button> 
 
    <button id=" save">Save</button> 
 
    <button id=" clear">Clear</button> 
 
    <button id=" downloadascsv">Download As CSV</button> 
 
</div>

0

はちょうどあなたの親のdivに表示フレックスを使用し、ボタンに挿入しますマージン値。

https://jsfiddle.net/a20eavga/2/

<div class="buttons"> 
    <input id="date" type="date" name="Date"> 
    <button id="ShowAll">Show All</button> 
    <button id=" showvalid">Show Valid</button> 
    <button id=" showpending">Show Pending</button> 
    <button id=" save">Save</button> 
    <button id=" clear">Clear</button> 
    <button id=" downloadascsv">Download As CSV</button> 
</div> 

.buttons{ 
    display:flex; 
} 

button, input { 
    margin-left:10px; 
} 
0

だけでなくパディングとマージンを定義してみます。

2

あなたはその後、「フレキシボックス」を使用することができた場合:

<div class="buttons-flex"> 
     <input id="date" type="date" name="Date"> 
     <button id="ShowAll">Show All</button> 
     <button id=" showvalid">Show Valid</button> 
     <button id=" showpending">Show Pending</button> 
     <button id=" save">Save</button> 
     <button id=" clear">Clear</button> 
     <button id=" downloadascsv">Download As CSV</button> 
    </div> 

     .buttons-flex { 
      display: -webkit-flex; 
      display: flex; 
      -webkit-justify-content: space-between; 
      justify-content: space-between; 
     } 

あなたは(IE9のような)古いブラウザをサポートする必要があると「フレキシボックス」を使用することができない場合は、何も100%の溶液を、最高はありませんあなたは、この場合に取得することができ、おそらくこのようなものです:あなたはUにしたくない場合は、「フレキシボックス」http://caniuse.com/#search=flex

関連する問題