学习响应式设计笔记


                       [email protected]

1.?问题背景?

为不同分辨率的设备提供不同的网页,曾经的手机端与PC端分别维护一份代码,显得罗嗦,维护难,功能可能不统一等等。 只用一份代码,就可以在不同的设备上获得很好的显示效果。

  • 每个设备都得到正确的设计
  • 更少的工作
  • 搜索优化 曾经手机端和PC端是两个不同的网站,容易使用户迷惑。

2.?什么是响应式设计和自适应设计有什么不同?

  • 自适应(Adaptive)是元素位置变化 。
  • 响应式(Responsive)是在不同大小的视口下(viewpoint)元素的位置、大小、都变化。
  • 流式(liquid ) 元素的宽度按照屏幕调整。

3.?如何创建响应式网站

  • HTML

    • viewpoint 属性

      什么是视口?浏览器里去掉菜单、工具栏、浏览器自身的其他部件。简单的说就是中间的最大的窗口。 未设置viewpoint属性的网页在桌面显示器上是以全尺寸的方式渲染的。

      <meta charset="utf-8">指明字符集 和语言 lang

      <meta name="viewpiont" content="width=device-width,initial-scale=1">其中width=“device-width”高速浏览器以全尺寸渲染模式。initial-scale指明按照width的属性的宽度进行渲染,不放大也不缩小。user-scaleable=no使用户不可缩放。 maximum-scale=2指定最大缩放比。

    • 语义化结构标签

      WAI-ARIA, 是Web Accessibility Initiative - Accessible Rich Internet Applications 的缩写,指无障碍网页应用技术。

      <header> <nav> <footer><section><aside>

      <header>应包含介绍性和导航性的辅助内容如logo、搜索功能和主导航栏。对应的WAI-ARIA属性是banner 。

      • 用例:<header role="banner"></header> <nav>通常放在header标签内。对应的WAI-ARIA属性是navigation。
      • 用例:<nav role="navigation"></nav> <footer>应包含版权信息,页面相关信息,相关材料连接。对应的WAI-ARIA属性是contentinfo。
      • 用例:<footer role="contentinfo"></footer> <article>网页上一块独立的内容。可能是一篇报纸、博客、帖子,这种类型的内容可以通过内容聚合来分发订阅(RSS)。没有WAI-ARIA属性。
      • 用例:<article ></article> <aside>网站或者整个页面相关的,如果嵌套在article中,则是文章相关的内容。对应的WAI-ARIA属性是complementary。

        IE支持:使用腻子(ployfill)或利刃(shiv)脚本。在站点的head标签内使用条件注释(conditional comment)连接它。

        • <!--[if lt IE 9] > <script scr="files/html5shiv.js> </script> <! [endif]--> 网站标题使用h1,内容标题使用h2 ;导航的设计习惯是放入ul中。
  • CSS

    • CSS的工作方式:后代选择器 .classname p {} 类选择器 ID选择器 元素选择器 内联(在style属性中书写的) 独立规则 h1,h2{} 重要规则(!important) 伪类选择器(:afer :before)
    • 浏览器前缀,使用不同渲染引擎独有的属性,最好使用autoprefix来写。用例:连字符属性p{-webkit-hyphens:auto; -moz-hyphens:auto;-ms-hyphens:atuo; hyphens:auto }为什么最后面要加hyphens,如果支持最后一个,则忽略前面的属性设置。 继承规则:盒子模式的margin padding border 不会子元素继承。

    盒子模型:

    • 显示效果:行内元素:无法设置高度,使用line-height来控制高度;text-indent 来控制缩进。块元素;列表项元素(list-item) 列表项前面的符合(list-styletype:disc);
    • 盒子构成:margin padding border content 可以使用百分比来设置
    • 盒子的宽度:box-size属性 可取值为border-box或content-box
    • 盒子的居中效果: margin 0 auto; 此时宽度不能为100%否则观察不出效果。
    • 盒子的3D模型:

    浮动:可以是内容流环绕特定的元素。

    • 左浮动 右浮动:设置浮动后可以使块元素在末尾不换行
    • 清除浮动:
      1. 浮动元素后面接空div元素,div元素属性为clear:both
      2. 父元素+伪元素 .clear{zoom:1} .clear:after{ visibility:hidden;clear:both;content:“ ”display:none;height:0}
      3. 父元素 width:100% overflow:hidden
      4. 使用br

    定位:

    • 静态定位:默认的布局方式 ,从上到下,从左到右,先扫描,确保到了后面不会有阻隔的地方。
    • 相对定位:不脱离文档流,参照点为相对于在文档流的位置。使用了以后会有位置属性(top bottom left right)和z-index属性。
    • 绝对定位:脱离文档流,且内容随着容器的宽度增长而增长,除了层叠效果,不会对其他元素造成布局影响。使用了以后会有位置属性(top bottom left right)和z-index属性。
    • 固定定位:随着用户滚动鼠标位置也不变的。 CSS的组织方式:
      1. 按照页面组织
      2. 按照类型组织
    • 媒体查询 @media only screen and (min-width:40em) 解释:@media表示媒体查询 only 表示将后面{}内得到东西与当前语句视为同一条语句,旧时代浏览器会略过媒体查询而执行{}中的内容,加上only,如果不识别,则为完整的略过后面的{}中内容的执行。 screen表示检测的是屏幕,此属性还可以使print等。 and 表示逻辑与,还有or not等, (mid-width:40em)表示条件。
      • 在连接时使用媒体查询 <link rel="stylesheet" href="xx.css" media="only screen and (min-width:40em)">
      • 在sytle标签中使用<style media="only screen and (min-width:40em)"> 使用断点来进行设计: 
    • 相对单位 % em rem
      CSS使用规则: 先使用最低级的优先级。 优先级排名 重要规则>内联规则>ID>类>元素>*(通用元素)
  • 图像
    • 采用CSS的边框、阴影、渐变效果来代替图像。
    • 采用图标字体来代替图片
    • 使用css sprite来减少图片文件数量
    • 使用替代文本对搜索引擎和屏幕阅读器友好
    • 通过媒体查询来改变图像的大小,但更好的方案是根据不同的屏幕大小来获得不同分辨率的图像。srcset和picture标签都没有实现,但可以使用picturefill 腻子脚本
    • 服务器使用Adaptive image(在服务器传入一个大分辨率的图像,自动为其生成小分辨率的图像)
    • 防止图片超出父元素盒子max-width:100%;
    • background-img的居中对齐background-positon:center top;
  • 测试浏览器的媒体参数 mqtest.io

