BootStrap4を使用してアプリを作っています。
- divタグでレスポンシブに対応した横幅最大400pxの正方形の枠(画像アップロード用の背景)を作成
- その枠の中央に文字を配置する
ということをしたいのですが、
- [CSS/HTML]上下左右中央揃えまとめ。 - Qiita
- HTML・CSS レスポンシブな正方形を作って、その中央にコンテンツを表示させたい。 - かもメモ
- CSSでサイズ可変の正方形の描き方を現役エンジニアが解説【初心者向け】 | TechAcademyマガジン
などを参考に試してみたのですがうまくいきません(m_ _m)
原因は縦幅・横幅ともにレスポンシブに対応するために値を設定していないことが原因の一つかもしれませんが、正直CSSは初心者です。
できればjQueryは使わない方向でお願いしたいです。
よろしくお願いしたいです。
追記
アドバイスいただいた内容のブラウザの表示状態を下記に追加します
現状困っていること
- 縦幅が正方形より大きくなる
- 文字がガブに表示されている
- やりたいことはまさにこれだが、レスポンシブににするため高さ指定しないのが影響で正方形にならない[CSS/HTML]上下左右中央揃えまとめ。 - Qiita
期待する動作
- jQueryなしで実装する
- レスポンシブに対応した正方形の枠を作成できる(横幅いっぱいの予定)
- 横幅は上限400pxまで
- 正方形の枠を維持したまま、作成した枠の中央に複数業の文字を配置したい
下記のコードだと下記のようになって欲しいです
div.upload-backgroundcolor
の表示をレスポンシブな正方形として表示div.upload-image
の中の文字(内容)をdiv.upload-backgroundcolor
の中央に配置・表示したい
該当するコード
HTML
1<div class="row"> 2 <div> 3 : 4 </div> 5 <div class="upload-backgroundcolor"> 6 <div class="upload-image"> 7 <div class="text-center"> 8 <i class="fas fa-camera"></i> 9 </div> 10 <p class="text-center">ファイルをアップロード</p> 11 </div> 12 </div> 13</div>
CSS
1.upload-backgroundcolor{ 2 background-color: #f5f5f5; 3 width: 100%; 4// width: calc(100vmin - 60px); 5// height: calc(100vmin - 60px); 6// display: flex; 7// justify-content: center; 8// align-items: center; 9// position: relative; 10// &:before{ 11// display: block; 12// content: ''; 13// padding-top: 100%; 14} 15 16 17 18 19.upload-image{ 20 width: 100%; 21 padding-top: 100%; 22 background-color: yellow; 23 // position: absolute; 24 // top: 0; 25 // height: 100%; 26 // box-sizing: border-box; 27 // width: 100%; 28 // display: block; 29 // height: 0; 30 // width: 100%; 31 // padding-bottom: 100%; 32 // align-items: center; 33} 34
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/21 22:02 編集
2020/08/22 00:16 編集
2020/08/22 02:17
2020/08/22 03:09
2020/08/22 04:04