前端|手风琴--抽屉式网页特效
问题描述
我们在浏览网页时或者翻转页面时,经常会看到很多精美的效果的效果。其中,抽屉式网页效果比较常见,它主要由图片和文字通过添加js来实现。抽屉式网页通过移动鼠标来实现页面的切换,通过改变文字和图片而展现不同的界面,它非常实用而且实现简单。
解决方案
制作抽屉式页面时,主要会用到HTML,CSS和JavaScript。
(1)通过div来规定主要内容部分占据的大小,并通过CSS来修正。
(2)使用overflow标签,使得多余的图片部分隐藏。
(3)通过js来实现图片的移动。
制作过程:
(1)为网页添加背景图片,并定义一个容器wrap来规定网页主要内容的大小和它占据的位置,如图1所示。
<div id="wrap">
</div>
*{
margin: 0;
padding: 0;
}
body{
background: url(img/sfq4.jpg) center top no-repeat;
}
#wrap{
width: 1090px;
height: 429px;
margin: 150px auto;
border: 1px solid red;
}
图1
(2)在wrap里面添加ul列表,在列表中添加主要内容的图片和文字,并为之设置CSS效果。使用overflow属性规定当内容溢出元素框时发生的事情。在这里可以使用overflow:hidden,它一般用在固定宽高的div里面,目的是隐藏溢出使内部元素高度即使超过父元素也能够被隐藏;此外,overflow:hidden另一个流行的用途是用在没有宽高的div里,其目的是清除浮动。
<div id="wrap">
<ul>
<li style="background-image: url(img/手风琴5.jpg);">
<div>
<p>我的个人浪漫之旅 || 美丽之约</p>
</div>
</li>
<li style="background-image: url(img/sfq1.jpg);">
<div>
<p>我的个人浪漫之旅 || 美丽之约</p>
</div>
</li>
<li style="background-image: url(img/sfq6.jpg);">
<div>
<p>我的个人浪漫之旅 || 美丽之约</p>
</div>
</li>
<li style="background-image: url(img/sfq2.jpg); width: 789px;">
<div>
<p>我的个人浪漫之旅 || 美丽之约</p>
</div>
</li>
</ul>
</div>
#wrap{
width: 1090px;
height: 429px;
margin: 150px auto;
overflow: hidden;//保障图片在随鼠标移动时不会发生错位
}
#wrap ul{
width: 120%;
}
#wrap ul li{
list-style: none;
width: 100px;
height: 429px;
float: left;
}
#wrap ul li .txt{
width: 100px;
height: 429px;
background: rgba(0,0,0,0.5);
overflow: hidden;
}
#wrap ul li p{
padding: 0.5px 42px;
background: rgba(0,0,0,0.5);
color: white;
font-family: "楷体";
font-size: 14px;
}
为了使图片和文字在同一水平面上,用float属性来清除浮动,并且用rgba属性来为文字改变颜色和透明度。rgba是代表Red(红色) Green(绿色) Blue(蓝色)和 Alpha(不透明度)三个单词的缩写,颜色值取0至250;透明度取值在0到1之间,数值越小则越透明。
(3)引入jquery文件,并添加js效果。
<script src="shoufq.js" type="text/javascript" charset="utf-8"></script>
<script src="jquery-1.12.1.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$('@wrap ul li').hover(function(){
$(this).stop().animate({
width : '789px'
},500).siblings().stop().animate({
width : '100px'
},500);
});
</script>
添加的js代码中,$('@wrap ul li').hover表示鼠标移上图片时,被选中的图片宽度变为789px,用时500毫秒。其他的图片则用siblings来表示,它们的宽度在鼠标移上时变为100px,用时也是500毫秒。
效果图:
图2
图3
本篇文章是通过网上视频教学来完成的,在其中加入了我自己认为的重点和理解,如有错误还请指正。
END
实习主编 | 王楠岚
责 编 | 江南沐雪
- 微信最新自定义菜单事件
- 微信JSSDK分享到朋友圈和朋友自定义内容功能实现
- 无线安全渗透测试套件WiFi-Pumpkin新版本发布
- Java使用QQ邮箱给其他邮箱发邮件
- 从wireshark抓包开始学习https
- 用于时间序列预测的Python环境
- Pandoc安装实现Markdown转PDF (CentOS6)
- String类replaceAll方法正则替换深入分析
- 微信硬件平台对接--蓝牙
- 初试git+github(linux环境)
- Raspberry PI Nginx 安装
- 微信支付-Java-SpringMVC基础一些代码支持
- 使用Kafka的High Level Consumer
- 微信公众号发送模板消息 Java实现。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- spring之通过注解方式配置Bean(二)
- 【python-leetcode103-树的宽度遍历】二叉树的锯齿形层次遍历
- 图卷积网络(GCN)python实现
- hadoop伪分布式之配置yarn并运行MR程序(WordCount)
- 【python-leetcode637-树的宽度遍历】二叉树的层平均值
- graphSAGE的python实现
- 【python-leetcode111-树的宽度遍历】二叉树的最小深度
- 基于TypeScript封装Axios笔记(四)
- spring之泛型依赖注入
- 【python-leetcode113-树的深度遍历】路径总和Ⅱ
- spring之为什么要使用AOP(面向切面编程)?
- useContext更佳实践
- 【论文笔记】张航和李沐等提出:ResNeSt: Split-Attention Networks(ResNet改进版本)
- [前端]GOFLY项目-响应式登录页的设计和实现
- [GO] golang练习项目-gorm与mysql的增删查改操作