#html #css #hover
#HTML #css #наведение курсора
Вопрос:
У меня есть два изображения со стрелками (предыдущее / следующее) с кодом вот так:
.fp-controlArrow {
position: absolute;
width: 32px; /* This can be added here so you don't have to set a width and height 2 times for each arrow, this will create one width for both arrows */
height: 32px; /* This does the same as above */
margin-top:-15px; /* This value must always be half of the height - This does the same as above */
z-index: 30;
top: 50%;
cursor: pointer;
}
.fp-controlArrow.fp-prev {
left:0;
background: url(https://uploads-ssl.webflow.com/602dbecd2160ce28b5bc428b/602e923133f8dc0bf994fc49_left-arrow.svg) no-repeat;
}
.fp-controlArrow.fp-next {
right:0;
background: url(https://uploads-ssl.webflow.com/602dbecd2160ce28b5bc428b/602e9231ec03b6c9682b540c_right-arrow.svg) no-repeat;
Я бы хотел, чтобы при наведении курсора на стрелку за стрелкой появлялся круглый прозрачный круг, как в этом примере:
введите описание изображения здесь
как я могу этого добиться?
Спасибо!
Ответ №1:
padding: 1em;
border-radius: 50%;
background-color: rgba(200,200,200,0.5)
Добавьте те строки в .fp-controlArrow
класс, который должен это сделать.
Редактировать
Извините, я не знал, что это svg. Вам нужно будет встроить svg.
<div class="fp-controlArrow fp-prev">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-reactroot="">
<path stroke-linejoin="round" stroke-linecap="round" stroke-width="1" stroke="#221b38" d="M16 20L8 12L16 4"></path>
</svg>
</div>
<div class="fp-controlArrow fp-next">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-reactroot="">
<path stroke-linejoin="round" stroke-linecap="round" stroke-width="1" stroke="#221b38" d="M8 20L16 12L8 4"></path>
</svg>
</div>
.fp-controlArrow {
position: absolute;
width: 32px; /* This can be added here so you don't have to set a width and height 2 times for each arrow, this will create one width for both arrows */
height: 32px; /* This does the same as above */
margin-top:-15px; /* This value must always be half of the height - This does the same as above */
z-index: 30;
top: 50%;
cursor: pointer;
padding: 1em;
border-radius: 50%;
}
.fp-controlArrow:hover {
background: green;
background-color: rgba(200,200,200,0.5);
}
.fp-controlArrow.fp-prev {
left:0;
}
.fp-controlArrow.fp-next {
right:0;
Вот codepen, который демонстрирует это.
Комментарии:
1. Привет, ты пробовал это? Я не мог заставить его работать, я думаю, потому что изображения являются SVG, но, возможно, я сделал что-то не так.
Ответ №2:
Извините, я не видел пробел между: и hover .
.fp-controlArrow.fp-prev {
left:0;
background: url(https://uploads-ssl.webflow.com/602dbecd2160ce28b5bc428b/602e923133f8dc0bf994fc49_left-arrow.svg) no-repeat;
border-radius: 50px;
}
.fp-controlArrow.fp-prev:hover{
background-color: #999999;
}
Комментарии:
1. Я не думаю, что это работает — фоновые изображения — это svg.
2. Прошу прощения, я пробовал ваш код, и это не сработало, но теперь я вижу, что в вашем коде есть пробел между : и наведением курсора, которого я не заметил. Если это будет удалено, все в порядке. Может быть, вы могли бы отредактировать его?
3. Я действительно попробовал ваш код и не нахожу никаких проблем с svg-файлом. Кроме того, вы уже добавили «no repeat» в svg, так что вам не о чем беспокоиться.