深圳易捷网络科技财税咨询网-neatmaster518.com 返回首页

如何打造一个优秀的响应式网站

信息来源:深圳市易捷网络科技有限公司
信息发布时间:2024/9/19
1.ie9以下(不包括ie9)采用ie条件注释,为ie8以及一下单独开一个样式文件
<!--[ifltIE9]>
<linkhref="lt9.css"rel="stylesheet"type="text/css">
<![endif]-->
2.一个模块的mq样式整体放在这个模块的样式的之后,符合层叠逻辑,也同时以免被层叠。
3.祈求在一个相应点上同时做变化几乎是不可能的,因为版式中间的变化,无论是视觉还是具体的编码人员不可能掌握所有细节。
4.流体布局很关键,%视父级为参照物,这一点虽然很多人都知道,但是实际做的时候却最容易被忽略。
5.清除浮动也很重要,切记。
6.如果你希望边框、边距(内、外)也在100%的范围内,直接设置width:auto就好了,不要给予希望在新的css3属性上,也不要寄希望在-webkit上,-webkit-很容易就会变成下一个ie6了。
7.合理的嵌套更加健壮,用一个包装元素来替代设置当前元素margin或者padding。举例,假如有A和B两个元素,width是40%,maring-right是10%,这样很容易在搜索浏览器的时候篡位,所以用一个包装元素C去分别包裹A和B,然给给C设置50%,A和B分别设置为80%。这样就是合理且健壮的嵌套了。
8.两行两列这种设计,由于流体布局和字数的不同,所以为每一行添加一个包装元素,更加健壮。也就是说,先做两行,再在每一行里做两列。
9.不要奢望在在每一个像素的宽度上不会出现超出预期的表现,因为没有任何人知道页面在每一个像素宽度时候的表现的样子,页面越负责可预期的就越不准确。所以mq可能真的是“非预期数值”(预期数值指代在设计和实现之前约定的响应点)
10.相同区间的mq和mq会层叠,全局的样式也会和mq中的样式层叠,所以属性尽量不要写成缩写。以减少忘记的风险。
11.图片的自适应处理不容易,特别是有边框的,如果正常条件(没有利用mq来约束)下设置了宽和高,在另外一个mq下,仅仅设置一个属性是不行的,还是那句话,mq不是二选一(除非是两个不同的mq区间),而是层叠!!
12.如果水平列表的两端的元素两端对齐,以四个元素为例,那么除了前三个预留左边距,最后一个为零;或者第一个右边据为0;后三个有右边距以外。可以采用第一个左侧有,最后一个右侧有,中间两个左右偏移边距来做,短的一面为边距除以空白数,比如4个列表项,边距为40,则40除以3。好处么?就是可以保证每一个外包装为通栏的25%。
13.四个25%,两个50%没关系,但是50%25%25%就可能会掉下去最后一个,所以24.99,22.49有时还会相差1~2像素。
14.如果版式变化不大,那么从大到小的写mq,不必写一个区间,只写最大值即可,这样一层一层的继承,小尺寸继承大尺寸,另外,不用过分担心选择器本身权重的问题,mq会提高其优先级。
15.像导航和版权这种在pc、pad、phone截然不同的版式。mq,就写区间。这样在区间外就等于这些dom毫无样式,这样就不比担心由继承引发的覆盖、优先级、重写以及未知问题。减少了属性的重写,提高了效率、降低了修改成本。其实就是等于一个dom,为不同的设备写不同的样式,这些样式之间不继承。
16.如果你希望几个元素是相对位置不变的话,请将他们包裹,通过这个包裹元素使他们整体与其他元素或元素组做排版,所以一个健壮的响应式离不开这些看似“冗余”的包裹元素。但还是以最少的可实现目标的dom层级为目标。
17.关于背景图,以中心为原点进行“裁剪”是理智的,已某一侧为原点看起来都有点怪。另外可以使用background-size某个值为auto,另外一个使用%
18.大图片请写在一个mq区间内,不要只写最大值,这样会搞定按需加载的问题。
19.banner样式实践
@media(min-width:1110px){
.banner{height:684px;background:url(img/banner1980.jpg)centercenterno-repeat;background-size:auto100%;}
}/*高度一直填充,两侧裁剪,这种体验先看比较好*/
/*以下不同目标分辨率载入不同的图片,保证k数最佳,裁剪体验应该一致*/
@media(min-width:769px)and(max-wdth:1110px){
.banner{height:383px;background:url(img/banner1110.jpg)centercenter;}
}
@media(min-width:569px)and(max-width:768px){
.banner{height:265px;background:url(img/banner768.jpg)centercenter;}
}
@media(min-width:415px)and(max-width:568px){
.banner{height:196px;background:url(img/banner568.jpg)centercenter;}
}
@media(min-width:321px)and(max-width:414px){
.banner{height:143px;background:url(img/banner414.jpg)centercenter;}
}
@media(max-width:320px){
.banner{height:111px;background:url(img/banner320.jpg)centercenter;}
}
20.logo如果是在banner的背景图上镂空,这样是不推荐的。在缩小浏览器窗口宽度的时候,给人以很明显很明显的视觉差,感觉页面极其不健壮(至少我的感觉是这样),似乎有随时要散的感觉。文字也有这感觉,特别是有大量文字的时候。所以你会发现很多响应式好的网站,他的导航的底色都是纯色。logo和导航都不镂空在一张背景图上。当然也有少数在的,比如adobe。
21.接20,一般banner图片几乎是满屏的可能高达1980px;而一般如果是居中的话,我们把导航和logo以及一些小功能,比如登录、搜索控制在1200px最大宽度,当页面大于这个最大宽度的时候,这个区域就像钉在了背景图上,不会导致有两个图层的感觉。所以当页面宽度马上等于最大宽度的时候,我们在利用mq重新写定义下一这个区域的最大宽度,当然是该小一点,这样就解决了20出现的那个问题。
22.png8的问题,ie6下就用纯色做底吧。我最理想的想法是,当用ie6访问所有公司web产品的时候,给用户一个页面,先登录QQ帐号,然后下载最新的QQ浏览器,然后发这个用户10个Q币。然后浏览器界就清静了。
23.接21,当前mq中的这个区域的最大宽度等于下一个(更小的一个尺寸)mq的尺寸,这样就用户的钉在了背景图的上面了。
24.对于相同的一些元素,某一个有特殊的样式,优先使用nth-of-type选择器。在测试ie8以及一下的时候,再为这个特殊的dom添加一个class之类,然后再在那个ie8以及一下的样式表中书写复制响应的规则。
25.body下有一个包裹元素,作为整体弹性的参照,为ie6、ie7单独写一个宽度,为什么是1000px,由于很难获得使用ie6的用户的分辨率,或者说获取了之后可能因为数据繁多不好决策,所以简单粗暴,认为使用ie6的都是低端设备用户,是小显示器用户,是1024*768分辨率;至于ie7,设置了4个25%的浮动,在缩小浏览器的过程中都能时不时的掉下去一个,对于小数点的像素就自动向上补全,太悲哀了。所以如下:
regularcssfile
.layout{width:100%;max-width:1980px;min-width:320px;*zoom:1;margin:0auto;}
lt9cssfile
.layout{*width:1000px;min-width:1000px;}/*ie8的最小宽度为1000px,ie76只有1000px*/
26.对于一定要百分之百通栏的模块,比如,带有背景色的版权,或者banner,那么可以在lt9的文件夹里为ie76写一个不是只有1000px,而是可以100%的样式,但是切记这里只要有一列,否则就又产生了25中提到的问题,也许,你可以这么写:
lt9cssfile
.layout{*width:1000px;min-width:1000px;}/*ie8的最小宽度为1000px,ie76只有1000px*/
.one-percent{width:100%;}/*新增的,一定要在layout的后面,否则对于ie67不生效*/
htmldom
<divclass="layoutone-percent">
<!--code-->
</div>
所以我建议,把banner主体部分版权三者用三个layout包裹,这样便于对ie6ie7ie8做样式。
27.经过长达半年的持续统计,1366px用户最多,根据栅格化,n=24为基准,得出W=(A*n)-i,所以如果要设置最大宽度则设置为1310px;a=45px,i=10px;不过由于与门户和电商等网站的排版不同且主要为了弹性版式,所以这里最大宽度是我们所需要的,至于45px和10px,以后有固定版式的话可以使用。
28.响应点:1366px1200px1110px768px568px414px320px;768以下的很好理解也方便约束,PC侧的响应点是较难控制的,所以前面三个值基本都是按照版式来操作的。原因参见3。
29.有的人说写响应式从小往大写,意思是说先写手机端,然后写PC端,大致的原因是从大往小写的话,手机就要层叠和重写很多样式,可能会影响性能。理论上,我是赞成的,实际上我并没有测试过到底性能有多么影响。但是单单从布局的角度上讲,从设计的角度上讲,至少我的逻辑是从大往小写,因为小的基本都是在大的基础上做删减和布局的变化,所以写的时候逻辑比较顺畅。不过无论从大到小,还是从小到大,自己顺手就好。一般视觉都会先设计PC的,然后考虑mobile是什么样的,这一点也使得我是从大到小的去写。
30.之前黄老师问我,认为响应式的难点是在设计上还是在技术上,我当时说是技术上没什么,关键是版式的变化和设计的体验。现在想想。版式变化固然是难点,但是技术手段也很重要,在这方面的深度和方式的选择要比版式上的选择复杂的多。
31.响应式三大技术:流体、mq、弹性图片。

