html
  • css
  • css3
  • position
  • 2017-05-16 10 views 0 likes 
    0

    絶対配置された要素内にアタッチするh2ヘッダーを取得できません。私は考えられるエラーのリストを調べましたが、答えを見つけることができないようです。 h2要素は、画面を検査した後、何らかの理由で高さが0になります。センタリングされたアブソリュートdiv内に隠されたテキスト要素

    Here's a codepen link

    HTML:

    <div class="gallery"> 
    
         <img class='gallery-image' src='https://dummyimage.com/200x400/000000/ffffff'> 
         <img class='gallery-image' src='https://dummyimage.com/200x400/000000/ffffff'> 
         <img class='gallery-image' src='https://dummyimage.com/200x400/000000/ffffff'> 
         <img class='gallery-image' src='https://dummyimage.com/200x400/000000/ffffff'> 
         <a class='call-action' href='#'> 
         <h2>Shop Now.</h2> 
         </a> 
        </div> 
    

    CSS:答えは明白である場合

    .gallery { 
    
        position: absolute; 
        z-index: 2; 
        width: 100%; 
        display: flex; 
        flex-wrap: wrap; 
        font-size: 0; 
    
        img { 
    
        display: block; 
        width: 25%; 
        height: 50%; 
    
        @media only screen and (max-width: 500px) { 
    
         width: 50%; 
         height: 100%; 
    
        } 
    
        } 
    
    } 
    
    $call-action-width: 150px; 
    $call-action-height: 50px; 
    
    .call-action { 
    
        width: $call-action-width; 
        height: $call-action-height; 
        position: absolute; 
        top: 50%; 
        left: 50%; 
        transform: translate(-50%, -50%); 
        z-index: 0; 
        background-color: white; 
        opacity: 0.5; 
        border-radius: 5%; 
    
        h2 { 
    
        position: relative; 
        color: black; 
        font-size: 2em; 
    
        } 
    
    } 
    

    申し訳ありません - 私はコーディングの練習に戻ってきたと私は非常にラフです。

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

    +0

    マークアップとスタイルの書き方に関する別の見通しは次のとおりです。https://codepen.io/sheriffderek/pen/3a09d48fc68bb205008d3e4d585cae1b/私は自分自身を助けることができませんでした。 :/ – sheriffderek

    答えて

    3

    問題はfont-sizeにあります。 em親の要素に関連しているので、emフォントをposition: absolute<div>に含めることはできません。

    固定サイズフォント(pxなど)にスワップするだけで問題が解決されます。私はこれを示す新しいペンを作成しましたhere

    残念ながら、これはあなたのフォントが応答できないことを意味します。レスポンスフォントを使用するには、いくつかのメディアクエリを使用するか、または<h2>要素がposition: relativeの親要素を持つようにHTMLを再構成する必要があります(emを使用できるため)。

    希望すると便利です。 :)

    +0

    'rem'ユニットはまだ' em'と似ていますが、親([more info here])(https://zellwk.com/)ではなく、ルート(html)に相対的です。ブログ/ rem-vs-em /))。これは、 'px'やメディアクエリよりも優れた代替手段です。 –

    +2

    emのフォントサイズは、親要素のフォントサイズが0であることを除き、機能します。私は絶対配置は重要ではないと思います。 –

    +0

    ありがとうございました!それだった! – MoSheikh

    関連する問題