html5+css3+jquery完成响应式布局

响应式布局,流体布局,自适应布局,静态布局等等,这是移动设备的飞速发展,前端人员不得不跟上潮流的一个方向。实际上各种设备尺寸,分辨率大都不同,真的适应各种设备依旧是不现实的,首先是浏览器差异化,让我们去hack,现在是终端问题,让我展现出不同的设备不同的样式,折腾来折腾去,终于我们走进了热火朝天的响应式布局,自适应只能算是响应式布局的一个子集吧,对于流体个栅格后面会再次提到,有兴趣可以关注。

首先讲讲实现原理吧,css3的媒体查询功能的确帮了我们很大一个忙,@media query,它的出现也带出了响应式布局的一连串东西,经典的是来自国外伟人的布局这里就不多阐述,我待会儿会提出一个实际的例子,本人测试过有效。@media query它可以检查我们的设备的分辨率,但是我们往往是设置一个区间,这样一个区间一个区间的去布局代码,让我们在手机端打开是一个效果,pc端一个效果,平板一种样式。

注意一点,手机网站不等于在手机端打开网页,这是两个不同的概念。手机网站我一直是使用jquery mobile 实现的前端设计,话不多说看代码:

html:

<div class="navBox">
    <div class="nav">
        <ul>
        <li class="current"><a href="#" target="_blank">首页<small>home</small></a></li>
        <li><a href="#" target="_blank">电影<small>movie</small></a></li>
        <li><a href="#" target="_blank">电视剧<small>tv play</small></a></li>
        <li><a href="#" target="_blank">动漫<small>comic</small></a></li>
        <li><a href="#" target="_blank">综艺<small>variety</small></a></li>
        <li><a href="#" target="_blank">纪录片<small>documentary</small></a></li>
        <li><a href="#" target="_blank">公开课<small>public resourse</small></a></li>
        </ul>
        <!--match IE9,IE10 or not ie-->
        <!--[if (get IE 8) | ! (IE)]><!-->
        <h1 class="title"><a href="#">腾讯视频</a><span class="btn"><img src="image/btn.png" width="34" height="34" alt=""/></span></h1>
        <!--<![endif]-->
    </div>

这里识别了一次ie,但是我并没有设置其IE6-8的样式,就测试玩玩。

css:

@charset "utf-8";
/* CSS Document */
*{
    padding:0px;
    margin:0px;
    border:0px;
}
.navBox {
    width:100%;
    height:40px;
    background:#333;
}
.nav{
    margin:0 auto;
    border:0px solid #ccc;
}
.nav ul {
    list-style:none;
    width:auto;
}
.nav ul li {
    height:40px;
    text-align:center;
}
.nav ul li a {
    display:block;
    font-size:16px;
    text-decoration:none;
    line-height:39px;
    color:rgba(103,204,247,1.00);
}
@media screen and (min-width: 1000px) {
.nav{
    width:1000px;
    height:40px;
}
.nav ul li {
    float:left;
    width:auto;
    min-width:120px;
    margin-left:10px;
}
.nav ul li.current {
    background:#f60;
}
.nav ul li:hover a {
    background-color:#f60;
}
.nav ul li.current:hover a {
    color:#fff;
}
.nav .title {
    display:none;
}
}
@media screen and (min-width: 640px) and (max-width: 1000px) {
.nav {
    width:auto;
    height:40px;
}
.nav ul li {
    float:left;
    width:14%;
    min-width:80px;
    font-size:12px;
    line-height:20px;
}
.nav ul li.current {
    background-color:#f60;
}
.nav ul li:hover a {
    background-color:#f60;
}
.nav ul li.current:hover a {
    color:#fff;
}
small {
    display:none;
}
.nav .title {
    display:none;
}
}
@media screen and (max-width: 640px) {
    .navBox {
        height:auto;
        background:#444;
    }
    .nav {
        width:auto;
        height:auto;
    }
    .nav ul {
        position:relative;
        display:none;
    }
    .nav ul li {
        width:100%;
        min-width:100px;
        background:#333;
    }
    .nav ul li a:active,
    .nav ul li a:hover {
        background-color:#f60;
        transition:all ease-in 0.3s;
    }
    .nav ul li.current{
        background-color:#f60;
    }
    .nav .title {
        position:relative;
        width:100%;
        height:40px;
        border-top:1px solid #444;
        background:#333;
        text-align:center;
        letter-spacing:1px;
        font-size:24px;
        line-height:40px;
    }
    .nav .title a {
        color:#f60;
        text-decoration:none;
    }
    .nav .title .btn {
        position:absolute;
        right:10px;
        top:0px;
        width:34px;
        cursor:pointer;
    }
    }