相关行业资讯

1、网站运营建设中的八个关键
2、互换友情链接注意要点
3、 site不到首页怎么办
4、建设什么类型的网站好,建设什么样的网站可以赚钱
5、网站建设怎么设计更加能吸引人的呢
6、工业和信息化部对网站建设备案常见问题有哪些
7、为什么需要做企业网站建设方案
8、解析网站优化之TDK书写方式有哪些
9、网站建设规划的原则
10、商城网站建设经营中不容忽视的几大要素
11、建企业网站对企业发展的好处
12、深圳网站建设中的四要四不要
13、新手应细心处理SEO优化细节
14、做网站长尾词对网站有哪些好处
15、企业如何进行网站前期SEO优化工作?
16、你真的要做几百元的网站吗
17、手机网站制作一定要注意这几点事项
18、新手网站优化应注意的一些问题
19、网站优化之精简代码搜索引擎抓取实质内容
20、浅谈如何制作网站
21、dnspod设置教程
22、再谈论坛推广的一些心得体会
23、建设网站改版在所难免该做哪些
24、网络营销人员需要具备哪些条件
25、企业SEO的弊端与改进
26、SEO外链建设难,有什么方法
27、怎么建立你的网站开发团队
28、英文网站制作的几个关键注意事项
29、做一个手机网站需要多少费用
30、网站的首页优化和整站优化
31、拼接屏优劣的判定
32、企业做seo关键词优化有哪些小技巧
33、什么是伪静态伪静态有何作用
34、深圳微信营销方法,微信营销有哪些特点?
35、企业网站制作必须把握哪些方面
36、企业网站建设明确网站定位
37、合理的网站布局是网站走向成功的重要一步
38、网站建设开发中值得关注哪里
39、态度决定高度从网站问答版块解答字数说起
40、未来一年网页设计有什么流行趋势
41、网站导航优化是什么
42、和大家分享网站建设时需要注意的事项
43、网站模板之LOGO设计的共性和个性
44、网站制作制作设计开发哪家好
45、网站流量转化方面的问题
46、网络营销推广渠道有哪些
47、深圳网站建设—怎样的网站建设公司才是专业的
48、网站建设要多少钱,定制网站的优势有哪些呢?
49、公司网站建设需要考虑哪些问题
50、建设网站应不应该解析多个域名
深圳市易捷网络科技有限公司版权所有    粤ICP备2022153140号