4.?经典设计流程

  • 内容策略—先用文本布局帮助理清结构,采用倒金字塔结构,确保用户最先看到的是重要内容:
  • 以文本方式进行设计的用途:先理清结构,对RSS和屏幕阅读器友好,再调节样式。
  • 默认的布局是从上到下的一块一块。
  • 从用户研究和内容策略入手,再以文本模式进行设计,然后从小屏幕开始绘制各断点草图和响应式原型,布局后进行渐进增强。为什么从小屏幕开始,小屏幕限制多,如果在小屏幕可以适配到,那么到大屏幕有更大的空间,布局更加自由一些。
  • 手机的巨大困扰 —快捷的获取到信息

    1. 屏幕小 触摸容易误触

      • 一个按键大小为35-45px 增大触摸目标
    2. 多点触摸式的手势识别
    3. 触摸时无悬停效果

5.?响应式网站的参照设计

  • 一行长度以45-75为宜,太小需要频繁换行,太长阅读起来吃力。
  • 默认字体大小一般为16px,设置行高来改变行内元素的高度。
  • 采用相对单位设计 em(可能会引起乘法效果) rem(相对于整篇的文字大小)
  • 导航的参照设计http://bradfrost.github.io/this-is-responsive/patterns.html  http://responsive-nav.com/

来自为知笔记(Wiz)

时间: 2024-11-07 01:35:25

学习响应式设计笔记的相关文章

学习响应式设计的15个优秀网页作品

响应式的网站是指它能够适应客户端的屏幕尺寸,自动响应客户端尺寸变化.响应式设计技术用于创建可在任何设备上进行查看,并可以从桌面电脑屏幕无缝切换到智能手机的网站制作技术.下面这篇文章分享的15个国外优秀网页作品可以帮助你更好的学习响应式设计. 您可能感兴趣的相关文章 15款帮助创建响应式布局的优秀前端框架 经典网页设计:无缝过渡的响应式设计案例 让你的网站瞬间变成响应式的3个简单步骤 经典网页设计:响应式设计的国外购物网站 推荐35个新鲜出炉的响应式 Web 设计实例 Christchurch H

学习响应式设计(Learning Responsive Web Design)完整版PDF

想要为平板.手机.笔记本.大屏幕设备,甚至可穿戴设备提供最优的用户体验?那就学习响应式设计吧.这是一本内容特别全面.讲解非常透彻的入门书.特别地,通过这本书不仅能迅速掌握响应式Web设计的基本原理,还能够从头到尾了解响应式设计的工作流程:从项目启动开始,到项目最终上线为止. 只要你的工作与创建.改造或者升级网站有关系,都应该看看这本书.换句话说,不仅是前端开发人员,设计师.产品经理.项目经理,甚至后端开发人员也可以通过本书掌握响应式设计的精髓所在.这本书基于响应式设计的前沿技术和社区经验写成,汇

