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

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

詳細はこちら
CSS3

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

HTML5

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

Q&A

解決済

1回答

445閲覧

inline-blockでテキストオーバした際、要素がズレる理屈について

fukik

総合スコア5

CSS3

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

HTML5

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

0グッド

0クリップ

投稿2020/01/06 16:16

初歩の初歩的なことで恐縮ですが、
inline-blockで要素を横に並べ、テキストが指定幅を超えてしまったところ、
隣り合う要素が1行づつ下がってしまうことに気づきました。

flex-boxを使えば、解決できることは理解しているのですが、
基礎を学ぶ身として、理屈を抑えておきたいと考えた次第です。

また、要素の高さを揃える方法があるのならば、ご教授お願い致します。

該当のソースコード

html

1div class="box"> 2 <a href="">ボタン</a> 3 <a href="">ボタン</a> 4 <p>このテキストがwidthの指定範囲をオーバーすると、ボタンが文字列の分だけ低くなる理屈をご説明いただきたく思います。</p> 5</div>

css

1ソースコード 2.box{ 3 p,a{ 4 display: inline-block; 5 } 6 p{ 7 width: 500px; 8 } 9}

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

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

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

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

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

kei344

2020/01/06 17:36

CSSではなくSCSSやSASSでは?
fukik

2020/01/07 06:17

おっしゃるとおりです、、 ご指摘ありがとうございます。
kei344

2020/01/07 06:26

ここは「質問への追記・修正の依頼」です。解決済にしても本文を編集することが出来ますので、よろしくお願いします。
guest

回答1

0

ベストアンサー

一行下に下がってしまう要素に対してvertical-align: topを指定すると解決するはずです。

今回でいうとCSSを以下のように編集して下さい。

SCSS

1.box{ 2 p,a{ 3 display: inline-block; 4 vertical-align: top /*これを追加*/ 5 } 6 p{ 7 width: 500px; 8 } 9}

原因はインライン要素のデフォルトがベースラインだからです。

「abcdefgxyz」などの時、一本の線が見えませんか?これがベースラインです。
つまりこの、下のラインに合わせているため、他の要素も下に行ってしまうのです。
これを解消するには、文字を合わせるのをベースラインから上にすればよいです。
該当のコードでも上に設定しています。

こちらに分かりやすく記載されています。参考になれば幸いです。

簡単な図も作ってみました。
イメージ説明

投稿2020/01/06 17:04

編集2020/01/06 17:33
kyoya0819

総合スコア10429

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

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

fukik

2020/01/07 06:23

asuchi0819様 この度は、非常に丁寧にご回答いただきありがとうございます。 vertical-align: top は「1行下げている原因となっている要素につけるもの」という、自身の誤認識に気づくことができました。 理解を深めるご協力いただけたことを感謝致します!
kyoya0819

2020/01/07 06:45

解決したようで何よりです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問