trick:CSS 3+checkbox实现JQuery的6个基本动画效果

在JQuery中,有六个基本动画函数:show()/hide()、fadeIn()/fadeOut()、slideUp()/slideDown()。这篇文章,就利用CSS3+checkbox实现这六个基本动画。

show()/hide()的实现

show()/hide()的实现主要控制元素的display属性。
html:

<div id="box">
    <input type="checkbox" id="sh"/>
    <label for="sh">show/hide</label>
    <div id="shbox">
        点击上面的show/hide实现show()/hide()
    </div>
</div>

css:

#box{
    position:relative;
}
#box *:not(#shbox){
    display:inline-block;
}
input{
    position:absolute;
    left:-10000000px;
}
:checked~#shbox{
    display:none;
}
label{
    width:100px;
    height:30px;
    line-height:30px;
    text-align:center;
    border:1px solid green;
    position:absolute;
    left:0px;
    cursor:pointer;
    border-radius:5px;
}
#shbox{
    background:#ccc;
    color:red;
    width:200px;
    height:200px;
    border:1px solid blue;
    box-sizing:border-box;
    padding:50px;
    position:absolute;
    top:50px;
}

运行结果:https://jsfiddle.net/dwqs/1LykzL2f/1/embedded/result/

fadeIn()/fadeOut()的实现

fadeIn()/fadeOut()的实现主要是控制元素的opcity属性。html依旧采用上面的,修改css如下:

:checked~#shbox{
    opacity:0;
}

fadeIn()/fadeOut()可以控制渐显/渐退的速度,同样给#shbox添加transition属性可以模拟这个效果:

#shbox{
    transition:opacity 2s;
}

运行效果:https://jsfiddle.net/dwqs/2txfyr1e/embedded/result/

slideUp()/slideDown()的实现

slideUp()/slideDown()通过改变元素的高度来实现上卷和下拉。html依旧采用上面的,css修改如下:

:checked~#shbox{
    height:0px;
}
#shbox{
    background:#ccc;
    overflow-y:hidden;
    color:red;
    width:200px;
    height:200px;
    box-sizing:border-box;
    transition:all 2s;
    position:absolute;
    top:50px;
}

#shbox添加了 overflow-y:hidden,是为了连文本也实现隐藏,不然,#shbox里面的文本仍然会显示; transition实现一个过渡;同时去掉了border属性。
运行结果:https://jsfiddle.net/dwqs/xyu58nu8/3/embedded/result/

总结

  • 主要技巧是利用checkbox(或radio)的checked的属性
  • 对于常见隐藏元素的方法有如下五种:
    1. display:none; //不占空间
    2. height:0px;
    3. opacity:0;
    4. position:absolute;left:-11111111px;
    5. visibility:hidden; //占据空间
      张大大对这方面有更详细的解释:关于CSS隐藏元素的一些方法

原文链接:http://www.ido321.com/1560.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: HTML5、CSS3和JavaScript是现代Web开发中最重要的技术。HTML5是一种标记语言,用于创建Web页面的结构和内容。CSS3是一种样式表语言,用于控制Web页面的外观和布局。JavaScript是一种脚本语言,用于添加交互性和动态效果。这三种技术的结合使得Web开发更加灵活、响应式和富有创意性。 ### 回答2: HTML5、CSS3 和 JavaScript 是现代 Web 开发所必需的三种技术。它们分别负责网页的结构、样式和交互效果。 HTML5 是 HyperText Markup Language 的第五个版本,用于描述网页的结构和内容。它提供了许多新的标签,如 section、article、header、footer、nav 等,使文档的结构更清晰,更语义化。HTML5 还引入了许多新的 API,例如 canvas、video、audio、localStorage 等,增强了 Web 应用程序的功能。 CSS3 是 Cascading Style Sheets 的第三个版本,用于定义网页的样式和布局。它新增了许多属性和选择器,如 border-radius、box-shadow、transform、@media 等,使样式的实现更加高效、灵活。CSS3 还支持动画和过渡效果,可以让网页更加生动和富有动感。 JavaScript 是一种脚本语言,用于实现网页的交互效果和动态功能。它可以通过 DOM(Document Object Model)和 BOM(Browser Object Model)来操作文档和浏览器。JavaScript 还可以通过 Ajax 技术实现异步请求和局部更新,以提高网页的响应速度和用户体验。 综上所述,HTML5、CSS3 和 JavaScript 三者紧密结合,相互配合,能够实现丰富、动态、交互的 Web 应用程序。对于 Web 开发者来说,学习和掌握这三种技术是必须的,能够使开发效率和质量都有所提升。同时,Web 技术的不断发展也需要我们不断学习和跟进最新的技术,以保持技术的竞争力和应用的先进性。 ### 回答3: HTML5,CSS3和JavaScript是当今Web开发所需的核心基础技术。HTML5是WEB浏览器使用的主要标记语言之一,它的开发旨在优化互联网应用程序的交互性和功能性,进而增强用户体验。CSS3则扮演着设计和展现网页的角色,它提供了更加强大,更加美观的网页布局和样式设计能力。JavaScript是编写在客户端的脚本语言,它可用于在网页上创建丰富的交互效果,包括动态页面、表单校验、数据验证、动画等。 HTML5是WEB编程领域变革性的关键因素,它提供了许多新功能和标签,如地理位置、复合组件、多媒体元素、canvas等等。HTML5将同时支持不同等级的设备,如手机,平板电脑和桌面计算机,一次编写的完整代码将有更广泛的应用,大幅缩短开发周期,提高开发效率和准确性。 CSS3则具有更强大的样式和布局设计能力,可以创建更漂亮更具视觉效果,更简单的Web页面,例如,可以通过CSS3的阴影包装,转换,渐变和动画实现交互元素的设计。CSS3实现了响应式设计,自适应屏幕尺寸,依靠媒体查询、弹性盒组布局(Equal Columns Trick)、媒体查询和流式布局等方式实现。 JavaScript可以添加交互元素,包括动态页面、表单验证和数据验证,实现可视化效果等。它可以控制对象的行为和状态、创建动态内容和动画、数据的异步加载和更新等。JavaScript的应用非常广泛,也有很多优秀的技术和框架如JQuery,React和AngularJS等等来支持Web开发。JavaScript还实现了Web服务器与客户端之间的通讯,实现了AJAX,WebSockets等技术。 总之,HTML5,CSS3和JavaScript是当前Web开发所不可或缺的三大技术,他们都有各自的长处和优点。随着他们不断的发展和更新,Web前端技术也将不断演化。这样一来,Web开发成为一个不断创新,不断进步的领域,并将继续成为推动互联网发展水平提高的重要一环。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值