2016-09-21 18 views
-1

私のHTMLは以下の通りです:divの中にdivを配置するにはどうすればいいですか?

<div id="background_div"> 
    <img id="background_img" src="images/background.jpg" alt="dont matter"> 
    <i class="material-icons">perm_identity</i> 
    <div id="dropdown"> 
     <ul id="dropdown2" class="dropdown-content"> 
     <li><a href="#!">one<span class="badge">1</span></a></li> 
     <li><a href="#!">two<span class="new badge">1</span></a></li> 
     <li><a href="#!">three</a></li> 
     </ul> 
     <a class="btn dropdown-button" href="#!" data-activates="dropdown2">Select Service<i class="mdi-navigation-arrow-drop-down right"></i></a> 
    </div> 
    </div> 

私はそれがある種の相対を使用して私の中心を助けるかもしれないと思ったので、私はdiv要素のid「background_div」(子/親)内のdiv ID「ドロップダウン」を持つように構文を変更CSS機能。私はもともと2つのdivsを兄弟として持っていました...基本的に、私が達成しようとしているのは、background_divの真ん中にあるドロップダウン・ディク・スワック・バンを得ることです。応答性のあるやり方でやってもいいですか。

誰でも達成するのに役立つCSSスクリプトを提供していただけますか?

ありがとうございました!

+0

、良い参照がここにあります。.. https://css-tricks.com/centering -css-complete-guide/ – choz

+0

あなたは垂直または水平にセンタリングしようとしていますか? –

+0

@cup_ofは、縦と横の両方を中心にしようとしています。親divのテキスト・アラインメント・センターを使用しましたが、それはちょうど水平の中央に配置されました。歓声! – ngboverflow

答えて

0

このCSSはFlexbox

#background_div { 
    display: flex; 
} 

#dropdown { 
    justify-content: center; 
} 
+0

これには注意してください。 Flexboxは比較的新しいもので、バグの影響を受けやすいものです。ご利用になる前に、ブラウザのサポートを調べてください。 –

+0

これは公正な警告ですが、Flexboxはこの時点でしばらくお待ちください。さらに、主要なブラウザでも大きな支持を得ています。とにかくこのような基本的なユースケースについては、問題はないはずです – fvgs

0

の使用あなたが#background_divのCSSスタイルにtext-align: center;を追加することができますが、その後#background_divの内部すべてが中心になりますになります。特定のパーツのみを中央に配置する場合は、centeredという<span>タグでその部分をラップします(<span class="centered">)。次に、あなたのCSSで、

.centered { 
    text-align: center; 
} 

に追加今あなたが中心になりたい何でも周り<span class="centered">を追加することができます。

+0

ありがとうございます! – ngboverflow

0

垂直中央何かに私のお気に入りの方法が行うことです。

/* the div you want centered inside another div*/ 

#dropdown { 
    position: absolute; 
    top: 50%; 
    transform: translateY(-50%); 
} 

/* set the parent div to position relative */ 

#background_div { 
    position: relative; 
} 

これますおそらく台無しにあなたの水平方向の中心をテキストアラインセンターを使用している場合。その場合ので、あなたの最終的なコードは次のようになりますあなたのCSS

width: 100px; /* give it any width that fits */) 
margin: 0 auto; 

にこれを追加します。あなたが見

#dropdown { 
    position: absolute; 
    top: 50%; 
    transform: translateY(-50%); 
    width: 100px; 
    margin: 0 auto; 
} 

#background_div { 
    position: relative; 
} 
+0

詳細をありがとう! – ngboverflow

+0

np、これはuのために機能しましたか? –

+0

こんにちは、ありがとうございましたが、何かがさらに欠けていました - 実体化フレームワークを使用していたので、行の高さとdivの高さが違っていることをdevツールでスタイリングしなければなりませんでした。上で概説したコードが働いた!乾杯 – ngboverflow

関連する問題