织梦网站HTML5+CSS3的响应式设计原理_织梦CMS教程


这几天都在修改博客上面的样式。本来用的是d83.0的模板。自己又修改了许多地方,其中自己修改的一些地方在手机里面显示的效果不是很理想,于是想改成自适应的效果。对CSS3不是特别的熟练,只能去网上找找案例看了。发现一个不错的文章。写的比较入门,也很仔细。所以拿过来分享给大家。如果还想看图片的响应式案例可以看我找的另外的一篇《分享一个非常有用的HTML5+CSS3响应式图片案例》。

移动设备正超过桌面设备,成为访问互联网的*常见终端。于是,网页设计师不得不面对一个难题:如何才能在不同大小的设备上呈现同样的网页?

手机的屏幕比较小,宽度通常在600像素以下;PC的屏幕宽度,一般都在1000像素以上(目前主流宽度是1366×768),有的还达到了2000像素。同样的内容,要在大小迥异的屏幕上,都呈现出满意的效果,并不是一件容易的事。

很多网站的解决方法,是为不同的设备提供不同的网页,比如专门提供一个mobile版本,或者iPhone / iPad版本。这样做固然保证了效果,但是比较麻烦,同时要维护好几个版本,而且如果一个网站有多个portal(入口),会大大增加架构设计的复杂度。

于是,很早就有人设想,能不能”一次设计,普遍适用”,让同一张网页自动适应不同大小的屏幕,根据屏幕宽度,自动调整布局(layout)?

一、”自适应网页设计”的概念

2010年,Ethan Marcotte提出了“自适应网页设计”(Responsive Web Design)这个名词,指可以自动识别屏幕宽度、并做出相应调整的网页设计。

他制作了一个范例,里面是《福尔摩斯历险记》六个主人公的头像。如果屏幕宽度大于1300像素,则6张图片并排在一行。

如果屏幕宽度在600像素到1300像素之间,则6张图片分成两行。

如果屏幕宽度在400像素到600像素之间,则导航栏移到网页头部。

如果屏幕宽度在400像素以下,则6张图片分成三行。

mediaqueri.es上面有更多这样的例子。

这里还有一个测试小工具,可以在一张网页上,同时显示不同分辨率屏幕的测试效果,我推荐安装。

二、允许网页宽度自动调整

“自适应网页设计”到底是怎么做到的?其实并不难。

首先,在网页代码的头部,加入一行viewport元标签。

<meta name=”viewport” content=”width=device-width, initial-scale=1″ />

viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的*。

所有主流浏览器都支持这个设置,包括IE9。对于那些老式浏览器(主要是IE6、7、8),需要使用css3-mediaqueries.js。

<!–[if lt IE 9]><script src=”http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js”></script><![endif]–>

三、不使用*宽度

由于网页会根据屏幕宽度调整布局,所以不能使用*宽度的布局,也不能使用具有*宽度的元素。这一条非常重要。

具体说,CSS代码不能指定像素宽度:width:xxx px;只能指定百分比宽度:width: xx%;或者width:auto;

四、相对大小的字体

字体也不能使用*大小(px),而只能使用相对大小(em)。body {font: normal * Helvetica, Arial, sans-serif;}

上面的代码指定,字体大小是页面默认大小的*,即16像素。h1 {font-size: 1.5em;}

然后,h1的大小是默认大小的1.5倍,即24像素(24/16=1.5)。small {font-size: 0.875em;}

small元素的大小是默认大小的0.875倍,即14像素(14/16=0.875)。

五、流动布局(fluid grid)

“流动布局”的含义是,各个区块的位置都是浮动的,不是固定不变的。

.main {float: right;width: 70%;}.leftBar {float: left;width: 25%;}

 

float的好处是,如果宽度太小,放不下两个元素,后面的元素会自动滚动到前面元素的下方,不会在水平方向overflow(溢出),避免了水平滚动条的出现。

另外,*定位(position: absolute)的使用,也要非常小心。

六、选择加载CSS

“自适应网页设计”的核心,就是CSS3引入的Media Query模块。

它的意思就是,自动探测屏幕宽度,然后加载相应的CSS文件。

<link rel="stylesheet" type="text/css" media="screen and (max-device-width: 400px)" href="tinyScreen.css" />

上面的代码意思是,如果屏幕宽度小于400像素(max-device-width: 400px),就加载tinyScreen.css文件。

 

<link rel="stylesheet" type="text/css" media="screen and (min-width: 400px) and (max-device-width: 600px)" href="smallScreen.css" />

如果屏幕宽度在400像素到600像素之间,则加载smallScreen.css文件。

除了用html标签加载CSS文件,还可以在现有CSS文件中加载。

@import url("tinyScreen.css") screen and (max-device-width: 400px);

七、CSS的@media规则

同一个CSS文件中,也可以根据不同的屏幕分辨率,选择应用不同的CSS规则。

