一页上的多个 HTML/CSS 个滑块不会独立变化

Multiple HTML/CSS only sliders on one page not changing independently

我正在为我的一个朋友写博客post,在ghost平台上。此博客 post 将是一个非常长的 post 关于多个不同对象的博客,每个对象都需要自己的图像滑块。我想对页面上所有 20 个左右的滑块重新使用相同的 CSS,只更改 html。 我按照在线滑块教程创建了一个 html/css 滑块,因为 Ghost 在他们的个人博客 post 中不支持脚本。

不幸的是,当我单击一个缩略图时,所有其他滑块中的图像都消失了,并且仅显示在该特定滑块中,这使得向下滚动页面变得非常无聊。

有人能发现错误吗?这是仅使用两个滑块的摘录。再往下看结果:

<style>
* {margin: 0; padding: 0;}
body {background: #ccc;}

.slider{
 width: 640px; 
 position: relative;
 padding-top: 320px; 
 margin: 100px auto;
 box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.75);
}

.slider>img{
 position: absolute;
 left: 0; top: 0;
 transition: all 0.2s;
}

.slider input[name='slide_switch'] {
 display: none;
}

.slider label {
 margin: 18px 0 0 18px;
 border: 3px solid #999;
 float: left;
 cursor: pointer;
 transition: all 0.5s;
 opacity: 0.6;
}

.slider label img{
 display: block;
}

.slider input[name='slide_switch']:checked+label {
 border-color: #666;
 opacity: 1;
}
.slider input[name='slide_switch'] ~ img {
 opacity: 0;
 transform: scale(1.1);
}
.slider input[name='slide_switch']:checked+label+img {
 opacity: 1;
 transform: scale(1);
}
</style>
**The xx: **
Insert image
About 
Gallery of the xx

<div class="slider">
 <input type="radio" name="slide_switch" id="id1"/>
 <label for="id1">
  <img src="http://thecodeplayer.com/uploads/media/3yiC6Yq.jpg" width="100"/>
 </label>
 <img src="http://thecodeplayer.com/uploads/media/3yiC6Yq.jpg"/> 
 <input type="radio" name="slide_switch" id="id2"/>
 <label for="id2">
  <img src="http://thecodeplayer.com/uploads/media/40Ly3VB.jpg" width="100"/>
 </label>
 <img src="http://thecodeplayer.com/uploads/media/40Ly3VB.jpg"/>
 <input type="radio" name="slide_switch" id="id3"/>
 <label for="id3">
  <img src="http://thecodeplayer.com/uploads/media/00kih8g.jpg" width="100"/>
 </label>
 <img src="http://thecodeplayer.com/uploads/media/00kih8g.jpg"/>
 <input type="radio" name="slide_switch" id="id4"/>
 <label for="id4">
  <img src="http://thecodeplayer.com/uploads/media/2rT2vdx.jpg" width="100"/>
 </label>
 <img src="http://thecodeplayer.com/uploads/media/2rT2vdx.jpg"/>
 <input type="radio" name="slide_switch" id="id5"/>
 <label for="id5">
  <img src="http://thecodeplayer.com/uploads/media/8k3N3EL.jpg" width="100"/>
 </label>
 <img src="http://thecodeplayer.com/uploads/media/8k3N3EL.jpg"/>
</div>

**The yy**
Insert image
About 
Gallery of the yy

<div class="slider">
 <input type="radio" name="slide_switch" id="id6"/>
 <label for="id6">
  <img src="http://thecodeplayer.com/uploads/media/3yiC6Yq.jpg" width="100"/>
 </label>
 <img src="http://thecodeplayer.com/uploads/media/3yiC6Yq.jpg"/> 
 <input type="radio" name="slide_switch" id="id7"/>
 <label for="id7">
  <img src="http://thecodeplayer.com/uploads/media/40Ly3VB.jpg" width="100"/>
 </label>
 <img src="http://thecodeplayer.com/uploads/media/40Ly3VB.jpg"/>
 <input type="radio" name="slide_switch" id="id8"/>
 <label for="id8">
  <img src="http://thecodeplayer.com/uploads/media/00kih8g.jpg" width="100"/>
 </label>
 <img src="http://thecodeplayer.com/uploads/media/00kih8g.jpg"/>
 <input type="radio" name="slide_switch" id="id9"/>
 <label for="id9">
  <img src="http://thecodeplayer.com/uploads/media/2rT2vdx.jpg" width="100"/>
 </label>
 <img src="http://thecodeplayer.com/uploads/media/2rT2vdx.jpg"/>
 <input type="radio" name="slide_switch" id="id10"/>
 <label for="id10">
  <img src="http://thecodeplayer.com/uploads/media/8k3N3EL.jpg" width="100"/>
 </label>
 <img src="http://thecodeplayer.com/uploads/media/8k3N3EL.jpg"/>
