2016-12-13 9 views
1

私は以下のようなHTML構造を持っています。ここで、要約を中央(縦方向と横方向)に表示します。また、「just-in-tags」は、要約のちょうど20px(余白)になるようにします。テキストを中央のテキストの上にちょうどpxの位置に置くにはどうすればいいですか?

<div class="article-right aligner"> 
    <div class="just-in-tags"> 
     <span class="article-label tags tags--primary">Latest Best of the Web</span> 
    </div> 

    <div class="summary"> 
     <h2 class="trending-header-text"> 
     <a href="google.com">Hello World Hello World Hello World</a> 
     </h2> 
    </div> 
</div> 

私はこのcodepenに示すように実行しようとしました:

http://codepen.io/hellouniverse/pen/LbJoYY

私がしようとしているCSSは次のとおりです。

%aligner { 
    align-items: center; 
    display: flex; 
    justify-content: center; 
} 

.tags { 
    text-align: center; 
    margin-bottm: 20px; 
} 

.article-right { 
    width: 860px; 
    height: 320px; 
    background-color: grey; 
    @extend %aligner; 
    flex-direction: column; 
} 

はしかし、すべてが私のために中央に配置されます。 要約のテキストを中央に配置し、「最新のベスト・オブ・ザ・ウエブ」を要約のテキストよりも正確に20px上にして、要約テキストを中央に垂直に維持したい。

私は立ち往生しています。どのようにこの問題を解決するための任意のアイデア?このコードの代わりに

+0

だけで中央にテキストを配置div、divを中心にする。そのdivに他のテキストを置き、pxの位置、または他のテキストからのマージンを指定します。 –

+0

更新を参照してください。それはおそらく動作しない可能性があります.. –

+0

実際にあなたの考えは動作します... –

答えて

0

使用:

.aligner { 
 
\t align-items: center; 
 
\t display: flex; 
 
\t justify-content: center; 
 
} 
 

 
.summary { 
 
\t text-align: center; 
 
} 
 

 
.tags { \t 
 
\t margin-bottm: 20px; 
 
} 
 

 
.article-right { 
 
\t width: 860px; 
 
\t height: 320px; 
 
\t background-color: grey; 
 
\t @extend %aligner; 
 
\t flex-direction: column; 
 
}
<div class="article-right aligner"> 
 
\t <div class="summary"> 
 
\t \t <span class="article-label tags tags--primary">Latest Best of the Web</span> 
 
\t \t <h2 class="trending-header-text"> 
 
     <a href="google.com">Hello World Hello World Hello World</a> 
 
     </h2> 
 
\t </div> 
 
</div>
はところで:あなたはその codepenのタイプミスがありました。アライナーは .の代わりに %でした。

+0

はあなたのために働いていますか? –

+0

にプレースホルダです – Yaser

0

下記のリンクをご覧ください。 How to center an element horizontally and vertically?

+0

私は水平に垂直に仰向けに見ていません。それはすでに行われています。私が探しているのは、中央のテキストの位置に影響を与えずにテキストを中央の要素の上に置くことです。 –

0

あなたは、テキスト整列のコメントを外すことにより、中央のウェブテキストの最新情報を得ることができます:私はあなたの質問がここで回答されていると信じセンターを.tagsクラスに(あなたはそれをしたい場合は...)

.article-right { 
 
    width: 860px; 
 
    height: 320px; 
 
    background-color: grey; 
 
\t \t position:relative; 
 
} 
 
.summary{ 
 
\t margin:0; 
 
\t padding:0; 
 
\t width:100%; 
 
\t position:absolute; 
 
\t bottom:50%; 
 
} 
 
.tags { 
 
    margin:0; 
 
    padding:0; 
 
    /*text-align: center;*/ 
 
    margin-bottom: 20px; 
 
} 
 
.trending-header-text{ 
 
\t text-align:center; 
 
\t margin:0; 
 
\t padding:0; 
 
    font:size:30px; 
 
    margin-bottom:-15px; 
 
}
<div class="article-right aligner"> 
 
     <div class="summary"> 
 
      <p class="article-label tags tags--primary">Latest Best of the Web</p> 
 
      <h2 class="trending-header-text"> 
 
      <a href="google.com" >Hello World Hello World Hello World</a> 
 
      </h2> 
 
     </div> 
 
    </div>

+0

は、「私は要約のテキストが中心になりたいと、 『ウェブの最新のベストは』正確に要約テキストは、まだ縦中央にとどまるような要約のテキストの上20ピクセルすること。」。それは、最新のベスト・オブ・ザ・ウェイ・オブ・ザ・ウェイを真に中心にしないことではありません。こんにちはHelloWrldを縦に中央に置き、他のテキストを20px上にします。 –

+0

私のコードにあります。私はあなたが少し –

+0

そのことについて申し訳ありませんを与えたHTMLを変更しました。しかし、それは簡単にその方法でした –

0

.aligner { 
 
\t align-items: center; 
 
\t display: flex; 
 
\t justify-content: center; 
 
} 
 

 
.summary { 
 
\t text-align:center; 
 
} 
 

 
.tags { 
 
\t margin-bottm: 20px; 
 
} 
 

 
.article-right { 
 
\t width: 860px; 
 
\t height: 320px; 
 
\t background-color: grey; 
 
\t @extend .aligner; 
 
\t flex-direction: column; 
 
\t text-align: center; 
 
}