teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

cssのみで対応する方法を追記

2017/06/27 05:48

投稿

退会済みユーザー
answer CHANGED
@@ -1,3 +1,45 @@
1
+ 興味があったので再挑戦してみました。
2
+ ただし、以下のコードは画像が横長の場合はうまくいきますが、縦長の場合期待する結果とならないと思われます。
3
+ ※縦長画像の場合、```.icon-top img```の```width```と```height```の値を入れかえると上下が見切れた画像として表示されます。
4
+
5
+ ``` html
6
+ <div class="icon-top">
7
+ <img src="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" alt="">
8
+ </div>
9
+ ```
10
+
11
+ ``` css
12
+ .icon-top img {
13
+ width: 5rem;
14
+ height: 5rem;
15
+ border-radius: 50%;
16
+ object-fit: cover;
17
+ }
18
+
19
+ @media all and (-ms-high-contrast: none) {
20
+ .icon-top {
21
+ width: 5rem;
22
+ height: 5rem;
23
+ border-radius: 50%;
24
+ overflow: hidden;
25
+ position: relative;
26
+ }
27
+
28
+ .icon-top img {
29
+ width: auto;
30
+ height: 100%;
31
+ min-width: 100%;
32
+ min-height: 100%;
33
+ position: absolute;
34
+ left: 50%;
35
+ top: 50%;
36
+ transform: translate(-50%, -50%);
37
+ }
38
+ }
39
+ ```
40
+
41
+ ---
42
+
1
43
  期待される回答とは異なるかもしれませんが、以下のように```.icon-top```の背景画像扱いとする方法はどうでしょうか?
2
44
 
3
45
  ``` html