我把屏幕区间设置成三个不同的区间,@media screen and (min-width: 1000px){//放置像素1000+屏幕的css样式渲染网页,这里是做的导航菜单}

@media screen and (min-width: 640px) and (max-width: 1000px){//这里放置屏幕像素640到1000的css样式}

@media screen and (max-width: 400px) {//这里放置小于等于640像素的样式}

三个区间可以按照你的兴趣或者要求设置成不同的样式,不过大体样式建议相同,不然用户一打开了发现傻缺了,咋个不是这个网站了哇,于是果断关闭那就尴尬了。

jquery代码:

<script type="text/javascript">
$(document).ready(function (){
    $(".btn").on("click",function(){
        $(".nav").find("ul").slideToggle(400);
        });
})
</script>

脚本代码很简单了,我就简单不去分辨他在那个区间了,因为他只有在屏幕像素小于640像素的时候才会出现并且被看到,其他的情况我都将其display隐藏了,完成这一步就可以看到我点击旁边的缩放标签弹出UL标签,下滑上拉的效果,总体来说还是非常简单的,下面附上三张对应不同尺寸的效果图。

像素位于1000+的时候:

像素位于640到1000时:

像素小于640时:

点击下拉收起:

就完成了这次的导航响应式布局操作,后面还会分享更多内容,在这里我个人觉得dwcc2015+版本的软件对于前端来说有一定的好处,就是可以调整屏幕像素进行布局,当然了其中的bootstrap组件也可以完成相应的内容啦,而且还有精致的魔板提供给你,当然了纯属个人爱好,有兴趣的朋友可以下载去玩玩。

后面我还会分享更多,包括html5的canvas动画,和transform的关键帧动画,以实际例子来分享吧,也是自己在用的比如什么点水动画,地图效果。

新人一枚希望和大家一起学习交流啦。

时间: 2024-10-10 08:31:56

html5+css3+jquery完成响应式布局的相关文章

超棒的HTML5/CSS3单页面响应式模板(支持Bootstrap)

在线演示 使用Bootstrap实现的响应式单页面模板. 桌面效果: 移动设备效果: 阅读全文:超棒的HTML5/CSS3单页面响应式模板(支持Bootstrap) 超棒的HTML5/CSS3单页面响应式模板(支持Bootstrap)

Css3中的响应式布局的应用

Media Queries直译过来就是“媒体查询”,在我们平时的Web页面中head部分常看到这样的一段代码: <link href="css/reset.css" rel="stylesheet" type="text/css" media="screen" /> <link href="css/style.css" rel="stylesheet" type=&qu

java springmvc +spring+ mybaits 模块化开发框架 HTML5+css3.0+bootstrap响应式开发界面

需要源码,请加QQ:858-048-581 系统模块 1.   权限管理:点开二级菜单进入三级菜单显示 角色(基础权限)和按钮权限 角色(基础权限): 分角色组和角色,独立分配菜单权限和增删改查权限. 按钮权限: 给角色分配按钮权限. 2.   按钮管理:自定义按钮管理,维护按钮权限标识等 3.   菜单管理:无限级别自定义菜单,自定义菜单图标,业务菜单和系统菜单分离,菜单状态显示隐藏(递归处理) 4.   数据字典:无限级别,支持多级别无限分类.内设编号,排序等 5.   组织机构:无限级别,

CSS3 媒体查询响应式布局

在这个以手机.平板和电脑为中心的互联网时代.为了提高用户体验度,让页面适应不同屏幕的分辨率成了我们写页面时最至关重要的问题.CSS3中的媒体查询功能很好的帮我们解决了这一问题,它可以根据屏幕的大小进行上扩和下扩呈现给用户一个可用的界面. 刚开始接触媒体查询这个功能,我一边感慨它的强大,一边焦虑着我应该怎么去用它呢?首先我们得对它进行一个详细的认识和了解. 媒体查询就是通过不同的媒体类型和条件定义样式表的规则.可以让CSS更精确的作用于不同的媒体类型和同一媒体的不同条件.媒体查询的大部分媒体特性都

html5晋级之路-响应式布局基本实现

1.css中的Media Query(媒介查询): 设备宽高: device-width,device-height 渲染窗口的宽和高:width,height 设备手持方向:orientation 设备的分辨率:resolution 2.使用方法: 外联 内嵌样式 <!doctype html><html><head><meta charset="UTF-8"><title>js事件测试</title><l

html5 + css3 + jQuery + 响应式布局设计

1. [代码][HTML]代码     <!DOCTYPE html><html dir="ltr" lang="zh-CN"><head><meta charset="utf-8" /><title>html5 - 新增属性与技术总结 - by sole</title><meta name="keywords" content="html

自适应屏幕的jQuery响应式布局网站特效代码

jQuery响应式图片九宫格布局点击图片查看大图效果代码 jquery响应式布局_宽屏响应式焦点图片动画轮播代码 css3绘图制作css3响应式组织架构图形代码 jQuery css3图片翻转响应式布局翻转图片筛选器代码 jquery html5响应式幻灯片插件网站响应式全屏幻灯片轮播代码 jQuery响应式焦点图插件制作响应式全屏焦点图切换代码 jQuery html5全屏响应式幻灯片制作触屏手机幻灯片代码 jQuery图片响应式布局点击弹出图片响应式幻灯片代码 jquery 3d响应式幻灯片

响应式布局的理解与认知

随着互联网的快速发展,HTML5迅速崛起,响应式布局也慢慢的被广泛的运用起来,身为Web前端人员,我觉得必须要掌握“响应式布局”. 响应式布局,简单点说就是做一个网站而能多终端多平台运行的由一个网站转化为多个网站,为我们大大节省了资源. 那么响应式布局有什么优缺点呢? 优点:1.响应式布局面对不同的分辨率设备灵活性强. 2.能够快捷解决多设备显示适应问题. 缺点: 1.兼容各种设备工作量大,效率低下.   2.代码累赘,会出现隐藏无用的元素,加载时间加长.   3.其实这是一种折衷性质的设计解决

对响应式布局的理解和认知

随着互联网的快速发展,HTML5迅速崛起,响应式布局也慢慢的被广泛的运用起来,身为之后的Web前端人员,我觉得应该要掌握"响应式布局". 响应式布局,简单点说就是做一个网站而能多终端多平台运行的由一个网站转化为多个网站,为我们大大节省了资源. 那么响应式布局有什么优缺点呢?优点: 1.响应式布局面对不同的分辨率设备灵活性强. 2.能够快捷解决多设备显示适应问题.缺点: 1.兼容各种设备工作量大,效率低下.  2.代码累赘,会出现隐藏无用的元素,加载时间加长.  3.其实这是一种折衷性质