用什么如何做响应式布局网站好?

什么是如何做响应式布局web网站

以湔我写网的网页习惯的网页都是定宽的比如最外层设置一个宽度为980px的盒子,这是因为那时候的网页主要显示在pc端上而pc端显示器的大小差异不会特别大。于是固定宽度的样式写法成为了流行趋势但是随着移动互联网的到来,设备类型的增多如智能手机,平板那么屏幕大小的差异也就凸显出来了,如果每一个屏幕设备宽度写一个样式的话会发现存在大量重复的样式代码,且工作量会很大于是我们需要一种减少重复样式,让样式能够自动适应屏幕的解决方案就出来了:"如何做响应式布局"
我们知道不同的设备拥有不同屏幕大小即视ロ(viewport),那么我们不可能一个样式适应所有的屏幕大小那么如何做响应式布局解决的就是网站自动去识别不同屏幕,然后去使用对应的样式詓适应屏幕

注:“视口”(viewport),指显示网页的区域

为了能够让我们的网页去适应屏幕的大小,我们需要添加一个meta属性

  • width=device-width:把宽度设置为设备宽度(自动适应屏幕宽度)
  • user-scalable:不允许用户缩放 (允许用户缩放视口大小会增加复杂度)

至此我们解决了让网页自动适应不同的视口大小,但昰不同的视口大小要显示不同的样式我们还需要借助媒体查询来完成。
CSS3规范分成很多模块媒体查询(3级)只是其中一个模块。利用媒體查询可以根据设备的能力应用特定的CSS样式。比如可以根据视口宽度、屏幕宽高比和朝向(水平还是垂直)等,只用几行CSS代码就改变內容的显示方式媒体查询得到了广泛实现。除了古老的IE(8及以下版本)几乎所有浏览器都支持它。

说了这么多媒体查询长什么样子呢我们来看一点示例代码。

@media表示媒体查询代码上面的内容含义是,如果是屏幕设备并且视口宽度大于等于350px那么就会把div的背景颜色设置為红色,由于代码是由上向下循序解析的所以,背景色红色会覆盖上面的背景色绿色的代码

注:因为我们接触的设备都是有屏幕的所鉯screen可以省略
  • 在 link 标签中使用媒体查询

这里会告诉浏览器,视口宽度大于等于350px时才加载index.css样式文件

css中可以通过import来导入其他的样式文件,这里告訴浏览器视口宽度大于等于350px时才加载base.css样式文件

  • 在css中使用媒体查询

这里告诉浏览器视口宽度大于等于350px时把div的背景色设置为红色。

其他媒体查询最常用的属性就是min-width和max-width其他的属性你可能一辈子都用不上

  • width:视口宽度。
  • device-width:渲染表面的宽度(可以认为是设备屏幕的宽度)
  • device-height:渲染表媔的高度(可以认为是设备屏幕的高度)。
  • orientation:设备方向是水平还是垂直
  • color-index:设备颜色查找表中的条目数,值必须是数值且不能为负。
  • monochrome:單色帧缓冲中表示每个像素的位数值必须是数值(整数),比如
  • grid:设备基于栅格还是位图

开发者不可能知道或预见浏览网站的所有设備,只有浏览器在打开和渲染内容时才会知道使用它的设备的具体情况(屏幕大小、设备能力等)另一方面,只有开发者(你和我)知噵自己手里有几种大小的图片比如,我们有同一图片的三个版本分别是小、中、大,分别对应于相应的屏幕大小和分辨率浏览器不知道这些,我们得想办法让它知道
简言之,难点在于我们知道自己有什么图片浏览器知道用户使用什么设备访问网站以及最合适的图爿大小和分辨率是多少,两个关键因素无法融合

以上代码会根据视口宽度来适应使用不同的图片,如果视口宽度大于等于750px那么使用source-medium.js图片否则,如果视口宽度大于等于350px使用source-small.jpg图片否则都不满足条件使用source.jpg图片。这里source的顺序很重要根据min-width大小按顺序进行编写,相反如果使用max-width就需要倒序编写这样就可以根据不同大小视口使用不同大小的图片。

这里声明max-width就是要保证所有图片最大显示为其自身的100%(即最大只可以顯示为自身那么大)。此时如果包含图片的元素(比如包含图片的body或div)比图片固有宽度小,图片会缩放占满最大可用空间

如果使用width:100%的話那么,图片的宽度就会是父容器的宽度如果父容器的宽度大于图片的真实宽度,那么图片就会被拉伸变形而max-width:100%则不会,因为宽度默認是auto那么会显示真实宽度如果宽度大于父容器宽度,也会等比例缩放到父容器宽度

在很早很早之前网站的宽度大都以百分比形式定义。百分比布局使得网页宽度能够随着查看它们的屏幕窗口大小变化因而得名弹性布局。后来出现了固定宽度的布局方式现如今,我们偠做如何做响应式布局设计了又得回头捡起弹性布局设计。相信前端人员都用过flexbox使用起来也非常的爽,之前垂直居中瀑布流等写起來非常痛苦,但flexbox就很方便的解决了这些问题

flexbox是css3中的属性,所以为了兼容各种浏览器需要添加各种浏览器对应的前缀一下提供自动加前綴的方法:

  • 1.使用智能的IDE,如:webstorm,它能够自动添加前缀
flex中没有水平和垂直的说法只有主轴和侧轴的说法,比如flex-direction:row,那么你的主轴方向为水平方向侧轴方向为垂直方向,于是justify-content: center以主轴方向对齐即当前为水平方向对齐,align-content: center以侧轴方向对齐即当前为垂直方向对齐flex-direction:clunm反之亦然
  • 子盒子在父盒子中占的比例

如何做响应式布局布局的开发基礎知识

本章主要分为以下几个部分

?如何做响应式布局设计需要注意的问题
?如何做响应式布局网页布局实现原理

第一:正确理解如何做響应式布局布局

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

第二:如何做响应式布局设计的步骤

好了 博主绞尽乳汁的成果就在这里叻,下次我会总结下移动端的布局

以上这篇如何做响应式布局布局总结(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考也希望大家多多支持脚本之家。

  • 这个时候是广告时间请看 http://t.cn/RPZJMJw 这个頁面,哦也!
    全部

我要回帖

更多关于 如何做响应式布局 的文章

 

随机推荐