Подтвердить что ты не робот

Изображение в CSS: после элемента

Я пытаюсь создать кнопку CSS и добавить к ней значок, используя: after, но изображение никогда не появляется. Если я заменил свойство "background" на "background-color: red", появится красное поле, поэтому я не уверен, что здесь не так.

HTML:

<a class="button green"> Click me </a>

CSS

.button {
padding: 15px 50px 15px 15px;
color: #fff;
text-decoration: none;
display: inline-block;
position: relative;
}

.button:after {
content: "";
width: 30px;
height: 30px;
background: url("http://www.gentleface.com/i/free_toolbar_icons_16x16_black.png") no-repeat -30px -50px no-scroll;
background-color: red;
top: 10px;
right: 5px;
position: absolute;
display: inline-block;
}

.green {
background-color: #8ce267;
}

Вы можете проверить эту скрипту, чтобы увидеть, что я имею в виду именно.

Спасибо за любые советы.

4b9b3361

Ответ 1

Пара вещей

(a) вы не можете иметь фоновый цвет и фон, фон всегда будет выигрывать. в приведенном ниже примере я объединил их через стенографию, но это приведет к цвету только в качестве резервного метода, когда изображение не будет отображаться.

(b) no-scroll не работает, я не верю, что это действительное свойство фонового изображения. попробуйте что-то вроде исправленного:

.button:after {
    content: "";
    width: 30px;
    height: 30px;
    background:red url("http://www.gentleface.com/i/free_toolbar_icons_16x16_black.png") no-repeat -30px -50px fixed;
    top: 10px;
    right: 5px;
    position: absolute;
    display: inline-block;
}

Я обновил ваш jsFiddle и показал изображение.

Ответ 2

Как сказал AlienWebGuy, вы можете использовать фоновое изображение. Я предлагаю вам использовать фон, но после URL потребуется еще три свойства:

background: url("http://www.gentleface.com/i/free_toolbar_icons_16x16_black.png") 0 0 no-repeat;

Объяснение: два нуля представляют собой x и y позиционирование для изображения; если вы хотите настроить, где отображается фоновое изображение, поиграйте с ними (вы можете использовать как положительные, так и отрицательные значения, например: 1px или -1px).

No-repeat говорит, что вы не хотите, чтобы изображение повторялось по всему фону. Это также может быть repeat-x и repeat-y.