🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
HTML

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

CSS

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

Q&A

3回答

639閲覧

Position使用後のfooterの位置がくずれる

bell-chako

総合スコア12

HTML

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

CSS

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

0グッド

0クリップ

投稿2020/11/30 23:17

先ほど投稿させていただいたものがcodeの記述がきちんとされていませんでしたので、こちらで再度投稿させていただきます。失礼いたしました。
Positionを使用した後の段落(footer)が表示されるべき通常の場所(グレーのボックスの下)に表示されません。位置的にPositionが効いてしまっているような状態で表示されてしまいます。(グレーのボックスの中に表示されてしまいます)
通常の場所に表示させるにはどうしたらよいのでしょうか?初歩的な質問でしたらすみませんが、よろしくお願いいたします。

HTML

1<!DOCTYPE html> 2<html lang="ja" dir="ltr"> 3<head> 4<meta charset="utf-8"> 5<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no"> 6<link rel="icon" type="image/png" href="Portfolioimage/y_flower.png" sizes="15px 15px"> 7<link rel="stylesheet" href="about.css"> 8 9<link rel="stylesheet" href="icomoon.css"> 10 11<title>abc</title> 12</head> 13<body> 14 15<header> 16<div class=top_title> 17<p>ABOUT</p> 18</div> 19</header> 20 21<content> 22<div class="main_pic"> 23<img src="Portfolioimage/main_pic.png"> 24</div> 25<div class="main_box"> 26<p>TEXTTEXTTEXTTEXTTEXTTEXTTEXTTEXTTEXTTEXT</p> 27</content> 28 29<footer> 30<div class="abc-right">copyright abc</div> 31</footer> 32 33CSS 34body { 35width: auto; 36margin: 0; 37font-family: Futura Lt BT; 38 39} 40 41.top_title p{ 42text-align: center; 43color: grey; 44padding-top: 2%; 45border-bottom: 1px solid grey; 46padding-bottom: 3px; 47width: 4%; 48margin: 0 auto; 49display: block; 50 51} 52 53.main_pic img{ 54width: 60%; 55height: 30%; 56display: block; 57margin: 0 auto; 58margin-top: 3%; 59position: relative; 60z-index: 1; 61 62} 63 64.main_box { 65width:40%; 66height: 80%; 67padding: 20px; 68background-color: grey; 69text-align: center; 70color: white; 71font-size: 10px; 72z-index: 2; 73position: absolute; 74right: 28%; 75top: 70%; 76 77} 78 79footer{ 80background-color: grey; 81text-align: center; 82} 83 84.abc-right { 85font-size: 12px; 86padding: 2%; 87color: white; 88} 89コード

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

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

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

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

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

guest

回答3

0

他の方がすでに指摘されている</div>の不足は修正するとして、
やりたいことはmain_boxを中央寄せしたいということかなと推測しました。
それをposition: absolute;で実現しようとしているのだと思いますが、position: absolute;は通常フローからはずれて浮いた状態になり、他の要素からはないものと扱われますので、その下のフッターが上に移動してしまいます。
このようなレイアウト目的ではposition: absolute;は使わないようにしましょう。
中央寄せは、ブロック要素の場合は、margin: 0 auto;を設定すればできます。

また、height: 80%;が画面高に対して80%にしたいという意図なら、vh単位を使って指定するといいでしょう。

css

1.main_box { 2 width:40%; 3 height: 80vw; 4 padding: 20px; 5 background-color: grey; 6 text-align: center; 7 color: white; 8 font-size: 10px; 9 margin: 0 auto; 10}

推測での回答ですので、違う点があったら指摘してください。

投稿2020/12/01 01:22

hatena19

総合スコア34073

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

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

bell-chako

2020/12/01 02:00

わかりづらい説明で申し訳ありません。画像の上に少しずらしたテキスト入りの四角形(mein_box)を重ねたいのです。(ですので position: absoluteと top: 70%;などで記述しております) ご指摘のとおり、四角形(main_box)が上に浮いて居る形になり、その下にフッターが入り込んで居るようになってしまっているのだと思いますがこれを解消する方法はないのでしょうか?
hatena19

2020/12/01 02:22

重ねたいのなら、ネガティブマージンを使うのがいいでしょう。 position: absolute と違って他の要素のレイアウトに影響をあたえないので。 コードの一例 .main_box { width:40%; height: 80vw; padding: 20px; background-color: grey; text-align: center; color: white; font-size: 10px; margin: -10% auto 0; position: relative; }
guest

0

CSS を直す前に HTML を 2 点修正していただきたい部分があります。

  • 下の部分で div タグが閉じていないので </div> を追記する (tomtomtomtom 様ご指摘部分)

html

1<div class="main_box"> 2<p>TEXTTEXTTEXTTEXTTEXTTEXTTEXTTEXTTEXTTEXT</p>
  • HTML の最後で body タグが閉じていないので HTML の末尾に </body> を追記する

投稿2020/11/30 23:29

編集2020/11/30 23:33
noritakaIzumi

総合スコア9

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

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

bell-chako

2020/12/01 01:49

修正いたしました。初歩的なミスですみません。
noritakaIzumi

2020/12/01 01:56

いえいえ、一歩前に進めてよかったです。 もし可能であれば、お使いのエディタに文法チェックツールを入れるとこういったミスを検知しやすくなりますので、お試しください。 「html 文法チェックツール」など
guest

0

htmlを拝見するに

<div class="main_box">が閉じられていないようです。 また、main_boxのpositionを消せば、上から順に並ぶかと思います。

如何でしょうか?

投稿2020/11/30 23:23

tomtomtomtom

総合スコア563

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問