Я использую 2 иконки от font-awesome, A + спереди и круг сзади.
+
Вот скрипка
Я пытаюсь изменить цвет фона круга, но он не работает.
Вот код:
.fa-plus{ background-color: red; border-radius: 50%; } .wrapper{ position: relative; width: 20%; height: 20%; margin: auto; border-radius: 50%; cursor: pointer; border: 1px solid #000; } .image{ max-width: 100%; border-radius: 50% } .wrapper span{ position: absolute; bottom: 0; right: 15%; width: 15%; height: 15%; z-index: 2; } #input{ position: absolute; width: 100%; height: 100%; z-index: -1; cursor: pointer; opacity: 0; }
<!-- Font Awesome --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <div class="wrapper"> <input type="file" id="input" name="image" accept="image/*"> <img class="image" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTRT2XK4W0i7icS84Yq5VHpwZ9anmDXoOFQZX0anUhWxcpL5du_"> <span class="fa-stack" aria-hidden="true"> <i class="fa fa-circle fa-stack-2x"></i> <i class="fa fa-plus fa-stack-1x fa-inverse"></i> </span> </div>
Я использую круг для придания значку + круглого цвета фона, я пытался добавить только значок + и дать ему padding, но тоже не сработало:
padding
.fa-plus{ background-color: red; border-radius: 50%; } .wrapper{ position: relative; width: 20%; height: 20%; margin: auto; border-radius: 50%; cursor: pointer; border: 1px solid #000; } .image{ max-width: 100%; border-radius: 50% } .wrapper span{ position: absolute; bottom: 0; right: 15%; width: 15%; height: 15%; z-index: 2; padding: 10%; } #input{ position: absolute; width: 100%; height: 100%; z-index: -1; cursor: pointer; opacity: 0; }
<!-- Font Awesome --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <div class="wrapper"> <input type="file" id="input" name="image" accept="image/*"> <img class="image" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTRT2XK4W0i7icS84Yq5VHpwZ9anmDXoOFQZX0anUhWxcpL5du_"> <span class="fa-stack" aria-hidden="true"> <i class="fa fa-plus fa-stack-1x fa-inverse"></i> </span> </div>
Как решить эту проблему?
Попробуйте этот HTML и CSS. Я удалил весь черный круг и заменил его свойством CSS-пути клипа в качестве фона для знака плюс (он очень хорошо работает для больших и средних экранов, но, к сожалению, не для маленьких и дополнительных). маленькие экраны, поэтому вы должны установить свойство минимальной ширины для диапазона .wrapper, я думаю):
.wrapper{ position: relative; width: 20%; height: 20%; margin: auto; border-radius: 50%; cursor: pointer; border: 1px solid #000; } .image{ max-width: 100%; border-radius: 50% } .wrapper span{ position: absolute; bottom: 0; right: 15%; width: 15%; height: 15%; z-index: 2; } #input{ position: absolute; width: 100%; height: 100%; z-index: -1; cursor: pointer; opacity: 0; } .fa-plus{ background:black; -webkit-clip-path: circle(38% at 50% 50%); clip-path: circle(38% at 50% 50%); }
Замените свои свойства CSS .wrapper span на следующие:
.wrapper span { position: absolute; bottom: 0; right: 15%; width: 20px; height: 20px; z-index: 2; padding: 0; line-height: 20px; }
Добавьте это свойство в CSS.
i.fa.fa-circle.fa-stack-2x{ color:green; }
Если вы хотите изменить фон плюса с красного на зеленый (я не включил фрагмент кода)
i.fa.fa-plus.fa-stack-1x.fa-inverse { background: green; }
.fa-plus{ background-color: red; border-radius: 50%; } i.fa.fa-circle.fa-stack-2x{ color:green; } .wrapper{ position: relative; width: 20%; height: 20%; margin: auto; border-radius: 50%; cursor: pointer; border: 1px solid #000; } .image{ max-width: 100%; border-radius: 50% } .wrapper span{ position: absolute; bottom: 0; right: 15%; width: 15%; height: 15%; z-index: 2; } #input{ position: absolute; width: 100%; height: 100%; z-index: -1; cursor: pointer; opacity: 0; }