html 之前学习响应式的笔记

响应式的设计,根据用户设备的不同,用户屏幕大小不同,提供不同的网页设计http://mediaqueri.es/PhoneGap 使用2,如何模拟手机设备chome 浏览器 在32以上设备检测用 device.js device.ipad(),device.mobile,device.portrait(), 检测设备是竖直的device. 检测设备是水平的device.iphone 检测设备是否是苹果手机device.android() 检测设备是否是安卓手机device.tablet() 检测

响应式设计笔记

关于加载查询的最佳方法,解决IE7,IE8的问题 Respond.js 宁浩网 480px 767px, 1024px, 1280px, 910px 章节1:课程介绍与基本概念 课时1课程介绍01:39 课时2响应式设计的真实例子02:33 课时3viewport - 可视窗口01:33 可视区域=窗口大小,页面大小,不一样的. 缩放的级别, <meta name="viewport" content="width=device-width, initial-scale

Ext JS 6学习文档-第8章-主题和响应式设计

主题和响应式设计 本章重点在 ExtJS 应用的主题和响应式设计.主要有以下几点内容: SASS 介绍和入门 主题 响应式设计 转载请注明出处:http://www.jeeboot.com/archives/1231.html SASS 介绍和入门 SASS (Syntactically Awesome Stylesheets) 是一个样式语言,当你使用 SASS 代替 CSS 来写样式,之后 SASS 将使用编译器编译成 CSS ,SASS 有更好的语法和一组特性使我们更容易编写样式.同时维护

想学习超流行的响应式设计?来看看这篇教程【转载】

网上关于响应式设计的教程好复杂,我写一个简版的. 简单说呢就针对不同的屏幕分辨率应用不同的CSS样式.比如在电脑.Pad设备上,屏幕比较宽,就可以一行放2个Div.到了手机上,或者Pad竖着拿的的时候,一行就只放1个Div. 这里有2个关键点: 一是如何在不修改Dom结构的前提下调整布局. 二是如何判断屏幕分辨率并应用对应的CSS. 以上两点都应该不依赖与JS. 实现第一点依靠的是流式布局.就是所有参与布局的DIV都用float:left,宽度都用百分比表示.比如下图,黄色部分的宽度是60%,橘

响应式设计(一)

一.响应式设计(一)响应式设计初识,一个小小的demo,用来理解什么是响应式 今天的一个小小的demo,让我重新的认识了什么是响应式网页设计.我之前一直以为主要一个网页在不同的设备上浏览,网页可以自适应设备的屏幕大小,而不发生结构变形. 其实我觉得更准确去说是:根据不同的用户设备环境,页面可以做出不同的响应动作, 例如:在pc端浏览一行图片,看到的个数是4个,用手机看到的是2个图片,不同用户的设备环境,做出了不同的响应动作. 二.百度百科给出的概念: 响应式Web设计(Responsive We

&lt;转&gt;CSS3 Media Queries 实现响应式设计

在 CSS2 中,你可以为不同的媒介设备(如屏幕.打印机)指定专用的样式表,而现在借助 CSS3 的 Media Queries 特性,可以更为有效的实现这个功能.你可以为媒介类型添加某些条件,检测设备并采用不同的样式表. 例如,你可以把用于大屏幕上显示的样式和用于移动设备的专用样式放在一个样式文档中,这样,在不改变文档内容的情况下,不同的设备可以呈现不同的界面外观.阅读这篇文章学习 CSS3 Media Queries 的基本功能和国外使用 CSS3 的 Media Queries 特性的优秀

如何说服客户使用响应式设计?

网页设计是一个时效性很强的行业,我们需要紧跟趋势潮流,不断学习.响应式设计就是这个时代最值得学习.时间的趋势. 网络术语真是越来越流行了,现在即便是客户,也略知一二,很多客户对设计的了解也不浅.那么怎么说服客户呢?下面我将讲一点和客户沟通的技巧,让客户接受响应式设计(相应的,工钱你懂的). 投其所好 在任何项目的开始阶段,都要明白.了解.分析客户的需求. 在满足客户预期的基础上,尽量让客户能够完全的理解你的设计. 你要知道客户想要什么.在你的大脑中转换成术语后,再用平易近人的语言讲出来. 例如,