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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

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

HTML

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

CSS

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

Q&A

解決済

3回答

8279閲覧

要素間の空白を取り除きたいです

newyee

総合スコア213

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

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

HTML

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

CSS

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

0グッド

1クリップ

投稿2018/11/29 01:19

編集2018/11/29 02:22

要素間の空白を取り除きたいです。
コードなのですが、レイアウトも含めご覧頂いた方が分かりやすいと思い、全コードはコードペンの方に、上げさせていただきました。
コードペンのリンクになります
下記は該当のコードになります

html

1 <div class="img_bottom_index display_flex"> 2 <div class="index_name_box"> 3 <h1> 4 <span class="salon_shop_name">Been センター北店</span> 5 <span class="salon_index_furi">ビーズ センターキタ</span> 6 </h1> 7 <p class="index_salon_address">神奈川県横浜市都筑区中川中央2-7-1 港北MINAMO  2F</p> 8 </div> 9 <div class="inquiry_box"> 10 <a class="salon_tel"> 11 045-592-9985 12 </a> 13 <a class="salon_reserve"> 14 WEB予約 15 </a> 16 </div> 17 18 </div> 19 </div> 20 <div class="back_slide_wrapper"> 21 <div class="back_animation back_animation_1"> 22 <img src="img/shop_img1.webp"> 23 </div> 24 <div class="back_animation back_animation_2"> 25 <img src="img/shop_img2.webp"> 26 </div> 27 <div class="back_animation back_animation_3"> 28 <img src="img/shop_img3.webp"> 29 </div> 30 </div> 31 32 33 </div> 34 35 <div class="item_list_box"> 36 <ul class="item_list"> 37 <li>ホーム</li> 38 <li>クーポン・メニュー</li> 39 <li>スタッフ</li> 40 <li>ヘアカタログ</li> 41 <li>ブログ</li> 42 <li>口コミ</li> 43 </ul> 44 </div>

css

