使轮播图标(预览和下一步)在悬停和访问时具有相同的颜色



当我将鼠标悬停在其中一个轮播项目上(或单击它们(时,它们的颜色比未访问时的颜色更深。我希望它们在这些情况下具有相同的颜色。但是,我不知道该怎么做。我尝试过使用颜色和背景,但它们都没有进行任何更改。

提前感谢您帮助这个新手!

.container {
padding: 15rem;
}
.wrapper {
background-color: pink;
width: 20rem;
margin: 0 auto;
}

.carousel-inner {
min-height: 150px;
}
.carousel-item {
margin-block-start: 3.5rem;
}
p {
text-align: center;
margin: 0 2rem;
}
.carousel-indicators {
display: none !important;
}
.carousel-icon {
height: 20%;
width: 20%;
margin-bottom: 1rem;
filter: invert(50%);
}
.carousel-icon:link,
.carousel-icon:visited,
.carousel-icon:hover,
.carousel-icon:active, {
/* color: red; */
/* background-color: red; */
background: red;
}
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Carousel</title>
<link rel="stylesheet" type="text/css" href="style-carousel.css">
<link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"integrity = "sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin = "anonymous">
</head>
<body>
<!-- jQuery Library -->
<script src = "https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity = "sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin = "anonymous">
</script>
<!-- Popper -->
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity = "sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin = "anonymous">
</script>
<!-- Compiled and Minified Bootstrap JavaScript -->
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity = "sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin = "anonymous">
</script>

<div class="container">
<div class="wrapper">
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="myCarousel" data-slide-to="0" class="active"></li>
<li data-target="myCarousel" data-slide-to="1"></li>
<li data-target="myCarousel" data-slide-to="2"></li>
<li data-target="myCarousel" data-slide-to="3"></li>
<li data-target="myCarousel" data-slide-to="4"></li>
</ol>
<div class="carousel-inner">
<div class="carousel-item active">
<p>"Lorem ipsum dolor sit amet."</p>
</div>
<div class="carousel-item">
<p>"In ornare quam viverra orci sagittis eu volutpat odio facilisis."</p>
</div>
<div class="carousel-item">
<p>"Ullamcorper dignissim cras tincidunt lobortis."</p>
</div>
<div class="carousel-item">
<p>"Sed velit dignissim sodales."</p>
</div>
</div>
<a class="carousel-control-prev" href="#myCarousel" data-slide="prev">
<span class="carousel-control-prev-icon carousel-icon"></span>
</a>
<a class="carousel-control-next" href="#myCarousel" data-slide="next">
<span class="carousel-control-next-icon carousel-icon"></span>
</a>
</div>
</div>
</div>

</body>
</html>

background-image是一个SVG,因此我建议你使用stroke="currentcolor"但是 只有当你绝对必须处理这种情况时,你才能使用 drop-shadow(( 和 translate(( 来欺骗它,并将其添加到你的代码中:

.carousel-control-next, .carousel-control-prev {
overflow: hidden;
opacity: .99!important;
}
.carousel-control-prev-icon{
filter: drop-shadow(32px 0px 0px red);
transform: translate(-32px, 0px);
}
.carousel-control-next-icon{
filter: drop-shadow(-32px 0px 0px red);
transform: translate(32px, 0px);
}

如果您只是在谈论不透明度,那么请仅添加以下内容:

.carousel-control-next, .carousel-control-prev { 
opacity: .99!important;
}

这是一个演示

.container {
padding: 15rem;
}
.wrapper {
background-color: pink;
width: 20rem;
margin: 0 auto;
}
.carousel-inner {
min-height: 150px;
}
.carousel-item {
margin-block-start: 3.5rem;
}
p {
text-align: center;
margin: 0 2rem;
}
.carousel-indicators {
display: none !important;
}
.carousel-icon {
height: 20%;
width: 20%;
margin-bottom: 1rem; 
}
.carousel-icon:link,
.carousel-icon:visited,
.carousel-icon:hover,
.carousel-icon:active, {
/* color: red; */
/* background-color: red; */
background: red;
}
.carousel-control-next, .carousel-control-prev {
overflow: hidden;
opacity: .99!important;
}
.carousel-control-prev-icon{
filter: drop-shadow(32px 0px 0px red);
transform: translate(-32px, 0px);
}
.carousel-control-next-icon{
filter: drop-shadow(-32px 0px 0px red);
transform: translate(32px, 0px);
}
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Carousel</title>
<link rel="stylesheet" type="text/css" href="style-carousel.css">
<link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"integrity = "sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin = "anonymous">
</head>
<body>
<!-- jQuery Library -->
<script src = "https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity = "sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin = "anonymous">
</script>
<!-- Popper -->
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity = "sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin = "anonymous">
</script>
<!-- Compiled and Minified Bootstrap JavaScript -->
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity = "sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin = "anonymous">
</script>
<div class="container">
<div class="wrapper">
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="myCarousel" data-slide-to="0" class="active"></li>
<li data-target="myCarousel" data-slide-to="1"></li>
<li data-target="myCarousel" data-slide-to="2"></li>
<li data-target="myCarousel" data-slide-to="3"></li>
<li data-target="myCarousel" data-slide-to="4"></li>
</ol>
<div class="carousel-inner">
<div class="carousel-item active">
<p>"Lorem ipsum dolor sit amet."</p>
</div>
<div class="carousel-item">
<p>"In ornare quam viverra orci sagittis eu volutpat odio facilisis."</p>
</div>
<div class="carousel-item">
<p>"Ullamcorper dignissim cras tincidunt lobortis."</p>
</div>
<div class="carousel-item">
<p>"Sed velit dignissim sodales."</p>
</div>
</div>
<a class="carousel-control-prev" href="#myCarousel" data-slide="prev">
<span class="carousel-control-prev-icon carousel-icon"></span>
</a>
<a class="carousel-control-next" href="#myCarousel" data-slide="next">
<span class="carousel-control-next-icon carousel-icon"></span>
</a>
</div>
</div>
</div>
</body>
</html>

您必须更改轮播控件上一个轮播控件下一个类的不透明度属性,以更改链接的各种状态,即其链接、已访问、活动和悬停状态。默认情况下,这些类的不透明度值设置为 0.5,因此悬停时它会更改为 0.9,这就是发生变暗效果的原因。

最新更新