質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

2回答

1051閲覧

positionのrelativeとabsoluteで画像の上に文字を表記する件についてです

pussy

総合スコア0

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/10/10 11:21

main pictureのimgの上に、pタグの中国の小さな小さな田舎町〜を乗せたいのですが、画像の下に文章が表示されてしまい乗っかりません。
起点は、画像の左上からtopやleftを指示したいと思っております。

下記がhtmlのコード。

<!DOCKTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>thread</title> <link rel="stylesheet" href="stylesheet.css"> </head> <body> <header> <div class="header-logo"> <heading class="thread"><a href="index.html"><img src="threadlogo.jpg" alt="threadのロゴ"></a> </div> </header> <div class="container"> <div class="side-menu"> <ul class="contents"> <li class="link"><a href="company profile.html">company profile</a></li> <li class="link"><a href="map.html">map</a></li> <li class="link"><a href="machine.html">machine</a></li> <li class="link"><a href="mailto:23@gmail.com"target="_blank">Contact</a></li> </ul> </div> <div class="main-picture"> <img src="top.jpg" alt="編み機のお兄さん"> <p>中国の小さな小さな田舎町<br>蘇州</p> </div> </div> </body>

下記がcssのコードです。

.header-logo img {
width: 100px;
height: auto;
margin: 50px;
}
.contents {
float: left;
}
.main-picture {
position: relative;
}
.main-picture p {
position: absolute;
color: black;
font-size: 60px;
font-family: ヒラギノ明朝 Pro;
font-weight: light;
}
.main-picture img {
width: 1170px;
height: auto;
margin: 30px;
}
.link {
list-style: none;
color: #808080;
}
a {
text-decoration: none;
color: black;
}
a.hover {
opacity: .5;
}

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

こんにちは。

以下を追加するとどうなりますか?

css

1.main-picture img { 2position:absolute; 3}

絶対配置にした要素はフローから外れ、後続の要素からその要素がなかったものとして配置、つまり上から配置されます。
ですので、重ねたい要素を絶対配置するのではなくて重ねられたい要素をHTMLの先において絶対配置をするのが手っ取り早いです。

または、-millmill-さんのご回答のように、z-indexを設定するならば、HTMLの出現順を重ね合わせ順と変えることもできます。

投稿2020/10/11 06:33

Lhankor_Mhy

総合スコア36960

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pussy

2020/10/12 06:10

皆様ご返信ありがとうございます。 imgにabsoluteを指定したら画像の上に文字が乗るようになりましたが、文字の起点がimgの左上ではなく、.main-pictureの角になってしまっております。class分けしていないのがよくないのかと思い 、 HTML <div class="main-picture"> <img src="top.jpg" alt="編み機のお兄さん"> <div class="main-picture-comment"> <p>中国の小さな小さな田舎町<br>蘇州</p> </div> </div> CSS .main-picture { position: relative; } .main-picture img { position: absolute; width: 1170px; height: auto; margin: 30px; } .main-picture-comment { position: absolute; top: 50px; left: 300px; color: white; font-size: 60px; font-family: ヒラギノ明朝 Pro; font-weight: light; } としてみたのですが、やはり写真が起点になってくれません・・・。 これはどうしてでしょうか?
guest

0

css

1.main-picture { 2z-index: -1; /* 追加 */ 3} 4.main-picture p { 5z-index: 1; /* 追加 */ 6}

positionを使った要素の重なり順は z-index で指定できます。
親要素を -1 で最下層にし
p要素を 1 にして上に重なるようにすればOKです^^

投稿2020/10/10 11:38

-millmill-

総合スコア676

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lhankor_Mhy

2020/10/11 06:34 編集

問題の解決につながらないと思いますので、低評価します。 このコードで解決をするには、HTMLも変更しないといけないはずです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問