</div>

您的所有单选按钮都具有相同的名称,因此它们都被视为同一组的一部分。任何一组中只能有一个单选按钮处于活动状态。 每个组应该有一个不同的名称,所以它们被分开分组。这样做会影响您当前的 CSS,但将 attribute selectorname= 更改为 name^=name*= 将允许您为每个单选按钮设置不同的名称。在下面的示例中,我们将 _1 附加到第二组。

* {
  margin: 0;
  padding: 0;
}

body {
  background: #ccc;
}

.slider {
  width: 640px;
  position: relative;
  padding-top: 320px;
  margin: 100px auto;
  box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.75);
}

.slider>img {
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.2s;
}

.slider input[name^='slide_switch'] {
  display: none;
}

.slider label {
  margin: 18px 0 0 18px;
  border: 3px solid #999;
  float: left;
  cursor: pointer;
  transition: all 0.5s;
  opacity: 0.6;
}

.slider label img {
  display: block;
}

.slider input[name^='slide_switch']:checked+label {
  border-color: #666;
  opacity: 1;
}

.slider input[name^='slide_switch']~img {
  opacity: 0;
  transform: scale(1.1);
}

.slider input[name^='slide_switch']:checked+label+img {
  opacity: 1;
  transform: scale(1);
}
<div class="slider">
  <input type="radio" name="slide_switch_1" id="id1" checked>
  <label for="id1">
  <img src="http://thecodeplayer.com/uploads/media/3yiC6Yq.jpg" width="100">
 </label>
  <img src="http://thecodeplayer.com/uploads/media/3yiC6Yq.jpg">
  <input type="radio" name="slide_switch_1" id="id2">
  <label for="id2">
  <img src="http://thecodeplayer.com/uploads/media/40Ly3VB.jpg" width="100">
 </label>
  <img src="http://thecodeplayer.com/uploads/media/40Ly3VB.jpg">
  <input type="radio" name="slide_switch_1" id="id3">
  <label for="id3">
  <img src="http://thecodeplayer.com/uploads/media/00kih8g.jpg" width="100">
 </label>
  <img src="http://thecodeplayer.com/uploads/media/00kih8g.jpg">
  <input type="radio" name="slide_switch_1" id="id4">
  <label for="id4">
  <img src="http://thecodeplayer.com/uploads/media/2rT2vdx.jpg" width="100">
 </label>
  <img src="http://thecodeplayer.com/uploads/media/2rT2vdx.jpg">
  <input type="radio" name="slide_switch_1" id="id5">
  <label for="id5">
  <img src="http://thecodeplayer.com/uploads/media/8k3N3EL.jpg" width="100">
 </label>
  <img src="http://thecodeplayer.com/uploads/media/8k3N3EL.jpg">
</div>

<div class="slider">
  <input type="radio" name="slide_switch" id="id6" checked>
  <label for="id6">
  <img src="http://thecodeplayer.com/uploads/media/3yiC6Yq.jpg" width="100">
 </label>
  <img src="http://thecodeplayer.com/uploads/media/3yiC6Yq.jpg">
  <input type="radio" name="slide_switch" id="id7">
  <label for="id7">
  <img src="http://thecodeplayer.com/uploads/media/40Ly3VB.jpg" width="100">
 </label>
  <img src="http://thecodeplayer.com/uploads/media/40Ly3VB.jpg">
  <input type="radio" name="slide_switch" id="id8">
  <label for="id8">
  <img src="http://thecodeplayer.com/uploads/media/00kih8g.jpg" width="100">
 </label>
  <img src="http://thecodeplayer.com/uploads/media/00kih8g.jpg">
  <input type="radio" name="slide_switch" id="id9">
  <label for="id9">
  <img src="http://thecodeplayer.com/uploads/media/2rT2vdx.jpg" width="100">
 </label>
  <img src="http://thecodeplayer.com/uploads/media/2rT2vdx.jpg">
  <input type="radio" name="slide_switch" id="id10">
  <label for="id10">
  <img src="http://thecodeplayer.com/uploads/media/8k3N3EL.jpg" width="100">
 </label>
  <img src="http://thecodeplayer.com/uploads/media/8k3N3EL.jpg">
</div>