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

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

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

Haml(HTML abstraction markup language)は、HTML/XHTMLを効率的に記述するためのマークアップ言語および記法です。

HTML

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

CSS

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

Q&A

解決済

1回答

1293閲覧

footer内の要素を中央に配置させたいです。

honki86

総合スコア10

Haml

Haml(HTML abstraction markup language)は、HTML/XHTMLを効率的に記述するためのマークアップ言語および記法です。

HTML

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

CSS

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

0グッド

0クリップ

投稿2020/01/12 00:50

読みづらい所あるかと思いますがご容赦ください。私はプログラミング初学者で、現在学習課題である、
Railsでフリマサイトアプリの作成中です。新規会員ページフロントマークアップのみのビューを確認したところ。CSSが効いていない箇所があるのですが原因が自分の力では見つけられず、質問いたしました。イメージ説明

●やりたいこと
写真hamlのfooter_centerクラス内の子要素であるgrayクラス、incクラスをfooterの中央に配置されるようcssを効かせたいです。(fmarketという灰色のロゴ、Mercari.incという文字をfooterの中央に配置)

●調べてみた事、仮説
display: inline-block;を親要素であるfooter_centerに当てれば配置されると思っていたのですが、css自体が当たってないのは親子関係が不適切なのではと思い検証ツールを用いてみたのですがうまくいきませんでした。

index.html.haml

1.contena 2 .user_new_header 3 .logo 4 =link_to root_path do 5 = image_tag "fmarket_logo_red.svg", size: "185x49", alt: "フリマのアイコン" 6 .user_new_main 7 .contents 8 .registration 9 .new_member 10 .new_member_name 新規会員登録 11 .mail_sns 12 .box 13 %i.far.fa-envelope.mail_address メールアドレスで登録する 14 %i.fab.fa-facebook-square.blue_sns Facebookで登録する 15 %i.fab.fa-google.white_sns Google+で登録する 16 .user_new_footer 17 .head 18 .info_box 19 .privacy ●プライバシーポリシー 20 .terns ●利用規約 21 .specific ●特定商取引に関する表記 22 .footer_logo_box 23 .footer_center 24 .gray 25 =link_to root_path do 26 = image_tag "logo_gray.svg", size: "80x65", alt: "フリマのアイコン" 27 .inc © Mercar![イメージ説明](b9682ab25e71894e68d5862657fe9e6a.png). 28
signup/index.scss .contena { .user_new_header { height: 128px; color: #ffffff; .logo { text-align: center; line-height: 90px; padding-top: 40px; } .img { } } .user_new_main { height: 344px; .contents { // height: calc(100vh - 128px); width:700px; margin: 0 auto; background-color: #ffffff; .registration { height: 344px; text-align: center; box-sizing: border-box; .new_member { padding: 32px; border-bottom: 1px solid #f5f5f5; } .new_member_name { font-size: 22px; font-weight: bold; } .mail_sns { height: 247px; padding: 24px 16px 40px; // text-align: center; box-sizing: border-box; } .box { margin: 0 auto; display: inline-block; .mail_address { background-color: #ff0000; color: white; height: 50px; width: 343px; border-radius: 4px; font-size:14px; text-decoration: none; line-height: 50px; } .blue_sns { background-color: #4169e1; color: white; height: 50px; width: 343px; border-radius: 4px; font-size:14px; text-decoration: none; line-height: 50px; margin: 16px 0 0; } .white_sns { background-color: #d3d3d3; height: 50px; width: 343px; border-radius: 4px; font-size:14px; text-decoration: none; line-height: 50px; margin: 16px 0 0; } } } } }} .user_new_footer { height: calc(100vh - 128px -344px); margin: 0 auto; // box-sizing: border-box; .head { } .info_box { text-align: center; height: 12px; padding: 40px 0; .privacy { display: inline-block; font-size: 12px; color: #808080; } .terns { font-size: 12px; display: inline-block; color: #808080; } .specific { font-size: 12px; display: inline-block; color: #808080; } .footer_logo_box { width: 1012px; height: 220px; .footer_center { height: 220px; width: 456px; text-align: center; display: inline-block; margin:0 auto; .gray { margin:0 auto; } .inc { font-size: 13px; } }}}}

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

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

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

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

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

s8_chu

2020/01/12 01:34

画像が適切にリンク出来ていないようですが、現在のスクリーンショットのみで全てでしょうか?
guest

回答1

0

ベストアンサー

写真hamlのfooter_centerクラス内の子要素であるgrayクラス、incクラスをfooterの中央に配置されるようcssを効かせたいです。(fmarketという灰色のロゴ、Mercari.incという文字をfooterの中央に配置)

それは .footer_center クラスが適用された要素に対して text-align プロパティを適用することで実現出来ます (動作確認用リンク)。

SCSS

1.footer_center { 2 text-align: center; // 追記 3}

css自体が当たってないのは親子関係が不適切なのではと思い検証ツールを用いてみたのですがうまくいきませんでした。

原因は質問者さんも書かれているとおり、親子関係によって当該要素が選択されていないことです。質問文の SCSS では .info_box クラスが適用された要素内に .footer_center クラスが適用された要素が存在する必要があります。

SCSS

1.info_box { 2 text-align: center; 3 height: 12px; 4 padding: 40px 0; 5 6 // 省略 7 8 .footer_logo_box { 9 width: 1012px; 10 height: 220px; 11 12 .footer_center { 13 height: 220px; 14 width: 456px; 15 text-align: center; 16 display: inline-block; 17 margin: 0 auto; 18 19 // 省略 20 } 21 } 22}

しかし、 Haml を読むと .info_box クラスが適用された要素の子孫には .footer_center クラスが適用された要素が存在しません

Haml

1.info_box 2 .privacy ●プライバシーポリシー 3 .terns ●利用規約 4 .specific ●特定商取引に関する表記 5.footer_logo_box 6 .footer_center

投稿2020/01/12 01:35

s8_chu

総合スコア14731

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

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

honki86

2020/01/12 10:38

s8_chu様のご回答のお陰で問題を解決できました!ベストアンサーとさせていただきます! インデントを見直しさせていただきました。 ご指摘残りの問題はもう少し自分で調べさせていただこうと思います。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問