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

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

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

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

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

CSS

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

Q&A

解決済

1回答

731閲覧

javascript: input fileでアップした写真をプレビューさせるときに写真が綺麗な丸にならない

nanase21

総合スコア144

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

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

CSS

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

0グッド

0クリップ

投稿2019/12/29 02:45

実現したいこと

iput fileでアップした写真をプレビューするときに綺麗な丸で写真を表示する方法を知りたい。

困っていること

現状では、inputから写真を選択してプレビューするところまではできているが、表示される際に綺麗な円形にならなくて困っている。

slim

1section 2 .container.pt-5 3 .row 4 .col.col-lg-6.offset-lg-3 5 .p-3.my-2.bg-white.box-shadow.q_card.q_card_width 6 h4.font-weight-bold.gg-txt 7 | 写真 8 = form_with url: user_path do |f| 9 .form-group 10 img id="img1" class="default hidden" 11 = image_tag("default.png", :alt => "thumbnail", id: 'thumbnail', class: "default") 12 .form-group 13 label 14 .btn.btn-info +写真を選択 15 = f.file_field :image, style: "display:none;", id: "myfile"

css

1css: 2 .default{ 3 max-height: 240px; 4 max-height: 240px; 5 border-radius: 50%; 6 } 7 .hidden {display:none;}

js

1script src="http://code.jquery.com/jquery-3.2.1.min.js" 2javascript: 3 $(function(){ 4 $('#myfile').change(function(e){ 5 //ファイルオブジェクトを取得する 6 var file = e.target.files[0]; 7 var reader = new FileReader(); 8 //画像でない場合は処理終了 9 if(file.type.indexOf("image") < 0){ 10 alert("画像ファイルを指定してください。"); 11 return false; 12 } 13 //delete default image 14 let thumbnail = document.getElementById("thumbnail"); 15 if (thumbnail){ 16 thumbnail.classList.add("hidden"); 17 } 18 let default_img = document.getElementById("default-image"); 19 if (default_img){ 20 default_img.classList.add("hidden"); 21 } 22 document.getElementById("img1").classList.remove("hidden"); 23 //アップロードした画像を設定する 24 reader.onload = (function(file){ 25 return function(e){ 26 $("#img1").attr("src", e.target.result); 27 $("#img1").attr("title", file.name); 28 }; 29 })(file); 30 reader.readAsDataURL(file); 31 }); 32 });

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

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

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

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

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

m.ts10806

2019/12/29 04:24

>綺麗な円形にならなくて どうなっているのでしょう。 やりたいことができていないことを書かれてもどうなっているかは何も伝わりませんので、起きている現象を確実に伝えてください
m.ts10806

2019/12/29 04:25

それに「綺麗な」は個人の主観によります。どうなっているのが正解なのかイメージを図示してください。
nanase21

2019/12/29 04:29

>それに「綺麗な」は個人の主観によります。どうなっているのが正解なのかイメージを図示してください。 border-radius: 50%;をイメージしています。 現状では、写真をアップすると写真のサイズによって楕円形になってしまいます。(元から正方形の写真であればborder-radius: 50%;の丸になるのですが、正方形以外だと円の形が崩れてしまいます。
mari.rinn

2019/12/29 06:04

max-height: 240px;  max-height: 240px; これのどちらかは max-width では?
guest

回答1

0

自己解決

下記の方法で解決しました。

css

1 .default-image{ 2 width: 240px; 3 height: 240px; 4 border-radius: 50%; 5 }

投稿2019/12/29 06:54

nanase21

総合スコア144

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問