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

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

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

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

Q&A

解決済

1回答

3486閲覧

css 円2つを重ねて画面のサイズが変わってもレイアウトが崩れないようにしたい

chocolate_pie

総合スコア26

CSS

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

0グッド

0クリップ

投稿2020/04/23 10:23

前提・実現したいこと

円のボタンを2つ重ねたい
現在、ボタンを2つ重ねることを試みているのですが、
%やpx,vwで指定しても画面のサイズによって子要素の位置が変わってしまいます。
cssを使っているのですがなかなかうまくいかず…
どうやって固定すればよいでしょうか…?
完成イメージはこのような感じです。
赤いボタンはtext-centerで中央に固定しています。
イメージ説明

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

横幅の大きさによっ子要素の円が動いてしまう

該当のソースコード

html

1<div class="center-block relative"> 2 <%= button_to "ボタン", {controller: 'hoge', action: 'hoge', user_id: @user.id}, 3 {method: :post, class: "btn-circle-big-start", name: "hoge"} %> 4 <%= button_to "ボタン", {controller: 'hogehoge', action: 'hogehoge', user_id: @user.id}, 5 {method: :patch, class: "btn-circle-small-break_start", name: "break_start"} %> 6 </div>

css

1//大きいボタン 2.btn-circle-big-start { 3 border: none; 4 display: inline-block; 5 text-decoration: none; 6 background: #f23a3a; 7 color: #FFF; 8 width: 250px; 9 height: 250px; 10 font-size: 60px; 11 font-weight: bolder; 12 line-height: 250px; 13 border-radius: 50%; 14 text-align: center; 15 overflow: hidden; 16 transition: .4s; 17 position: relative; 18} 19//大きいボタン押したときの色 20.btn-circle-big-start:hover { 21 background: #F45E5E; 22} 23 24//小さいボタン 25.btn-circle-small-break_start { 26 border: none; 27 display: inline-block; 28 text-decoration: none; 29 background: #e3f3ac; 30 color: #000000; 31 width: 70px; 32 height: 70px; 33 font-size: 15px; 34 font-weight: bolder; 35 line-height: 70px; 36 border-radius: 50%; 37 text-align: center; 38 overflow: hidden; 39 transition: .4s; 40 position: absolute; 41//以下指定法が分かりません 42 top:; 43 right:; 44 bottom:; 45 left:; 46} 47//円同士の関連付け 48.center-block.relative { 49 position: relative; 50 text-align:center; 51}

試したこと

bootstrapのグリッドで何かできないかと試しましたができませんでした。

補足情報(FW/ツールのバージョンなど)

コードが足りなければ足します。
初心者で至らない点があると思いますがよろしくお願いします。

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

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

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

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

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

hatena19

2020/04/23 11:09

railsで作成しているのでしょうか。 コンパイル後のHTMLを提示してもらえますか。
guest

回答1

0

ベストアンサー

下記のような感じでどうでしょうか。

css

1.btn-circle-small-break_start { 2 border: none; 3 display: inline-block; 4 text-decoration: none; 5 background: #e3f3ac; 6 color: #000000; 7 width: 70px; 8 height: 70px; 9 font-size: 15px; 10 font-weight: bolder; 11 line-height: 70px; 12 border-radius: 50%; 13 text-align: center; 14 overflow: hidden; 15 transition: .4s; 16 position: absolute; 17 left: calc(50% - 150px); /* 150pxは適宜調整 */ 18 bottom: 0; /* */ 19}

Codepenサンプル

投稿2020/04/23 10:51

編集2020/04/23 11:10
hatena19

総合スコア34075

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

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

chocolate_pie

2020/04/23 11:03

ご回答ありがとうございます。 そちらでためしましたら、text-align:center;が優先されて上下に中央揃えにされてしまいました。 なので、text-align:center;を消しました。 しかし、レイアウトに全く影響はなく、こんどは左に上下に揃っているだけになってしまいました。
hatena19

2020/04/23 11:11

回答にサンプルのリンクを追記しましたので、確認してください。 サンプルではうまくレイアウトされていると思いますがどうですか。
chocolate_pie

2020/04/23 11:16

サンプルコードありがとうございます。 こちらの記述ミスで上手く動作していなかっただけでした。 申し訳ございません。 無事に思った通りの挙動になりました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問