クリック可能なスライダを作成する方法があるかどうかは、ネイティブCSSを使用するだけで、ラジオボタンでさらに制御できます。ラジオボタンにリンクされた純粋なCSSスライダ
のようになります。私はに関するラジオボタンのラベルに画像を置くと思ったが、比較的全体ラジオ・グループ・コンテナのラッパーにそれらを配置し、その後に正または負のマージンを追加どのラジオボタンが:checked
であるかに応じて画像が表示されます。
これは私がこれまでに得たものである:
.carousel__nav {
display: flex;
}
.mwf-option label img {
width: 182px;
height: 95px;
}
.style-2 .mwf-option {
margin-top: 100px;
}
.style-2 .carousel__nav label.btn {
position: absolute;
top: 0;
padding: 0;
transition: 1s;
}
.style-2 .mwf-option:nth-child(1) label.btn {
left: calc(182px * 1);
}
.style-2 .mwf-option:nth-child(2) label.btn {
left: calc(182px * 2);
}
.style-2 .mwf-option:nth-child(3) label.btn {
left: calc(182px * 3);
}
.style-2 .mwf-option:nth-child(1) .mwf-radio:checked ~ label.btn {
margin-left: 182px;
}
.style-2 .mwf-option:nth-child(3) .mwf-radio:checked ~ label.btn {
margin-left: -182px;
}
<div class="carousel__wrapper style-2">
<div class="carousel__nav">
<span class="mwf-option">
<input type="radio" id="radio1" name="radio-group" class="mwf-radio input-hidden">
<label for="radio1" class="btn">
<div class="VueCarousel-slide"><img id="slide-1" src="https://i.imgur.com/OhXJ7rk.jpg">
</div>
</label>
<span class="btn">One</span>
</span>
<span class="mwf-option">
<input type="radio" id="radio2" name="radio-group" class="mwf-radio input-hidden">
<label for="radio2" class="btn">
<div class="VueCarousel-slide"><img id="slide-2" src="https://i.imgur.com/6wxbv7n.jpg">
</div>
</label>
<span class="btn">Two</span>
</span>
<span class="mwf-option">
<input type="radio" id="radio3" name="radio-group" class="mwf-radio input-hidden" value="mwf7_2566_666">
<label for="radio3" class="btn">
<div class="VueCarousel-slide"><img id="slide-3" src="https://i.imgur.com/Cc0BzB8.jpg">
</div>
</label>
<span class="btn">Three</span>
</span>
</div>
</div>
私がチェックしたラジオボタンに応じて、すべての画像に余白を設定するかどうかはわかりませんので、私は苦労しています。私は現在、CSSの~
演算子はを使用していますが、それだけで次のコンポーネントではなく、さらに私は、画像のラッパーにいくつかoverflow: hidden
を追加したいすべての3
に影響を与えますが、その最初の共通のラッパーが.carousel__nav
あるので、私はできませんラジオボタンも隠すだけでオーバーフローを隠すだけです。
普通のラジオボタングループと同じコンポーネントを表示するか、CSSクラスを変更するだけでスライダーとして表示することができるので、このHTML構造体()を保持します。
これはCSSを使用するだけで可能ですか、ここにはいくつかのJavaScriptが必要ですか?私はそれを防止したいと思いますが、HTML構造体を維持することは優先度1を持っています。
ねえ、あなたは、このトピックを参照することができます https://stackoverflow.com/questions/42405127/css-sliding-an-image-with-radiochecked-pure-css-sliderあなたと同じ場合!それが役に立てば幸い。 –