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

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

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

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

HTML5

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

Q&A

解決済

2回答

534閲覧

HTMLでの大文字の文字ブロックを真ん中に合わせる方法

yunosuke

総合スコア18

CSS3

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

HTML5

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

0グッド

0クリップ

投稿2022/11/08 08:47

編集2022/11/08 08:49

前提

WEBサイト制作をしております。

実現したいこと

デザイン通りにコーディングしているところ
大文字の文字ブロックだと下に隙間がある状態になります。
これはHTMLの仕様なのでしょうか?

イメージ説明

該当のソースコード

HTML

1<a>NEWS</a>

css

1body{ 2 font-family: Arial, Helvetica, sans-serif; 3} 4 5a{ 6line-height:18.4px; 7font-size:16px; 8display:inline-block; 9font-weight: bold; 10}

もし下の隙間分だけネガティブマージンで調整する方法しかないのであればしょうがないです。
ただ解決できるのなら解決したいです!
ご回答よろしくお願いします。

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

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

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

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

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

guest

回答2

0

gjpqyなどを併記するとわかるように、大文字は下方向にバッファがないと小文字がかけません
とくに記号など「()_」あたりへの影響を考えれば変なマージンは厳禁です
どうしてもデザイン上のピッタリした位置決めが必要ならsvgなどで細かい調整をするとよいでしょう

投稿2022/11/08 09:20

yambejp

総合スコア114784

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

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

0

ベストアンサー

結論からいうと仕様だと思います。

考えられる原因1:英語フォントの高さ

学校で最初に英語を習う時、4本線の罫線ノートを使ったと思いますが、あの4本分の高さが英語フォントの1文字の高さです。

(参考画像)
https://www.google.com/search?q=%E8%8B%B1%E8%AA%9E+%E7%BD%AB%E7%B7%9A&rlz=1C5CHFA_enJP875JP876&sxsrf=ALiCzsa-kwLWjZPfSMCma8uSzIO6SMvmDg:1667897518299&source=lnms&tbm=isch&sa=X&ved=2ahUKEwjJ_uW4mp77AhUTMN4KHX_NBesQ_AUoAXoECAEQAw&biw=1516&bih=914&dpr=2

考えられる原因2:line-height

line-heightがついていても上下に隙間ができます。
絶対に改行しない短い文字であれば、line-height: 1などにして行間をなくしてしまいましょう。
しかしこれを指定しても『考えられる原因1』の要因のため、完全に隙間がなくなるわけではないです。

まとめ

デザインは文字の端ぴったりから隙間の距離をはかりますが、コーディングでは行間を含んだはしっこから隙間の距離をはかります。
margin paddingを指定するときは、デザインより小さい数値を目分量で指定します。
これが、ピクセルパーフェクトコーディングです。

投稿2022/11/08 08:58

Cocode

総合スコア2314

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

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

yunosuke

2022/11/08 09:01

line-height1にしてもダメだったので、font-familiyなど変えてみましたが、Arialのフォントの仕様ぽいですね・・・ ネガティブマージンで無理やり真ん中にするのが無難でしょうか?
Cocode

2022/11/08 09:03

どういうデザインかわからない(周囲の要素の情報がない)ので、どの手法が最適かはわかりませんが、いずれにせよ無理やりするしかないと思います〜!
yunosuke

2022/11/08 10:02

ありがとうございます!参考になりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問