1.img_bottom_index{ 2 width:1280px; 3 margin:0 auto; 4 background-color:rgba(255,255,255,0.6); 5 position:absolute; 6 z-index:2000; 7 bottom:0; 8} 9.salon_shop_name{ 10 11 font-size:24px; 12 font-weight:bold; 13 14} 15.salon_index_furi{ 16 font-size:12px; 17 font-weight:400; 18} 19.index_name_box{ 20 margin-left:150px; 21} 22.index_salon_address{ 23 margin-top:0; 24 margin-bottom:40px; 25 font-size:12px; 26} 27.index_name_box h1{ 28 margin-bottom:10px; 29 width:500px; 30} 31.salon_tel{ 32 background-color:#fff; 33 margin-right:17px; 34 35} 36.inquiry_box{ 37 display:flex; 38 height:80px; 39 margin-top:25px; 40 font-size:25px; 41} 42.inquiry_box a { 43 44 padding:9px; 45 border-radius:5px; 46 box-shadow:0 4px #ccc; 47 width:240px; 48 display:flex; 49 justify-content: center; 50 align-items:center; 51 height:40px; 52} 53.salon_tel::after{ 54 background-image:url(img/common_sprite.png); 55 56} 57.salon_reserve{ 58 background-color:#f99; 59 padding:9px; 60 color:#fff; 61} 62.item_list_box{ 63 background-color:#ccc; 64 65} 66.item_list{ 67 margin-top:0; 68 display:flex; 69 justify-content:center; 70 border-left:black; 71 list-style:none; 72} 73.item_list{ 74 width: 75}

具体的には、「item_list_box」と「img_bottom_index」の間にある、空白を消し、上に詰めたいと考えております。
しかし、現状、「item_list_box」と「img_bottom_index」の間の空白部分が「img_bottom_index」の幅に含まれてしまっており、「item_list_box」のmarginを消しても上に詰めることができません。
以下の画像は、「img_bottom_index」の領域になります。
イメージ説明
どなたか、ご解決方法を教えて頂けましたら、幸いです。
※追記です
「.index_salon_address」のmargin-bottomを取り除いたのですが、「item_list_box」との間の空白は詰められず、「img_bottom_index」の中身のみが、下にずれるといった形になってしまいました。
イメージ説明
以下の画像は、「img_bottom_index」にmargin-bottom」を-40pxつけた際の画像になります。
イメージ説明

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

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

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

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

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

guest

回答3

0

ベストアンサー

img_bottom_indexの子孫要素に大きなマージンを持っている要素がありましたので、その影響だと思います。

css

1.index_salon_address{ 2 margin-bottom:0px; 3}

コメントを受けて追記

その背景画像のようなものがcodepenでは見えないので、正直どこまで下げればいいのか分かりませんが、inquiry_boxに高さがついていますので、そちらを0にしてみては?

css

1.inquiry_box{ 2 height:0px; 3}

さらに追記

item_list_boxは関係ありませんでした。スライドの画像を上にずらしているだけです。

css

1.slide_animation { 2 animation-name: slide; 3 animation-duration: 6s; 4 animation-iteration-count: infinite; 5 opacity: 1; 6 position: absolute; 7 top: -16px;            //←これが原因 8 height: 100%; 9}

これを削除すると、今度は上に隙間が開くのでしょうから、どのように直すのかはお任せします。

さらに追記に追記

これを削除すると、今度は上に隙間が開く

これについてはtop_navi_listにデフォルトのマージンがついていることが原因かもしれません。リセットCSSを使えば、問題ないかもですね。
直書きするなら、こう。

css

1.top_navi_list { 2 margin-bottom: 0px; 3} 4.slide_animation { 5 top: 0px; 6}

投稿2018/11/29 01:29

編集2018/11/29 02:44
Lhankor_Mhy

総合スコア36113

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

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

newyee

2018/11/29 01:35

ご回答ありがとうございます。 「.index_salon_address」のmargin-bottomを0にしたのですが、空白は詰められませんでした。 「.index_salon_address」のmarginを取り除いた際の画像の方を、質問本文の方に、追加で添付させていただきますので、チェック頂けたら幸いです。
newyee

2018/11/29 01:40

追記させていただきました。
colling

2018/11/29 01:49

Code Pen 上で指摘の部分を変えたら、ちゃんと上に移動しましたけど、、。
Lhankor_Mhy

2018/11/29 01:56

回答に追記しました。
newyee

2018/11/29 02:30

ありがとうございます。 yambejpさんからのご回答もあったので、そちらもためさせて頂いたのですが、追記頂きました「.inquiry_box」のheightを「0」にした際とほとんど同じようなレイアウトとなりました。 質問本文に追記しました、画像のように「img_bottom_index」内の要素が「item_list_box」に被さるといったような感じになってしまうんですよね...
Lhankor_Mhy

2018/11/29 02:35

回答に追記しました。
newyee

2018/11/29 02:44

ご回答頂いた通りでした... topプロパティを消してしまうと、上に間があいてしまいますし、悩む所ですね...
Lhankor_Mhy

2018/11/29 02:45

追記にさらに追記しました。 リセットCSSをせずにアドホックで対応した結果、余計に訳がわからないことになった、という印象を受けました。
newyee

2018/11/29 03:08

全て修正完了しました。助かりました。ありがとうございました。 リセットCSSに関してなのですが、自分は良くわからなかったので「normalize.css」というのを入れていたのですが、まだ自分は学生で勉強段階ではあるのですが、正直、もう全部最初から、デフォルトでついているmarginやpaddingを取っ払ってしまう、ようなものがいいのではないかと思ったりしています...
newyee

2018/11/29 03:11

今回、「top_navi_list」についている、marginを忘れてしまっていたのか、「.slide_animation」にtopプロパティで位置を詰めてしまい、結果的に後々、空白ができてしまい、弊害になってしまいましたからね... まぁ僕がもっと気をつけていれば、良かっただけの話かもしれませんけどね...
Lhankor_Mhy

2018/11/29 03:15

ご解決されて何よりです。 normalize.css とリセットCSSの選択は悩ましいところですが、個人的にはリセットしてしまう方が分かりやすくて好きですね。
guest

0

他の方の回答にもある通りですが
.img_bottom_indexと.item_list_boxに隙間は存在しません。
動きとしては全て正しいです
該当の空白部分は.img_bottom_indexの要素の高さに対して
背景画像が小さいためにできてしまっている部分です。

ご自身の環境なら画像サイズが分かると思います
背景画像の縦サイズと同じ値を
.img_bottom_indexに対しheightを追加してみてください。

投稿2018/11/29 02:33

mepon

総合スコア480

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

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

0

.img_bottom_indexに適当な色をつけるとわかりますが.item_list_boxとの間には空間はアイていません
単に.img_bottom_indexの高さが高いようです

むりやり近づけるなら

CSS

1.img_bottom_index{ 2 margin-bottom:-40px; 3 }

のような属性を追加すれば上に寄ってきます

投稿2018/11/29 01:49

yambejp

総合スコア114833

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

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

newyee

2018/11/29 02:17

ご回答ありがとうございます。 ご回答頂いた、コードを追記してみましたら、近づいたのですが、どのように表現して良いのか分からないのですが、白の部分を通過して、下に近づいたといった感じになります。 なんといったら良いのか分からないので、画像の方、追記したいと思います。
newyee

2018/11/29 02:24

追記させて頂きました。 該当の要素間の空白部分を通り越し、「item_list_box」の上に被さるといった状態です。
newyee

2018/11/29 02:33 編集

コードの方を見直してみたのですが、.img_bottom_indexに「position:absolute」を設定しているのですが、それが関係していたりはするでしょうか...?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問