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

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回答

207閲覧

a要素の中身の文字を上下左右中央に配置する方法

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グッド

0クリップ

投稿2018/11/27 10:29

a要素の中身の文字を上下左右中央に配置したいのですが、どのような方法がありますでしょうか?
レイアウトも含めご覧頂いた方が分かりやすいと思い、全コードはコードペンの方に、上げさせていただきました。
CODEPENのリンクなります
該当の箇所のコードは以下の部分になります。

HTML

1 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>

css

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

具体的には、「inquiry_box」内の、「salon_tel」そして、「salon_reserve」の2つのa要素の中身の文字を上下左右中央に配置したいと考えております。
「inquiry_box」内の2つのa要素に高さを設定したのですが、文字が上の方に固定されたまま下方向に伸びてしまった為、文字を中央を配置できないかと思い、「vertical-align」を設定するなどしたのですが、できなかった為、ご質問させてもらいました。
どなたか、ご回答いただければ幸いです。

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

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

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

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

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

guest

回答3

0

ベストアンサー

これでどうですか。

CSS

1.inquiry_box{ 2 display: flex; /*追加*/ 3 height:80px; 4 margin-top:38px; 5 font-size:25px; 6} 7.inquiry_box a { 8 padding:9px; 9 border-radius:5px; 10 box-shadow:0 4px #ccc; 11 width:240px; 12 display:flex; /*変更*/ 13 justify-content: center; /*追加*/ 14 align-items: center; /*追加*/ 15 height:50px; 16}

投稿2018/11/27 14:01

aKusano

総合スコア3763

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

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

newyee

2018/11/29 00:29

おかげで解決できました! ありがとうございました!
guest

0

下記追加でどうですか?

CSS

1.inquiry_box { 2 display: table; 3} 4 5.inquiry_box a { 6 display: table-cell; 7 vertical-align: middle; 8}

投稿2018/11/27 11:22

編集2018/11/27 11:24
root_jp

総合スコア4666

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

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

newyee

2018/11/27 13:35

ご回答ありがとうございます。 記載頂いたコードの方、追加してみましたら、文字は真ん中に設定することができたのですが、「inquiry_box a 」の高さを変更しても、ボックスが縮まらず、固定されてしまいました。 高さを変更することは、難しいでしょうか...?
guest

0

下記追加でどうですか?

css

1.inquiry_box a { 2 box-sizing: border-box; 3}

追記

高さ変えたいならline-heightで指定してください
その際heightは削除です

投稿2018/11/27 10:42

編集2018/11/27 16:31
akihiro3

総合スコア955

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

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

newyee

2018/11/27 13:38 編集

ありがとうございます。 ご回答頂いたコードの方追加してみたのですが、「height」を大きくすると、やはり下にだけボックスが伸びてしまい、文字は上に取り残された形になってしまいます...
akihiro3

2018/11/27 16:27

追記しました
newyee

2018/11/29 00:31

追記読ませていただきました。 勉強不足で申し訳ないのですが、「line-height」で高さを変更する必要があるとのことなのですが、何故「height」ではうまく調節することができないのでしょうか...?
akihiro3

2018/11/29 01:59

「CSSで、line-heightプロパティは、1行あたりの高さを大きく定めれば、内包されたテキストは縦方向のおおよそ中央付近に配置されます。これは基本的な仕様ですので、あまり細かい説明は不要かもしれませんね。」 http://www-creators.com/archives/391より
newyee

2018/11/29 02:09

ありがとうございます。 リンクの方、参考にさせて頂きます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問