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

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つです。

CSSフレームワーク

CSSフレームワークは、Webページのスタイルを指定する言語であるCSSを容易に構築するためのツールです。ツイッター社が開発した「Bootstrap」や段組レイアウトが可能な「Foundation」など様々なCSSフレームワークがあります。

Q&A

解決済

3回答

1988閲覧

フォームのアップロードする際の「ファイルを選択」部分が中央揃えにならない

退会済みユーザー

退会済みユーザー

総合スコア0

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

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

HTML

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

CSS

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

CSSフレームワーク

CSSフレームワークは、Webページのスタイルを指定する言語であるCSSを容易に構築するためのツールです。ツイッター社が開発した「Bootstrap」や段組レイアウトが可能な「Foundation」など様々なCSSフレームワークがあります。

0グッド

1クリップ

投稿2019/09/15 08:38

編集2019/09/15 09:47

追記2
以下のCSSを外すと、中央揃えになりました。しかし以下CSSは
.form-control-file, .form-control-range {いずれも私が作ってものではなくbootstrapのものと考えられます。
ここのクラスだけをどのようにしたら無効にできるのでしょうか?

イメージ説明

追記
出力されたHTMLを以下に記載させて頂きましたのでご確認ください。

<form class="mx-auto text-center" action="" method="POST" enctype='multipart/form-data'> <div class="form-group"> <input type="file" name="upload" class="form-control-file" required> </div> </form>

お世話になります。非常に困っています。

#できないこと 以下画像のように左揃えになってしまい困ってます。

![イメージ説明

該当箇所をchromeの検証で調べてみました。該当のCSS部分を以下のように修正しましたが左揃えのままでした。

イメージ説明

#やりたいこと 表示 「ファイルを選択」選択されていません 両方の表示を中央揃えにしたいです。

#ためしたこと

text-align: center;を追加して試したのですが、「ファイルを選択」ボタンや選択されていません が中央揃えになりませんでした。

CSS
.form-group {
.form-control-file{
両方同じ指定をしてみましたが左揃えのまま変更しませんでした。非常に困っています。

.form-group { font-size: 12px; text-align: center; } .form-control-file{ font-size: 12px; text-align: center; }

HTML

<form action="" method="POST" enctype='multipart/form-data'> {{ form.non_field_errors }} {% for field in form %} <div class="form-group"> <label for="{{ field.id_for_label }}">{{ field.label_tag }}</label> {{ field }} {{ field.errors }} </div> {% endfor %} {% csrf_token %} </form>

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

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

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

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

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

kyoya0819

2019/09/15 09:07

出力されたHTMLをご提示ください。
退会済みユーザー

退会済みユーザー

2019/09/15 09:29

追記します
退会済みユーザー

退会済みユーザー

2019/09/15 09:32

質問欄の一番上に記載しましたのでご確認ください
退会済みユーザー

退会済みユーザー

2019/09/15 09:36

シークレットウインドウでチェックしてもこちらでは左側揃えのままとなっております。
kyoya0819

2019/09/15 09:37

それはCodePenのことですか?
退会済みユーザー

退会済みユーザー

2019/09/15 09:40

いえ、ローカル環境です。現存コードで中央揃えになっていると教えて頂きましたのでこちらのCSSを探ってみました。すると以下のCSSがありました。form-control-rangeのwidth100%を外すと中央揃えになりました。 .form-control-file, .form-control-range { display: block;/ width: 100%; } しかし .form-control-range は私が作ったものではなくbootstrapのものです。私のcssは最後に呼ぶよう設定しているのですが、どのようにしたら.form-control-rangeのwidthを無効にできるのでしょうか?
退会済みユーザー

退会済みユーザー

2019/09/15 09:47

現状を示すために追記2を書きました。引き続きどうぞよろしくお願いいたします。
kyoya0819

2019/09/15 15:45

返信遅くなりました。 form-control-file消すと何か問題があるのでしょうか?
退会済みユーザー

退会済みユーザー

2019/09/15 23:53

消しましたが左揃えのまま変更されません。
kyoya0819

2019/09/16 02:40

BootstrapはCDNから読み込んでますか? それともサーバー上のですか?
退会済みユーザー

退会済みユーザー

2019/09/16 02:46 編集

<!doctype html> <html lang="ja"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"> <link rel="stylesheet" id="theme_link" href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/4.3.1/materia/bootstrap.min.css"/> <link rel="stylesheet" href="{% static 'css/hoge.css' %}"> <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha256-padsfaaaaaaaaaaaFyTiUHWhU7k8="crossorigin="anonymous"></script> <script src="{% static 'css/docs.js' %}"></script> </head> <body> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script> <!-- Optional JavaScript jQuery first, then Popper.js, then Bootstrap JS --> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-aaaaaaaaadddddddddddddddddddddddaaaa" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-aaaaaaaaaaa" crossorigin="anonymous"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-aaaaaaaaaa" crossorigin="anonymous"></script> </body> </html>
退会済みユーザー

退会済みユーザー

2019/09/16 02:45

bootstrapは上記のように設定しています。codepenで教えて頂いたのでコードに問題がなく私のコードが問題なのがわかっているだけに悔しいです!
kyoya0819

2019/09/16 02:46

すみませんCodePenでBootStrapを設定するのを忘れてました。 確かに左寄せになりますね。
退会済みユーザー

退会済みユーザー

2019/09/16 02:52

BOOTSTRAPをこの部分だけ無効にできればいいと思うのですが、それができませn。
guest

回答3

0

ベストアンサー

form-groupにdisplay: inline-blockを設定してください。

投稿2019/09/16 02:50

kyoya0819

総合スコア10429

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

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

退会済みユーザー

退会済みユーザー

2019/09/16 02:52

すぐ試します
退会済みユーザー

退会済みユーザー

2019/09/16 02:55

display: inline-block; できました。ありがとうございます!いやぁかっこいいです♡
guest

0

そもそも論ですが、<input type="file">のデザインはブラウザによってバラバラです。Internet Explorerでは、左側にファイル名の入力枠、右側に参照ボタンのようになります。

レイアウトにこだわりたいのであれば、全部自前描画する形としたほうがいいでしょう。

投稿2019/09/16 02:58

maisumakun

総合スコア145183

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

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

退会済みユーザー

退会済みユーザー

2019/09/16 03:10

そうですね。ありがとうございます
guest

0

情報が少ないので定かではないですが・・・これでどうでしょうか。

<form class="mx-auto text-center" action="" method="POST" enctype='multipart/form-data'> <div class="form-group"> <input type="file" name="upload" class="form-control-file formInner" required> </div> </form>
.form-group { font-size: 12px; /*text-align: center;*/ } .form-control-file{ font-size: 12px; /*text-align: center;*/ } .formInner{ width:inherit; }

テキストのセンタリング→text-center;
ボックスなどのセンタリング→mx-auto;
Bootstrapではセンタリングなどの細かいプロパティも用意されています。
なるべくhtml側にクラスを付与する形の方が良いと思います・・・

投稿2019/09/15 09:22

編集2019/09/15 11:23
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2019/09/15 09:23

ありがとうございます。ためしてみます
退会済みユーザー

退会済みユーザー

2019/09/15 09:28 編集

<form class="mx-auto text-center" action="" method="POST" enctype='multipart/form-data'> 上記を試してキャッシュをクリアしましたが、左揃えのまま変更がされませんでした。
退会済みユーザー

退会済みユーザー

2019/09/15 09:27

左揃えのままです。。
退会済みユーザー

退会済みユーザー

2019/09/15 09:27

cssはtext-alignを外してます
退会済みユーザー

退会済みユーザー

2019/09/15 09:33

HTMLについて追記をしましたのでご確認頂けば幸いです
退会済みユーザー

退会済みユーザー

2019/09/15 09:47

現状を示すために追記2を書きました。引き続きどうぞよろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2019/09/15 09:48

.form-control-fileはhtml側のどこに記述があるのでしょうか。
退会済みユーザー

退会済みユーザー

2019/09/15 09:53

とりあえず無効にする場合は自作のクラスを付与するが定番だと思います。 <form class="mx-auto text-center formInner" action="" method="POST" enctype='multipart/form-data'> 自分のファイル.css .formInner{ width:inherit; }
退会済みユーザー

退会済みユーザー

2019/09/15 09:55

ありがとうございます。ためします。
退会済みユーザー

退会済みユーザー

2019/09/15 09:57

上記のコードを記載しましたが左揃えのままかわりませんでした。キャッシュはクリアしています
退会済みユーザー

退会済みユーザー

2019/09/15 10:00 編集

さらに同じく追記2に記載した通り、以下のCSSを外すと中央揃えになりました。 .form-control-file, .form-control-range
退会済みユーザー

退会済みユーザー

2019/09/15 11:11

<form class="mx-auto text-center" action="" method="POST" enctype='multipart/form-data'> <div class="form-group"> <input type="file" name="upload" class="form-control-file formInner" required> </div> </form> .formInner{ width:inherit; } で、どうでしょうか。
退会済みユーザー

退会済みユーザー

2019/09/15 23:56

試しましたが左揃えのままです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問