@media screen and (max-device-width: 400px) {.column {float: none;width:auto;} #sidebar {display:none;}}

上面的代码意思是,如果屏幕宽度小于400像素,则column块取消浮动(float:none)、宽度自动调节(width:auto),sidebar块不显示(display:none)。

八、图片的自适应(fluid image)

除了布局和文本,”自适应网页设计”还必须实现图片的自动缩放。

这只要一行CSS代码:img { max-width: *;}

这行代码对于大多数嵌入网页的视频也有效,所以可以写成:img, object { max-width: *;}

老版本的IE不支持max-width,所以只好写成:img { width: *; }

此外,windows平台缩放图片时,可能出现图像失真现象。这时,可以尝试使用IE的专有命令:img { -ms-interpolation-mode: bicubic; }

或者,Ethan Marcotte的imgSizer.js。

 

addLoadEvent(function() {var imgs = document.getElementById("content").getElementsByTagName("img");imgSizer.collate(imgs);});

不过,有条件的话,*好还是根据不同大小的屏幕,加载不同分辨率的图片。有很多方法可以做到这一条,服务器端和客户端都可以实现。


# 织梦CMS教程  # 织梦网站HTML5+CSS3的响应式设计原理  # 是怎么  # 有很多  # 也要  # 多个  # 还可以  # 看了  # 互联网  # 都是  # 的是  # 这行  # 都在  # 也不  # 这一  # 加载  # 自适应  # 网页设计  # 响应式设计  # 织梦响应式  # 织梦网站  # 福尔摩斯  # 兰州seo网站排名工具  # 青岛网络营销与网络推广  # 平顶山关键词排名有效果  # 扬中*seo技术  # 营销推广优势在哪  # 惠州视频端seo公司  # seo优化霸屏效果  # 汕头*seo厂家  # 开平网站推广公司*  # 网站关键字查询与推广  # seo电子书合集  # *公众号营销推广ppt模板  # 百度如何推广两个网站呢  # 湖北营销短视频推广公司  # 云浮物流公司网站建设  # 殷都区seo技巧  # php实现seo优化  # 嘉祥传统行业seo策划  # 网站优化的seo策略  # 北海网站建设工作内容  # 提出了  # 会在  # 不是很 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 网络优化91478 】 【 技术知识72672 】 【 云计算0 】 【 GEO优化84317 】 【 优选文章0 】 【 营销推广36048 】 【 网络运营41350 】 【 案例网站102563 】 【 AI智能45237


相关推荐: 建站之星更换空间及服务器迁移操作步骤解析  织梦在线订单插件GBK-UTF版_织梦插件  建站之星|视频|教程如何快速提升网站排名?  织梦提示信息提示框美化教程_织梦CMS教程  如何选择建站程序?包含哪些必备功能与类型?  宝塔面板创建网站无法访问?如何快速排查修复?  织梦{dede:channelartlist}标签与{dede:arclist}标签通过函数判断来实现不同样式方法_织梦CMS教程  宝塔新建站点报错如何解决?  织梦内容页调用图片集图片方法_织梦CMS教程  存储型VPS适合搭建中小型网站吗?  dedecms织梦列表页生成静态分页URL链接改成*路径的方法_织梦CMS教程  如何在宝塔面板创建新站点?  如何用5美元大硬盘VPS安全高效搭建个人网站?  如何生成腾讯云建站专用兑换码?  PHPCMS v9会员登录支持Email登录的实现方法_PHPCMS教程  dedecms织梦TAG标签调用代码_织梦CMS教程  如何在IIS服务器上快速部署高效网站?  织梦dedecms出现Safe Alert: Request Error step 2提示代码_织梦CMS教程  提交百度开放适配提示Xml格式错误的解决办法 _SEO优化教程  织梦dedecms自动更新网站地图的教程_织梦CMS教程  如何挑选最适合建站的高性能VPS主机?  dedecms织梦dede:arclist按照自定义字段的条件调用相关文章_织梦CMS教程  如何解决ASP生成WAP建站中文乱码问题?  织梦文章添加字段填栏目id,内容页嵌套调用字段里的栏目文章_织梦CMS教程  如何通过cPanel快速搭建网站?  如何在阿里云部署织梦网站?  建站主机如何选?性能与价格怎样平衡?  织梦dedecms自定义标签liketags调用tag/keyword相同的相关文章_织梦CMS教程  网站TAG标签正确使用方法_SEO优化教程  织梦采集中用到的一些过滤规则_织梦CMS教程  织梦数据库实现调用*二级栏目及下三级栏目方法_织梦CMS教程  织梦文章内容页调用同分类栏目下的其它文章方法_织梦CMS教程  织梦DEDECMS软件列表页添加下载次数的教程_织梦CMS教程  织梦dede:channel标签的数字递增调用教程_织梦CMS教程  织梦如何去除img图片中的style width height属性_织梦CMS教程  如何在阿里云完成域名注册与建站?  织梦数据库批量修改替换文章标题和内容方法_织梦CMS教程  如何用IIS7快速搭建并优化网站站点?  建站之星模板安装后如何调整设计?  织梦的联动信息类型只能增加一级和三级选择,不能增加二级选择解决方法_织梦CMS教程  dedecms织梦ueditor百度编辑器整合七牛云支持支持图集_织梦插件  织梦dedecms首页、列表页调用所有图集方法_织梦CMS教程  高性能网站服务器部署指南:稳定运行与安全配置优化方案  建站之星设计师计划:智能建站系统如何实现多端适配模板?  如何在腾讯云免费申请建站?  织梦dedecms后台文章列表中显示自定义字段方法_织梦CMS教程  建站主机功能解析:服务器选择与快速搭建指南    建站之星如何助力企业快速打造五合一网站?  织梦arclist标签实现分页的方法_织梦CMS教程 

 2018-05-12

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

南京市珐之弘网络技术有限公司


南京市珐之弘网络技术有限公司

南京市珐之弘网络技术有限公司专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。

 87067657

 13565296790

 87067657@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.