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

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

詳細はこちら
HTML5

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

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

CSS

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

Q&A

解決済

2回答

2701閲覧

cssを適用した時にアイコンの位置がズレてしまうのを解決したいです。

nre

総合スコア35

HTML5

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

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

CSS

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

0グッド

0クリップ

投稿2020/11/26 02:34

前提・実現したいこと

Twitterのアイコンと同じ様に、インスタグラムのアイコンを上下中央に配置したいです。
解決方法をご教示して頂けましたら幸いです。よろしくお願い申し上げます。
イメージ説明

発生している問題・エラーメッセージ

cssを適用していない時は、Twitterアイコンと同じ様に、インスタグラムのアイコンも上下中央揃っているのですが、cssでインスタグラムのアイコンを装飾すると位置が若干上にズレてしまい、上下中央揃えではなくってしまいます。

該当のソースコード

html

1 <div class="row"><!-- SNSコンテナ --> 2 <div class="card col-10 col-md-8 h-25"> 3 <div class="card-body text-center"> 4 <a href=""><i class="fab fa-twitter-square fa-3x my-example fa-fw"></i></a> 5 <a href="" class="insta_btn"> 6 <span class="insta"> 7 <i class="fab fa-instagram fa-3x my-example fa-fw"></i> 8 </span> 9 </a> 10 </div> 11 </div> 12 </div><!-- SNSコンテナ終了 -->

css

1.insta_btn { 2 display: inline-block; 3 text-align: center;/*中央揃え*/ 4 color: #2e6ca5;/*文字色*/ 5 font-size: 17px;/*文字サイズ*/ 6 text-decoration: none;/*下線消す*/ 7 margin-top: -6pt; 8} 9 10.insta_btn:hover {/*ホバー時*/ 11 color:#668ad8;/*文字色*/ 12 transition: .5s;/*ゆっくり変化*/ 13} 14 15.insta_btn .insta{/*アイコンの背景*/ 16 position: relative;/*相対配置*/ 17 display: inline-block; 18 width: 50px;/*幅*/ 19 height: 50px;/*高さ*/ 20 background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat; 21 background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;/*グラデーション①*/ 22 overflow: hidden;/*はみ出た部分を隠す*/ 23 border-radius: 13px;/*角丸に*/ 24 25} 26 27.insta_btn .insta:before{/*グラデーションを重ねるため*/ 28 content: ''; 29 position: absolute;/*絶対配置*/ 30 top: 23px;/*ずらす*/ 31 left: -18px;/*ずらす*/ 32 width: 60px;/*グラデーションカバーの幅*/ 33 height: 60px;/*グラデーションカバーの高さ*/ 34 background: -webkit-radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%); 35 background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);/*グラデーション②*/ 36} 37 38.insta_btn .fa-instagram {/*アイコン*/ 39 color: #FFF;/*白に*/ 40 position: relative;/*z-indexを使うため*/ 41 z-index: 2;/*グラデーションより前に*/ 42 font-size: 40px;/*アイコンサイズ*/ 43 line-height: 50px;/*高さと合わせる*/ 44} 45

試したこと

html上でbootstrapの位置ユーティリティなどを適用したのですが、上手く効きませんでした。
また、cssのアイコン背景のposition: relative;部分が問題かと思いabsoluteや他のものを試したのですが、大きくズレてしまい上手く配置出来ませんでした。

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

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

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

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

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

guest

回答2

0

card-bodyに対して

css

1.card-body { 2 display: flex; 3 align-items: center; 4}

を適応してみては?

投稿2020/11/26 02:39

Nero1129

総合スコア130

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

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

nre

2020/11/26 07:48

大変お忙しい中、ご回答して頂き誠にありがとうございます。 お教え頂きましたコードを適用したところ、アイコン2つとも左に寄り、インスタグラムアイコンは上にズレたままでした。左寄りは「justify-content: center;」を記載して中央揃えにし解決出来ましたが、以前インスタアイコンは上にズレたままでした。 「d-flex align-items-end」はhtml上に記載し効果はあったのですが、これだと逆に下にズレてしまいました。
Nero1129

2020/11/26 09:06

真ん中に配置したいのであれば、同じくflexboxのプロパティである `justify-content: center`を使えばいいと思いますよ。ピュアで書いてるので、スペルミスしていたらすみません。
nre

2020/11/26 09:24

先程、justify-content: center;試して見たのですが、中央寄りには成るものの上下のズレが修正出来ませんでした。 いえいえ、ご丁寧にお教え頂き誠にありがとうございます!
Nero1129

2020/11/26 10:42

すみません。仕事中だったので適当に答えてしまいました。 Bootstrapで先に、クラスを書いてしまっているので、上書きできない状態です。 https://getbootstrap.jp/docs/4.2/utilities/flex/ 普段、ほとんどBootstrapは使わないので、わかりませんが、僕が答えたプロパティがここに乗っているので、該当するクラスを記述すれば、表現したいものが作れると思います。
Lhankor_Mhy

2020/11/27 01:35 編集

横からすみません。 すでに自己解決されているようですが、Nero1129さんのご回答をBootstrapに落とし込んだサンプルを提示します。 https://jsfiddle.net/Lhankor_Mhy/2rcvbjwo/ 残っている上下のズレの原因は、 ・margin-top: -6pt ・display: inline-block でしたので、打ち消しました。
Nero1129

2020/11/27 03:08

Lhankor_Mhyさん、ナイスでーす
guest

0

自己解決

.fa-twitter-square{
position: relative;
top: 10px;
}

アイコンを指定して
ポジションを変更する事で無事にインスタグラムアイコンとのズレなく表示させる事が出来ました。
ただ、アイコン2つが表示されると上下揃うのですが、どちらか一つが表示された場合に中心からズレてしまうので、
根本的な解決は出来ず、今回の実装は断念いたしました。
ただ、両方のアイコンを揃える場合は上記のコード解決するのでこちらを解決方法といたします。

ご回答してくださった方々ありがとうございました。

投稿2020/11/26 09:30

nre

総合スコア35

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問