阿杰,你想去掉 Bootstrap 4 轮播图两侧的阴影和默认线框,可以通过 CSS 覆盖默认样式来实现。下面给你几种完整方法:


1️⃣ 去掉轮播图两侧阴影

Bootstrap 4 的轮播默认左右按钮有 阴影和渐变背景,主要是 .carousel-control-prev.carousel-control-next 的伪元素 ::beforebackground-image

/* 去掉左右箭头背景渐变 */
.carousel-control-prev,
.carousel-control-next {
  background: none;        /* 清除背景渐变 */
  width: 5%;               /* 可按需调整箭头区域宽度 */
}

/* 去掉伪元素阴影/箭头的背景图 */
.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-image: none;  /* 去掉默认箭头背景图 */
}

/* 可自定义箭头颜色或图标 */
.carousel-control-prev-icon::after {
  content: '‹'; /* 左箭头字符 */
  font-size: 2rem;
  color: #000;
}
.carousel-control-next-icon::after {
  content: '›'; /* 右箭头字符 */
  font-size: 2rem;
  color: #000;
}


2️⃣ 去掉轮播图线框(边框)

Bootstrap 默认可能会给 .carousel-item img 添加 border 或轮廓(outline)。

.carousel-item img {
  border: none;        /* 去掉边框 */
  outline: none;       /* 去掉焦点轮廓 */
  box-shadow: none;    /* 去掉阴影 */
}


3️⃣ 完整示例

<div id="carouselExample" class="carousel slide" data-ride="carousel">
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img src="img1.jpg" class="d-block w-100">
    </div>
    <div class="carousel-item">
      <img src="img2.jpg" class="d-block w-100">
    </div>
  </div>

  <a class="carousel-control-prev" href="#carouselExample" role="button" data-slide="prev">
    <span class="carousel-control-prev-icon"></span>
  </a>
  <a class="carousel-control-next" href="#carouselExample" role="button" data-slide="next">
    <span class="carousel-control-next-icon"></span>
  </a>
</div>

<style>
/* 去掉箭头背景阴影 */
.carousel-control-prev,
.carousel-control-next {
  background: none;
}

/* 去掉默认箭头图标 */
.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-image: none;
}

/* 自定义箭头 */
.carousel-control-prev-icon::after {
  content: '‹';
  font-size: 2rem;
  color: #000;
}
.carousel-control-next-icon::after {
  content: '›';
  font-size: 2rem;
  color: #000;
}

/* 去掉图片边框/阴影 */
.carousel-item img {
  border: none;
  outline: none;
  box-shadow: none;
}
</style>


🔹 总结

  1. 阴影和渐变背景 → 覆盖 .carousel-control-prev.carousel-control-nextbackground
  2. 箭头图标 → 覆盖 .carousel-control-prev-icon / .carousel-control-next-iconbackground-image
  3. 图片边框 → 清除 .carousel-item imgborderoutlinebox-shadow

明白了,阿杰!下面给你一个 完整 Bootstrap 4 轮播图 Demo,去掉了左右箭头的默认阴影、渐变背景和图片边框,同时自定义了箭头样式,可直接复制使用。


<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bootstrap4 轮播图去阴影线框 Demo</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">

<style>
/* ---------------------------- */
/* 去掉箭头背景和阴影 */
.carousel-control-prev,
.carousel-control-next {
  background: none;       /* 清除左右箭头背景 */
  width: 5%;              /* 可调整箭头点击区域宽度 */
}

/* 去掉默认箭头图标 */
.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-image: none;
}

/* 自定义箭头样式 */
.carousel-control-prev-icon::after {
  content: '‹';           /* 左箭头字符 */
  font-size: 3rem;
  color: #000;            /* 箭头颜色,可改 */
}
.carousel-control-next-icon::after {
  content: '›';           /* 右箭头字符 */
  font-size: 3rem;
  color: #000;
}

/* 去掉图片边框和阴影 */
.carousel-item img {
  border: none;
  outline: none;
  box-shadow: none;
}

/* 可选:轮播指示点样式 */
.carousel-indicators li {
  background-color: #000;  /* 指示点颜色 */
}
</style>
</head>
<body>

