Css 图像滑块-无法在不破坏定位的情况下创建图像链接
我已经制作了一个图像滑块,在我尝试将图像制作成链接之前,它可以正常工作。 我试过几种方法,但都遇到了不同的问题 比如当我换衣服的时候Css 图像滑块-无法在不破坏定位的情况下创建图像链接,css,image,slider,position,Css,Image,Slider,Position,我已经制作了一个图像滑块,在我尝试将图像制作成链接之前,它可以正常工作。 我试过几种方法,但都遇到了不同的问题 比如当我换衣服的时候 <img src="img/radish.jpg" alt="radish"> 到 然而,该图像不是一个可点击的链接,我再次找到了一种方法,通过添加 .slider li input:checked ~ a{ position: absolute; } 但这样做后,我的标签从滑块底部移动到滑块上方,我不知道如何修复 下面是尝试将图像更改为链接之前的
<img src="img/radish.jpg" alt="radish">
到
然而,该图像不是一个可点击的链接,我再次找到了一种方法,通过添加
.slider li input:checked ~ a{
position: absolute;
}
但这样做后,我的标签从滑块底部移动到滑块上方,我不知道如何修复
下面是尝试将图像更改为链接之前的HTML和CSS。如果有人能帮助我找到一种方法,在不更改任何元素位置的情况下创建图像链接,我将永远欠你的债
HTML
添加后:
.slider li input:checked ~ a{
position: absolute;
}
给李增加一些高度。。。比如说
.slider li{
list-style: none;
position: absolute;
height: 480px;
/*Creates a two bordered effect*/
-webkit-box-shadow: 0px 0px 0px 3px #3C7F1E, 0px 0px 0px 6px #4C1F0A;
-moz-box-shadow: 0px 0px 0px 3px #3C7F1E, 0px 0px 0px 6px #4C1F0A;
box-shadow: 0px 0px 0px 3px #3C7F1E, 0px 0px 0px 6px #4C1F0A;
}
这应该可以固定标签的位置试试这个谢谢你的帮助-问题现在解决了:)这个成功了!所有这些都是简单的事情!非常感谢你!
.slider li input:checked ~ a{
position: absolute;
}
<ul class="slider">
<li>
<input type="radio" id="slide1" name="slide">
<label for="slide1"></label>
<img src="img/carrot.jpg" alt="carrot">
</li>
<li>
<input type="radio" id="slide2" name="slide" checked>
<label for="slide2"></label>
<img src="img/turnip.jpg" alt="turnip">
</li>
<li>
<input type="radio" id="slide3" name="slide">
<label for="slide3"></label>
<img src="img/radish.jpg" alt="radish">
</li>
<li>
<input type="radio" id="slide4" name="slide">
<label for="slide4"></label>
<img src="img/parsnip.jpg" alt ="parsnip">
</li>
<li>
<input type="radio" id="slide5" name="slide">
<label for="slide5"></label>
<img src="img/leek.jpg" alt="leek">
</li>
<li>
<input type="radio" id="slide6" name="slide">
<label for="slide6"></label>
<img src="img/onion.jpg" alt="onion">
</li>
</ul>
.slider{
height: 480px;
width: 1000px;
padding-bottom: 3.5em;
padding-top: 0.4em;
padding-left:6.2em;
margin:0 auto;
}
.slider li{
list-style: none;
position: absolute;
/*Creates a two bordered effect*/
-webkit-box-shadow: 0px 0px 0px 3px #3C7F1E, 0px 0px 0px 6px #4C1F0A;
-moz-box-shadow: 0px 0px 0px 3px #3C7F1E, 0px 0px 0px 6px #4C1F0A;
box-shadow: 0px 0px 0px 3px #3C7F1E, 0px 0px 0px 6px #4C1F0A;
}
.slider img{
height: 480px;
width: 800px;
vertical-align: top;
}
.slider input{
display:none;
}
.slider label{
background-color:#3C7F1E;
bottom: 8px;
cursor: pointer;
display: block;
height: 16px;
position: absolute;
width: 16px;
z-index: 10;
border: 1px solid gray;
box-shadow: inset 0px 0px 0px 2px white; /*Gives the button an outer ring */
-webkit-box-shadow: inset 0px 0px 0px 2px white; /*cross browser compatibility */
-moz-box-shadow: inset 0px 0px 0px 2px white;
-o-box-shadow: inset 0px 0px 0px 2px white;
/*makes the buttons circular */
-webkit-border-radius: 8px;
-moz-border-radius: 8px;
-o-border-radius: 8px;
border-radius: 8px;
}
.slider li input:checked ~ label{ /*Changes the color of the checked box */
background: #4C1F0A;
}
/*Sets the distance from the left for the corrisponding button */
.slider li:nth-child(1) label{
left: 16px;
}
.slider li:nth-child(2) label{
left: 64px;
}
.slider li:nth-child(3) label{
left: 112px;
}
.slider li:nth-child(4) label{
left: 160px;
}
.slider li:nth-child(5) label{
left: 208px;
}
.slider li:nth-child(6) label{
left: 256px;
}
/* Hides the images*/
.slider img{
opacity: 0;
visibility: hidden;
}
/*Displays the images when radio buttons are checked, note that the first starts as checked in the html*/
.slider li input:checked ~ img{
opacity: 1;
visibility: visible;
z-index: 10;
}
.slider li input:checked ~ a{
position: absolute;
}
.slider li{
list-style: none;
position: absolute;
height: 480px;
/*Creates a two bordered effect*/
-webkit-box-shadow: 0px 0px 0px 3px #3C7F1E, 0px 0px 0px 6px #4C1F0A;
-moz-box-shadow: 0px 0px 0px 3px #3C7F1E, 0px 0px 0px 6px #4C1F0A;
box-shadow: 0px 0px 0px 3px #3C7F1E, 0px 0px 0px 6px #4C1F0A;
}