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

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

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

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

CSS

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

Q&A

解決済

2回答

1510閲覧

cssで画像を円形にくりぬきたい

wowow

総合スコア12

HTML

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

CSS

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

1グッド

2クリップ

投稿2018/09/17 05:12

編集2018/09/17 05:25

現在コメント投稿機能を自作のwebアプリケーションに実装している途中なのですが、ユーザーアイコンをyoutubeのコメント欄のように、コメントの左側に表示させるようにしました。
その際、画像を円形で表示したいのですが、私のサイトのユーザーはアイコンが横長になる仕様なので、正円で表示することができません。どうすればよいでしょうか?

<補足>
自分で調べたところcss側でurlを指定してgackground-position:center centerを指定するとできるみたいですが、urlは動的なのでこの方法では無理でした。

<追記>
画像サイズ:90px * 50px

html

1<img class="icon" src="〇〇〇〇☓☓☓">

css

1img.icon{ 2 width:50px; 3 height:50px; 4 border-radius:50%; 5}

ただし上記のコードで実現できないのは明らかです。こうすると、画像の縦横比は変わってしまいます。

memu2👍を押しています

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

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

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

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

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

spookybird

2018/09/17 05:18

試してみたソースコードと対象の画像と同サイズのダミー画像または画像のサイズを教えてください。
wowow

2018/09/17 05:20

わかりました、本文に追記します
guest

回答2

0

ベストアンサー

IE11でなければこれでいけます。

css

1img.icon { 2 width: 50px; 3 height: 50px; 4 object-fit: cover; 5 border-radius: 50%; 6}

IE11でやろうと思うとちょっと面倒くさいかもしれません。

ご要望にお応えして追記

IE11だとこうすればいけると思います。
CSSのみでやる方法は、もしかするとあるかもしれませんがちょっと思いつきませんでした。

html

1<div class="icon"> 2 <img src="********" /> 3</div>

css

1.icon { 2 position: relative; 3 width: 50px; 4 height: 50px; 5 border-radius: 50%; 6 overflow: hidden; 7} 8.icon > img { 9 position: absolute; 10 top: calc(50% - 25px); 11 left: calc(50% - 45px); 12}

投稿2018/09/17 05:37

編集2018/09/17 06:26
spookybird

総合スコア1803

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

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

memu2

2018/09/17 05:39

横から失礼します。このコードの説明をして頂いてもいいですか? どういう役割があるのか知りたいです。
wowow

2018/09/17 06:11

丁寧な回答ありがとうございます。 今試してみて、chromeでうまく成功しました。 後学のためにIE11に対応させる場合のコードも追記してくださいませんか?
wowow

2018/09/22 12:13

バタバタしていてお礼が遅れました。 ありがとうございます。 もう一人の方も本当にシンプルで素晴らしい回答でしたが、親身に教えてくださったので、ベストアンサーにさせていただきました。
guest

0

urlが動的なのであれば、urlだけhtml側に持ってくるのもありかと。

html

1<div class="icon" style="background-image:url(*****);"></div>

css

1.icon { 2 width: 50px; 3 height: 50px; 4 background-position: center; 5 border-radius: 50%; 6}

投稿2018/09/18 01:17

macaron_xxx

総合スコア3191

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

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

wowow

2018/09/22 12:12

この方法もとても素晴らしいですね、さっそく試してみたいと思います。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問