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

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

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

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

CSS

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

Q&A

解決済

2回答

183閲覧

position:abusolute 動かしたあと固定したい。

dogfood

総合スコア19

HTML

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

CSS

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

0グッド

0クリップ

投稿2019/04/13 23:54

編集2019/04/14 00:06

画像の上(例えば右端)に文字をのせたかったとして、
画像にposition:relative
文字にposition:abusoluteを使ったとします。
topやleftの数値を変え、文字を置きたい場所においたのち、
画面サイズが変わったとしてもその位置から動かない(つまりは画像の右端のまま)ようにするには、
どのような要素を取り込んだらいいのでしょうか?

個人的にはメディアクエリで変えていくのかなと思っているのですが、この見解はどうなのでしょうか?
ご教授いただけたらと思います。

よろしくお願い申し上げます。


HTML

1<div class="img-wrapper"> 2 <div class="img1"> 3 <img class="img" src="img/1.jpg" alt="" width="100%"> 4 <div class="desc one"> 5 <h1>多彩な表現を楽しめる</h1> 6 <p>アートフィルターやアドバンストフォトモードといった機能を搭載するE-PL9なら、多彩な表現の写真撮影を手軽に楽しむことができます。</p> 7 <a href="#">▶︎詳細を見る</a> 8 </div> 9 </div> 10 <div class="img2"> 11 <img src="img/2.jpg" alt="" width="100%"> 12 <div class="desc two"> 13 <h1>スマートフォンで簡単シェア</h1> 14 <p>Bluetooth®やWi-Fi®でスマートフォンと連携できるE-PL9。スマートフォンへの画像転送がより簡単・快適になりました。</p> 15 <a href="#">▶︎詳細を見る</a> 16 </div> 17 </div> 18 <div class="img3"> 19 <img src="img/3.jpg" alt="" width="100%"> 20 <div class="desc three"> 21 <h1>操作性にもこだわった高品位デザイン</h1> 22 <p>使いやすさにもこだわって、PENシリーズらしい高品位なデザインに仕上げました。持ち運びのときのファッションコーディネートにマッチするアクセサリーも多数用意しています。</p> 23 <a href="#">▶︎詳細を見る</a> 24 </div> 25 </div> 26</div>

CSS

1.img{ 2 width: 100vw; 3 position: relative; 4} 5 6.desc{ 7 width: 40vw; 8 position: absolute; 9 box-sizing: border-box; 10} 11 12.one{ 13 right: 8vw; 14 top: 47vh; 15} 16 17.two{ 18 left: 5vw; 19 top: 97vh; 20} 21 22.three{ 23 right: 8vw; 24 top: 155vh; 25} 26 27 28.desc h1{ 29 font-size: 20px; 30 font-weight: normal; 31} 32 33.desc p{ 34 font-size: 15px; 35 font-weight: normal; 36 37} 38 39.desc a{ 40 padding:10px 80px; 41 background-color: #FFA500; 42 display: inline-block; 43 font-size: 12px; 44 border-radius: 3px; 45 letter-spacing: 5px; 46 box-shadow: 2px 2px 2px #C0C0C0; 47} 48 49.desc a:hover{ 50 background-color: #FF5F17 51}

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

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

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

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

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

s8_chu

2019/04/14 00:01

実現したいことがわからないのですが、`position: fixed`ではやりたいことが行えませんか? もし行えないのであれば、どのように条件が満たせていないのかを質問文に追記していただけませんか?
dogfood

2019/04/14 00:05

画像上に説明文を乗せたいのですが、 それをpositionのrelative,abusoluteでやる以外の方法が思いつかない状態です。 ヘッダーなどにはfixedを用いたのですが、それをどのようにこちらに組み込んでいいか分かりかねています。
guest

回答2

0

ベストアンサー

@yoshinavi さんと同意見です。
.img1に対してrelativeを設定すれば、.img1の左上を(0, 0)としてabsoluteが機能するようになるはずです。
.imgに対するrelativeは不要なはず。

投稿2019/04/14 06:40

otolab

総合スコア765

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

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

dogfood

2019/04/14 22:16

分かりやすくありがとうございました! 解決しました。
guest

0

パッと見の感想ですが、画像を基準として文字位置を配置したいのであれば、「abusolute」の基準となる「relative」は、兄弟要素では無く、親要素への指定が必要です。

投稿2019/04/14 03:55

yoshinavi

総合スコア3523

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

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

dogfood

2019/04/14 22:16

ありがとうございました。上記のやり方で解決しました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問