<div id="customCarousel" class="carousel slide" data-ride="carousel">
  <!-- 指示点 -->
  <ol class="carousel-indicators">
    <li data-target="#customCarousel" data-slide-to="0" class="active"></li>
    <li data-target="#customCarousel" data-slide-to="1"></li>
    <li data-target="#customCarousel" data-slide-to="2"></li>
  </ol>

  <!-- 轮播内容 -->
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img src="https://picsum.photos/800/400?image=1050" class="d-block w-100" alt="图片1">
    </div>
    <div class="carousel-item">
      <img src="https://picsum.photos/800/400?image=1040" class="d-block w-100" alt="图片2">
    </div>
    <div class="carousel-item">
      <img src="https://picsum.photos/800/400?image=1030" class="d-block w-100" alt="图片3">
    </div>
  </div>

  <!-- 左右控制箭头 -->
  <a class="carousel-control-prev" href="#customCarousel" role="button" data-slide="prev">
    <span class="carousel-control-prev-icon"></span>
    <span class="sr-only">上一张</span>
  </a>
  <a class="carousel-control-next" href="#customCarousel" role="button" data-slide="next">
    <span class="carousel-control-next-icon"></span>
    <span class="sr-only">下一张</span>
  </a>
</div>

<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>

</body>
</html>


✅ 特性说明

  1. 去除默认阴影
    • .carousel-control-prev / .carousel-control-next background:none
  2. 去掉箭头线框
    • .carousel-item imgborder:none; outline:none; box-shadow:none
  3. 自定义箭头
    • 使用 CSS ::after 插入文字箭头
    • 可修改 font-sizecolor 自定义样式
  4. 指示点颜色
    • 可自定义 .carousel-indicators libackground-color

明白了,阿杰!下面给你一个 移动端触摸优化版 Bootstrap 4 轮播图 Demo,特点:

  • 去掉左右箭头阴影和线框
  • 支持 移动端手指左右滑动 切换
  • 自定义箭头样式
  • 图片无边框、无阴影
  • 兼容桌面端和移动端

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>移动端优化 Bootstrap4 轮播图</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">

<style>
/* ---------------------------- */
/* 去掉箭头背景和阴影 */
.carousel-control-prev,
.carousel-control-next {
  background: none;
  width: 5%;
}

/* 去掉默认箭头图标 */
.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-image: none;
}

/* 自定义箭头 */
.carousel-control-prev-icon::after {
  content: '‹';
  font-size: 3rem;
  color: #000;
}
.carousel-control-next-icon::after {
  content: '›';
  font-size: 3rem;
  color: #000;
}

/* 去掉图片边框和阴影 */
.carousel-item img {
  border: none;
  outline: none;
  box-shadow: none;
}

/* 指示点样式 */
.carousel-indicators li {
  background-color: #000;
}
</style>
</head>
<body>

<div id="mobileCarousel" class="carousel slide" data-ride="carousel" data-touch="true">
  <!-- 指示点 -->
  <ol class="carousel-indicators">
    <li data-target="#mobileCarousel" data-slide-to="0" class="active"></li>
    <li data-target="#mobileCarousel" data-slide-to="1"></li>
    <li data-target="#mobileCarousel" data-slide-to="2"></li>
  </ol>

  <!-- 轮播内容 -->
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img src="https://picsum.photos/800/400?image=1050" class="d-block w-100" alt="图片1">
    </div>
    <div class="carousel-item">
      <img src="https://picsum.photos/800/400?image=1040" class="d-block w-100" alt="图片2">
    </div>
    <div class="carousel-item">
      <img src="https://picsum.photos/800/400?image=1030" class="d-block w-100" alt="图片3">
    </div>
  </div>

  <!-- 左右控制箭头 -->
  <a class="carousel-control-prev" href="#mobileCarousel" role="button" data-slide="prev">
    <span class="carousel-control-prev-icon"></span>
    <span class="sr-only">上一张</span>
  </a>
  <a class="carousel-control-next" href="#mobileCarousel" role="button" data-slide="next">
    <span class="carousel-control-next-icon"></span>
    <span class="sr-only">下一张</span>
  </a>
</div>

<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>

<script>
// ----------------------------
// 移动端手指滑动支持(优化触摸体验)
const carousel = document.getElementById('mobileCarousel');
let startX = 0;
let endX = 0;

carousel.addEventListener('touchstart', (e) => {
  startX = e.touches[0].clientX;
});

carousel.addEventListener('touchmove', (e) => {
  endX = e.touches[0].clientX;
});

carousel.addEventListener('touchend', () => {
  const diffX = endX - startX;
  if(diffX > 50) { // 向右滑,上一张
    $('#mobileCarousel').carousel('prev');
  } else if(diffX < -50) { // 向左滑,下一张
    $('#mobileCarousel').carousel('next');
  }
});
</script>

</body>
</html>


🔹 特性说明

  1. 自定义箭头样式
    • 去掉 Bootstrap 默认阴影和渐变
    • 使用 ::after 自定义箭头字符
  2. 图片无边框和阴影
    • .carousel-item img 全面覆盖
  3. 移动端触摸滑动支持
    • 通过 touchstarttouchmovetouchend 实现左右滑动切换
    • 支持移动端自然滑动体验
  4. 兼容桌面端
    • 鼠标点击箭头和指示点切换依然有效