使用CSS3中的input标签与lable标签组合实现banner图的切换

  在做网页时,我们经常可以碰到banner图的切换。对于那些JS薄弱的同学来说,这就很尴尬了。今天,我来告诉大家如何使用CSS做出banner图切换的效果。

  这里,用到了lable标签与input的组合,首先先来了解下lable标签

    <label> 标签为 input 元素定义标签(label)。

    label 元素不会向用户呈现任何特殊的样式。不过,它为鼠标用户改善了可用性,因为如果用户点击 label 元素内的文本,则会切换到控件本身。

    <label> 标签的 for 属性应该等于相关元素的 id 元素,以便将它们捆绑起来。

  input标签有个checked属性,当lable属性绑定后,选中lable即可选中input标签

  首先,先做一个基本的HTML布局

<div class="main">
            <input type="radio" name="p" id="name1" class="set_page1"/>
            <input type="radio" name="p" id="name2" class="set_page2"/>
            <input type="radio" name="p" id="name3" class="set_page3"/>
            <input type="radio" name="p" id="name4" class="set_page4"/>
            <input type="radio" name="p" id="name5" class="set_page5"/>

            <!--lable中的for需要绑定对应的input的id-->
            <label for="name1" class="c1"></label>
            <label for="name2" class="c2"></label>
            <label for="name3" class="c3"></label>
            <label for="name4" class="c4"></label>
            <label for="name5" class="c5"></label>

            <div class="photo">
                <ul>
                    <li class="li1">
                        <img src="img/green-tea-cream-frappuccino-20151022185851.jpeg"/>
                    </li>
                    <li>
                        <img src="img/hot-caramel-macchiato-20151022185811.jpg"/>
                    </li>
                    <li>
                        <img src="img/hot-green-tea-latte-20160819155511.jpg"/>
                    </li>
                    <li>
                        <img src="img/Starbucks-Hazelnut-Latte-20150924183645.jpg"/>
                    </li>
                    <li>
                        <img src="img/starbucks-flatwhite-20151026112356.jpg"/>
                    </li>
                </ul>
            </div>
        </div>

for绑定input的ID实现lable与input的绑定

加以修饰

label{
    cursor: pointer;
    display: inline-block;
    opacity: 0.3;
    height: 70px;
    width: 70px;
    margin-top: 100px;
    background-color: red;
}
label:hover{
opacity: 1;
}
input{
display:none;
}
ul{
    list-style: none;
    padding: 0px;
    height: 365px;
    overflow: hidden;
    margin-left: 480px;
    position: relative;
}

.set_page1:checked ~.photo ul li:nth-child(1){
    position: absolute;
    top: 0px;
    z-index: 25;
}
.set_page2:checked ~.photo ul li:nth-child(2){
    position: absolute;
    top: 0;
    z-index: 22;
}
.set_page3:checked ~.photo ul li:nth-child(3){
    position: absolute;
    top: 0;
    z-index: 23;
}
.set_page4:checked ~.photo ul li:nth-child(4){
    position: absolute;
    top: 0;
    z-index: 24;
}

.set_page5:checked ~.photo ul li:nth-child(5){
    position: absolute;
    top: 0;
}

隐藏input,因为这里我们只需用到input的checked属性。选中lable时,与之绑定的Input也会处于checked状态,这样,我们只需利用checked属性加上伪类选择器。就可以实现banner图的切换。由于定位的原因,会使后面的图盖住前面的图,所以需要设置z-index使图片上去.

对lable稍加修饰,就可以拿去网页上用了,不用复杂的JS代码啦(ps:对lable修饰时,需要设置display:block属性)。

时间: 2024-11-03 01:36:01

使用CSS3中的input标签与lable标签组合实现banner图的切换的相关文章

jquery 中获取input指定name的标签对象

jquery 中获取input指定name的标签对象,用$("input[name^='?????']"); 这里name^='?????'中的 ^ 什么用? 表示name的值是以???开头的元素 比如$("input[name^='hi']")就会选择以下的元素<input type ="text" name ="hiworld" / > ^开头表示 name 以 ?????开头的 类似的还有$ 结尾* 包含!

css3中的部分属性

1.阴影box-shadow:x轴偏移量 y轴偏移量 [阴影模糊半径] [阴影扩展半径] [阴影颜色] [投影方式] 注意:inset(内阴影) 可以写在参数的第一个或最后一个,其它位置是无效的实例 正值表示在对象的底部,负值表示在对象的顶部. .boxshadow-outset{ width:100px; height:100px; box-shadow:4px 4px 6px blue,4px 4px 6px red inset; } .boxshadow-inset{ width:100p

css3中的变形(transform)、过渡(transtion)、动画(animation)

Transform字面上就是变形,改变的意思.在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix.下面我们一起来看看CSS3中transform的旋转rotate.扭曲skew.缩放scale和移动translate具体如何实现,老样子,我们就从transform的语法开始吧.是构成transtion和animation的基础. 语法: transform : none | <transform-func

CSS3中的media媒体查询

媒体查询多用于响应式网页中. 1.初始化设置: 在HTML文件中,网页顶部<head></head>标签中插入一句话: <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> 这句话在于对响应式网页做一个初始化设置,主要包括: name="viewport&quo

CSS3中的变形与动画【转】

最近在学习制作移动端的页面,做了一个微信页面的小demo,其中用到了很多的CSS3新增的内容,其中就有CSS3新增的变形和动画.其实这种CSS3的动画效果用JS也可以实现,不过CSS3能开启硬件加速,性能更好. (下面均没写浏览器前缀,如有需要请自行添加~~) CSS3常见的动画效果的实现,其实主要是靠 transition和 animation . 而通常,这两个又会和CSS3中的新属性transform 来搭配使用 那么这三个东西其实是干什么用的呢?我按我自己的理解来下个简单结论. tran

CSS3中的伪类概览,很实用的

CSS的目标,或者说是革命纲领就是:"将样式与内容分离",这个目标能否实现,很大程度上依赖于CSS访问内容的能力.在CSS3中,这个任务得到了有力支持,强大的结构伪类Structural pseudo-classes出现了.提供了非常丰富的查询方式,让CSS选择器变得如此和蔼可亲了.让我们来快速概览一下,同时期待着浏览器整体换代的来到,毕竟只有最新的浏览器才支持CSS3选择器及其他特性. 支持浏览器:Firefox 3.1+, IE8+ (only in IE8 standards m

媒体查询的应用以及在css3中的变革

CSS一直都支持设置与媒体相关联的样式表.它们可以适应不同媒体类型的显示.例如,文档在屏幕显示时使用sans-serif字体,在打印时则使用serif字体.screen和print是两种预定义的媒体类型. 在html4中,媒体样式表的写法是 <link rel="stylesheet" type="text/css" media="screen" href="sans-serif.css"> <link re

jQuery中的:input选择器

jQuery中的:input选择器 jQuery中的:input选择器包含input, textarea, select 和 button这些标签. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"&g

css3中定义required,focus,valid和invalid样式

css3中定义required,focus,valid和invalid样式 本文章来给大家介绍在css3定义required,focus,valid和invalid样式的方法,此方法目前只支持ie9+及ff,gg浏览器哦. css3 提示只适用于高级浏览器: Chrome Firefox Safari IE9+ valid.invalid.required的定义 代码如下 复制代码 input:required, input:valid , input:invalid{border:0 none