| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1432 人关注过本帖
标题:响应式网站案例及源码
只看楼主 加入收藏
elsyyzh
Rank: 1
来 自:湖北黄冈
等 级:新手上路
帖 子:29
专家分:0
注 册:2015-11-9
结帖率:0
收藏
 问题点数:0 回复次数:0 
响应式网站案例及源码
响应式网站:

          响应式Web设计(Responsive Web design)的理念是:页面的设计与开发应当根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行相应的响应和调整。具体的实践方式由多方面组成,包括弹性网格和布局、图片、CSS media query的使用等。无论用户正在使用笔记本还是iPad,我们的页面都应该能够自动切换分辨率、图片尺寸及相关脚本功能等,以适应不同设备;换句话说,页面应该有能力去自动响应用户的设备环境。响应式网页设计就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。这样,我们就可以不必为不断到来的新设备做专门的版本设计和开发了。

        

一切弹性化:

        我们通过响应式的设计和开发思路让页面更加"弹性"了。图片的尺寸可以被自动调整,页面布局再不会被破坏。虽然永远没有最完美的解决方案,但它给了我们更多选择。无论用户切换设备的屏幕定向方式,还是从台式机屏幕转到iPad上浏览,页面都会真正的富有弹性。通过液态网格和液态图片技术,并且在正确的地方使用了正确的HTML标记。

响应式图片:

            响应式图片技术思想:不仅要同比的缩放图片,还要在小设备上降低图片自身的分辨率。这个技术的实现需要使用几个相关文件,我们可以在Github上获取。包括一个JavaScript文件(rwd-images.js),一个.htaccess文件,以及一些范例资源文件。大致的原理是,rwd-images.js会检测当前设备的屏幕分辨率,如果是大屏幕设备,则向页面head部分中添加BASE标记,并将后续的图片、脚本和样式表加载请求定向到一个虚拟路径"/rwd-router"。当这些请求到达服务器端,.htacces文件会决定这些请求所需要的是原始图片还是小尺寸的"响应式图片",并进行相应的反馈输出。对于小屏幕的移动设备,原始尺寸的大图片永远不会被用到。







源代码:


<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>无标题文档</title>

<style type="text/css">

*{margin:0; padding:0}

body{background:url(img/bj.jpg) no-repeat fixed; background-size:cover;}

#nav #logo{background:rgba(255,255,255,0.3) url("img/logo.png")center no-repeat; width:80px; height:80px; display:block; position:absolute; top:0px; left:50px; border:2px solid #FFF; border-radius:40px; z-index:999;}


#nav #ring a:nth-child(1){background:rgba(255,255,255,1) url("img/1_28.png")top no-repeat;}

#nav #ring a:nth-child(2){background:rgba(255,255,255,1) url("img/1_29.png")top no-repeat;}

#nav #ring a:nth-child(3){background:rgba(255,255,255,1) url("img/1_30.png")top no-repeat;}

#nav #ring a:nth-child(4){background:rgba(255,255,255,1) url("img/1_31.png")top no-repeat;}

#nav #ring a:nth-child(5){background:rgba(255,255,255,1) url("img/1_32.png")top no-repeat;}

#nav #ring a:nth-child(6){background:rgba(255,255,255,1) url("img/1_33.png")top no-repeat;}

#nav #ring a:nth-child(7){background:rgba(255,255,255,1) url("img/1_34.png")top no-repeat;}

#nav #ring a:nth-child(8){background:rgba(255,255,255,1) url("img/1_35.png")top no-repeat;}


@media  screen and (min-width:880px){


#nav{width:100%; height:70px;}

#nav #logo{position:absolute; top:0px; left:50px;}

#nav #ring{width:860px; height:70px; background:#FFF; position:relative; margin:0px auto;}

#nav #ring a{display:inline-block;/*行内快级元素 并排展示*/ width:100px; height:40px; margin:15px 0px;}

}

@media  screen and (max-width:880px){

#nav{width:256px; height:256px; border-radius:50%; position:fixed; bottom:10px; left:10px;}

#nav #ring{width:256px; height:256px; background:rgba(0,0,0,0.4); position:relative; margin:0px auto; border-radius:50%;}

#nav #logo{position:absolute; bottom:10px; left:10px; top:0px; right:0px; margin:auto;}

#nav #ring{transform:scale(0.1) rotate(-270deg);/*将8小盒子缩小为0.1倍,同时改变角度为-270*/ opacity:0; transition:all 500ms ease-out;/*过渡 将改变的元素变化过程所发生时间变长*/}

#nav #ring a{ display:block; width:40px; height:40px; border-radius:20px; position:absolute;/*按照圆排列*/ margin-left:-20px; margin-top:-20px;}

#nav:hover #ring{ transform:scale(1) rotate(360deg); opacity:1;}

}

</style>



</head>



<body>

<div id="nav">

    <a href="http://www.baidu.com" id="logo"></a>

        <div id="ring">

        <a href="http://www.baidu.com" class="menuico"></a>

            <a href="http://www.baidu.com" class="menuico"></a>

            <a href="http://www.baidu.com" class="menuico"></a>

            <a href="http://www.baidu.com" class="menuico"></a>

            <a href="http://www.baidu.com" class="menuico"></a>

            <a href="http://www.baidu.com" class="menuico"></a>

            <a href="http://www.baidu.com" class="menuico"></a>

            <a href="http://www.baidu.com" class="menuico"></a>

        

        </div>

    </div>

    <script type="text/javascript">

var ico=document.querySelectorAll('.menuico');

for(var i=0,l=ico.length; i<l; i++){

ico[i].style.left=(50 - 35*Math.cos(-0.5*Math.PI-2*(1/l)*i*Math.PI)).toFixed(4)+"%";

ico[i].style.top=(50+35*Math.sin(-0.5*Math.PI-2*(1/l)*i*Math.PI)).toFixed(4)+"%";

}

</script>

</body>

</html>
搜索更多相关主题的帖子: 网页设计 笔记本 design 分辨率 media 
2015-11-24 14:09
快速回复:响应式网站案例及源码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018428 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved