前端开发:网格布局--响应式

1.前言

通过前面两章网格布局介绍,知识深度很浅,心里有点不安。不能说对不起支持我的园友(我没有这么高尚),就是觉得应该进一步学习一下“时髦”的东东。

说到网页设计,恐怕不得不提响应式设计。本章我就尝试一下网格布局下的响应式设计。

2.分隔屏幕区间

参考bootstrap3.x栅格系统,展示区间分为四种:

  • 超小屏幕(手机) 小于768px
  • 小屏幕(平板)    大于或等于768px
  • 中等屏幕 (桌面显示器) 大于或等于992px
  • 大屏幕 (大桌面显示器) 大于或等1200px

这样的css代码设计:

注:你可以缩放浏览器窗口宽度,来体会背景颜色变化---测试。

3.预设布局

响应式区间,大致上我们已经分析好了。接下来,我们针对每一个区间内,来安排网页布局。

我们的文章主题是介绍网格布局的,所以我们先预设案例,本想拿博客园首页举例---很遗憾它不是响应式布局。

它只是流动布局,也就是两边固定宽度,中间自适应宽度。

当然博客园也有移动客户端,再说页面布局简洁,移动浏览器又支持缩放,所以浏览页面,客户体验差别影响也不大。

——————————————————————————————————————————————————

不管小屏幕为先也好,还是大屏幕设计优先也好,这取决于你如何展示,安排,尽量使得用户体验最好。

比如:

小屏幕设备浏览,菜单折叠起来。广告内容影响流量费不说,花花绿绿充斥那么小的屏幕上,我是觉得蛋疼,反感的,当然排除广告收益要求哦。

大屏幕是不是也要采用流动布局充斥整个屏幕,这个嘛,最好不要,限制一定宽度范围内比较。

等等问题思考,选择,是一件智者见智的事情,我可没叫大家完全听我的。

哎,我的喜好先从中等屏幕设计开始,下面预计布局:

这个也确定基本网格,三行三列(行和列之间空隙间距,不需要网格的)

其html代码:

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="utf-8" />
    <title>响应式布局</title>
    <link href="Styles/Site.css" rel="stylesheet" />
</head>
<body>
    <div id="g">
        <div id="g1">头部</div>
        <div id="g2"></div>
        <div id="g3"></div>
        <div id="g4">左边</div>
        <div id="g5">中间</div>
        <div id="g6">右边</div>
        <div id="g7">底部</div>
        <div id="g8"></div>
        <div id="g9"></div>
    </div>
</body>
</html>

参考预设布局,中等屏幕 css代码:

@media (min-width: 992px) and (max-width: 1199px) {
    #g {
        display: -ms-grid;
        -ms-grid-columns: 160px 1fr 320px; /*三列 1fr指占用剩余100%,以便自适应宽度*/
        -ms-grid-rows: 60px 300px 80px;
    }

    #g1 {
        -ms-grid-column: 1;
        -ms-grid-row: 1;
        -ms-grid-column-span: 3;
        background-color: #000000;
        color:white;
    }

    #g2 {
        -ms-grid-column: 2;
        -ms-grid-row: 1;
    }

    #g3 {
        -ms-grid-column: 3;
        -ms-grid-row: 1;
    }

    #g4 {
        -ms-grid-column: 1;
        -ms-grid-row: 2;
        background-color: #ed7d31;
    }

    #g5 {
        -ms-grid-column: 2;
        -ms-grid-row: 2;
        background-color: #5a9bd5;
    }

    #g6 {
        -ms-grid-column: 3;
        -ms-grid-row: 2;
        background-color: #70ad46;
    }

    #g7 {
        -ms-grid-column: 1;
        -ms-grid-row: 3;
        -ms-grid-column-span: 3;
        background-color: #fec72e;
    }

    #g8 {
        -ms-grid-column: 2;
        -ms-grid-row: 3;
    }

    #g9 {
        -ms-grid-column: 2;
        -ms-grid-row: 3;
    }
}

其效果:

OK! 其它区间代码,我就不演示了。

比如“小屏幕(平板)  大于或等于768px”布局时,中间和右边由并排改为上下布局。

“超小屏幕(手机) 小于768px”布局时,直接display:none 右边块。

关于伸缩块和折叠菜单功能,需要js来写。这在我以后文章中再说了。

4.小结

本章是抛砖引玉开个头而已了,我也发现一些没有内部元素的div块,不应该是出现在html代码中,这个容我再学习之后,再补充纠正了。

另外我也决定用less来写css,做一个简易网格布局系统,有共同兴趣的,欢迎交流。

欢迎加入QQ群:290576772

时间: 2024-10-08 21:14:58

前端开发:网格布局--响应式的相关文章

身为现代前端人员,不懂响应式怎么行?

响应式网页的话题随着如今移动互联网的盛行又被推到了很重要的位置,有相关人士预计,移动互联网的数据流量将在2015年超越桌面端的流量. 你一定听说过,我们目前正处在"后PC时代",这对于前端开发人员来说,意味着应该处理一些用户行为上的改变,由此步入一个响应式与自适应设计技术统治的时代.这其中的关键点在于web的统一化,也就是说在合理的条件下,无论用户使用任何设备,都应该传达相同的内容信息与服务. What? 2010年,Ethan Marcotte提出了"自适应网页设计&quo

神奇的jQuery插件:动态布局响应式插件-Freetile.js

今天我们这里再介绍一款相当不错的响应式布局插件 - Freetile.js,使用它同样可以生成超酷的动态布局效果.相信大家一定会喜欢! 主要特性 Freetie来自于Assemblage和 Assemblage Plus的内建布局引擎,设计灵感来自于Masonry,VGrid和Wookmark,但是和他们相比较,拥有以下独特的地方: 允许包含任何尺寸的元素,并且不要求一个固定的列宽度,因此你不需要指定列宽度来迎合你的元素大小 内建算法允许你很容易的自定义插入的位置,满足不同喜好的展示方式.例如,

前端知识解惑: 响应式 兼容性 不错的知识链接

1.设备像素(device pixel) 指的是设备中使用的物理像素. iphone5 640x1136px 2.css像素(css pixel) 逻辑像素   px:相对单位,相对的是设备像素(device pixel),所以相同的值在不同的屏幕上的大小是不同的哦. 3.Retina视网膜屏幕    ppi > 320 4.ppi:每英寸像素,每英寸所拥有的像素数目. 低密度 中密度 高密度 超高密度: ppi > 320:retina 视网膜屏 5.设备像素比:device pixel r

flex布局 响应式布局 过渡 动画

Z-index <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>z-index</title> <style type="text/css"> .box{ <!-- 辅助子级进行绝对定位 --> position:relative; width:400px; height:400px; backg

网页布局——响应式布局

响应式布局是一个网站能够兼容多个终端---而不是为每个终端做一个特定的版本 @media all(用于所有的设备) || screen (用于电脑屏幕,平板电脑,智能手机等)  and|not|only(三个关键字可以选) 1 <head> 2 <style media="screen"> 3 @media screen and (max-width:600px){ 4 .con{ 5 background:red; 6 } 7 } 8 @media scree

浅谈web前端开发

有部分同学和朋友问到过我相关问题.利用周末我就浅浅地谈谈我对web前端开发的理解和体会,仅仅能浅浅谈谈,高手请自己主动跳过本篇文章. 毕竟我如今经验并非非常足,连project师都算不上,更不用说大牛了.今天也不谈技术.技术非常多人比我掌握得更好,也大同小异.可是每一个人的理解体会是不一样的. 对前端开发的三个整体理解和体会 我对前端开发的整体体会有三: 第一:杂而难,难度甚至超过了一般的后台开发,假设有人认为前端开发简单仅仅能说明他还没有入门. 第二:web前端开发正在向响应式和移动端方向大步

前端框架bootstrap(响应式布局)入门

Bootstrap,是基于HTML,CSS.javascript的前端框架 该框架已经预定义了一套CSS样式和与样式相对应的js代码(对应的样式有对应的特效.) 开发人员只需要编写HTML结构,添加bootstrap固定的class样式,就可以轻松完成指定效果的实现. 作用: 1.Bootstrap使得Web开发更加快捷,高效 2.Bootstrap支持响应式开发,解决了移动互联网前端开发问题. 简单介绍一下: 该框架是Twitter公司的设计师Mark Otto和jacob Thornton

响应式布局---2. Bootstrap前端开发框架

1.1 介绍 Bootstrap来自Twitter,是目前最受欢迎的前端框架.Bootstrap是基于HTML.CSS和JAVASCRIPT的,它简洁灵活,使得web开发更加快捷. 中文官网:http://www.bootcss.com/ 官网:http://getbootstrap.com/ 推荐使用:https://v3.bootcss.com/ 1.2 使用 控制权在框架本身,使用者要按照框架所规定的某种规范进行开发 Bootstrap使用四部曲: 1.2.1 创建文件夹结构 在https

响应式布局的开发基础

第一:正确理解响应式布局 响应式网页设计就是一个网站能够兼容多个终端-而不是为每个终端做一个特定的版本.打个比方来说:现在社会有很多响应产品,例如折叠沙发,折叠床等等,当我们需要把沙发放到一个角落的时候,此刻沙发就好比div吧,而角落里的某个地方就好比父元素,由于父元素空间的改变,我们不得不调整div,让它能够依然放在角落里.在项目中你会遇到不同的终端,由于终端分辨率不同,所以你要想让用户体验更好,就必要让你的页面能够兼容多个终端. 第二:响应式设计的步骤 了解了什么是响应式,那么接下来我们就要