忍者ブログ

からすまる日誌 css

授業noteからcss部分を抜粋

序章(26) 画像の上に文字

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

序章(26) 画像の上に文字

divのbackgroundではなく、
imgの上に文字を配置したい時(alt属性を使いたい時など)
 
img{
 max-width:100%;
/*自分以上には大きくならない&親要素に対して横幅100%*/
}
 
こう書いておくとidやclassの中に入っているimgも
そうでないのも全部にかかる
 
--->img_position.html
 
<!DOCTYPE html>
<html lang="ja">
 <head>
  <meta charset="ja">
  <title></title>
  <link rel="stylesheet" href="test2.css">
  <script src="../jquery-3.4.1.min.js"></script>
 </head>
 <body>
  <h1>imgの上に文字を配置</h1>
  <div class="hero">
   <div class="hero_img">
    <img src="hero.jpg" alt="サラダの画像ですよ">
   </div>
   <div class="hero_title">
    <h2>毎日の食事!<br>後略</h2>
    <p>日々の食事が中略あなたへ</p>
   </div>
   
  </div>
  
  <script src="test2.js"></script>
 </body>
</html>
 
--->test2.css
 
@charset="UTF-8";
body{
 background: #EFF;
}
img{
 max-width:100%;/*自分以上には大きくならないand 親要素に対して横幅100%*/
}
.hero{
 color: #fff;
 position: relative;/*親要素にrelativeをかける。親要素を基準に子を動かしたい*/
}
.hero .hero_title{
 position: absolute;
 left: 4rem;
 top: 50%;
 transform: translateY(-50%);
}
 
注意!
.hero のあとに半角スペースが必要(子要素なので)
 

ただこれだと上下のはみ出た部分が隠れている
  
floatの話を思い出そう
 
横並びしたい箱に親要素
中に子要素、1列目に2箱(a,b)、2列目に1箱(c)
aとbにfloat
cにclear bothしないと親要素の高さが0のまま
 
場合によってはこの末っ子cがいない
→clearする場所がない
→方法は2つ
 
1.親要素にoverflow hiddenをかける
(はみ出たものは隠す。なんかしらないけど親要素の高さが戻る)
2.むりやり末っ子を作る
  
--->test2.css(コードが違ってる可能性あり)
 
@charset="UTF-8";
body{
 background: #EFF;
}
img{
 max-width:100%;/*自分以上には大きくならないand 親要素に対して横幅100%*/
}
.hero{
 color: #fff;
 position: relative;/*親要素にrelativeをかける。親要素を基準に子を動かしたい*/
}
.hero .hero_img{
 height: 520px;
 overflow: hidden;/*高さ520よりはみ出した部分を隠せ*/
}
.hero .hero_title{
 position: absolute;
 left: 4rem;
 top: 50%;
 transform: translateY(-50%);
}
PR

コメント