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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

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

Q&A

解決済

2回答

909閲覧

画像が親要素からはみ出してしまいまいます。

tkm0604

総合スコア555

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

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

0グッド

1クリップ

投稿2020/09/10 08:52

添付画像のようなレイアウトにしたく、下記コードを書いたのですが、
2段目の画像が親要素からはみ出してしまいます。

1段目から3段目まで、それぞれ画像の位置は

position: absolute
left: -20%

のように本来の画像から少し中に入り込む(表示しない部分を隠せる)ようなイメージで配置しています。

1段目 3段目の画像は
position: absolute
left: -20%

でbody内に収まるのですが、2段目の画像だけ親要素からはみ出てしまいます。
どうすれば回避できるでしょうか

HTML

1 2コード
<div class="tutorial-wrapper"> <div class="tutorial-box"> <img class="tutorial-img" src="画像パス"> <div class="tutorial-text"> テキストエリア </div> </div> </div> <div class="tutorial-wrapper"> <div class="tutorial-box"> <img class="tutorial-img-2" src="画像パス"> <div class="tutorial-text"> テキストエリア </div> </div> </div> <div class="tutorial-box"> <img class="tutorial-img" src="画像パス"> <div class="tutorial-text"> テキストエリア </div> </div> </div> "> <div class="tutorial-box"> <img class="tutorial-img" src="画像パス"> <div class="tutorial-text"> テキストエリア </div> </div> </div> <div class="tutorial-wrapper"> <div class="tutorial-box"> <img class="tutorial-img" src="画像パス"> <div class="tutorial-text"> テキストエリア </div> </div> </div>

SCSS

1 2コード

.tutorial-wrapper {
margin-bottom: 180px;

.tutorial-box { position: relative; } .tutorial-img { position: absolute; left: -20%; } .tutorial-text { background-color: gray; position: absolute; top: 50%; left: 50%; }

}
/tutorialwrapper/

.tutorial-img_2 {
position: absolute;
left: -20%;
}

position: absolute で高さをなくしてしまうので
下記Jquery で class="tutorial-box" の高さを取得しています。

``javascript
コード

$(function(){ var biggestHeight = "0"; $(".tutorial-box *").each(function(){ if ($(this).height() > biggestHeight ) { biggestHeight = $(this).height() } }); $(".tutorial-box").height(biggestHeight); }) </script> ![イメージ説明](28417689ddc6d997850e5035c39a1c16.jpeg)

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

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

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

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

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

kei344

2020/09/14 01:44

コードブロックが適切に設定されていません。PCであれば記入エリアの右部分あたりにリアルタイムに結果が表示されていると思うので、そこを見ながら調整してください。
guest

回答2

0

自己解決

ご回答ありがとうございました。

HTML記述ミスもありましたが、 よくよく考えるとHTMLは左上から表示されていくので
はみ出してしまっていた画像の箇所は、position:absolute right:-20% のように書くと画像が右へ押しやられてbodyからはみ出していくのは回避できない。 のではないか という結論に至りました。

別の方法でデザインしようと思います。

投稿2020/09/14 05:43

tkm0604

総合スコア555

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

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

0

なんか、HTMLソースでの3段目の箇所にバリデーションエラーがありますが、記述ミスですか?
よく見るとcssのセレクタの閉じが入れ子になっている箇所もあります。

あと、cssで書かれているセレクタが、htmlに反映されていないので、こちらでは確認ができませんでした。

想像での返答になりますが、恐らくどこかしらのコーディングミスなのでは?

投稿2020/09/13 22:50

geta

総合スコア241

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

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

tkm0604

2020/09/14 05:43 編集

ご回答ありがとうございます。 HTML記述ミスもありましたが、 よくよく考えるとHTMLは左上から表示されていくので はみ出してしまっていた画像の箇所は、position:absolute right:-20% のように書くと画像が右へ押しやられてbodyからはみ出していくのは回避できない。 のではないか という結論に至りました。 別の方法でデザインしようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問