2016-09-30 16 views
0

私はサイドバーを持っているサイトで作業しています。そのサイドバーには、サイドバーの一番下にあるフィードバックボタンがあります。 bodyというdivにあるfeedbackというdivにフィードバックボタンがあります。そして、私が持っている私のSCSSファイルで:コンテンツをサイドバーの下部に貼り付けるにはどうすればいいですか?

.card{ 
    position: relative; 

    .feedback{ 
    position: absolute; 
    bottom: 0; 
    } 
} 

ここではHTMLの構造である:

<div class="card"> 
    <div class="card-header"></div> 
    <div class="card-body"> 
    SIDEBAR CONTENT 
    </div> 
    <div class="feedback"> 
    FEEDBACK BUTTONS 
    </div> 
</div> 

それが動作するようには思えない、私は次に何をすべきか本当にわかりません。

+0

カードまたはフィードバックについては、 – user2320239

+1

私たちに教えてください – Weedoze

+0

とにかく、「固定された」というのは良い考えではないかもしれません。このためのHTML構造を表示するか、["sticky footer"](http://stackoverflow.com/search?tab=votes&q=%5bjavascript%5dsticky%20footer)を検索してください。 – Teemu

答えて

0

レイアウトにFlexBoxを使用することを検討しましたか?

現在、すべての主要なブラウザでサポートされています。

この

https://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/

編集を見てみましょう:を私はこれはそれを行う必要があります

.card{ 
    display: flex; 
    flex-direction: column; 
    min-height: 100vh; 
} 


.card-body{ 
    flex: 1; 
} 

私はあなたにいくつかのコード例を与えるだろうと思いました。 min-heightを必ず設定してください。ビューポート全体をカバーする場合は、100vhを使用できます。

+0

これは主に動作しますが、小さな問題はフィードバック領域の高さ自体が変わる可能性があるため、フッターが下から大きくなることです収容するが、私はむしろ上から拡大したいと思う。これを行う方法はありますか? – user2320239

+0

あなたは 'min-height'を非常に小さく設定していますか?そうすればあなたの**。card-body **はおそらくそのコンテンツのサイズ(正確にはパディング)になります。フィードバックフッターは、常にコンテンツに直接添付されます。そしてそれが成長すれば、それは奇妙に見えません。基本的にコンテンツとフィードバックのギャップはなくなります。 – JHolub

+0

また、サイドバーの高さが100%になっています。これは、フィードバックボタンがページの下側に表示されることを意味します。 – user2320239

0

position: fixedをdiv.feedbackに設定する

+0

ありがとうございますが、これは主に動作しますが、フィードバックがあるカード内のコンテンツが画面の下部に表示された場合フィードバックdivはコンテンツをオーバーラップさせますが、これが発生したときにプッシュダウンされるフィードバックがあります。これを行う方法はありますか? – user2320239

+0

Flexboxのアプローチはそれをカバーするべきです – JHolub

+0

その場合、 'fixed'は良い考えではありません.JHolubの解決策はうまくいくはずです – Umberto

関連する問題