文/皮皮鲁网负责人蒋飞
自适应也叫相应式,指可以主动识别屏幕宽度、并做出响应调整的网页设计。目前被越来越多的站点所使用。同时百度也公开宣称鼓励大家用HTML5技术打造在PC站和移动站都能让用户有优秀体验的站点。那么自适应站点在代码上必要做出哪些调整可以对百度更加友爱呢?
一、什么样的网站适合做自适应
自适应网页设计(Responsive Web Design)是指可以主动识别终端设备屏幕的大小从而做出响应调整的网页设计方法。这种网页设计方法完善解决了如何在不同大小的网络设备上呈现同样的网页结果。大家公认自适应至少有4个益处:提拔用户体验;PC端和移动端保持同等;避免重复内容和出错内容;链接同一。
而自适应比较显明的缺陷是,开发成本比较高,尤其是要构建包含额外编程的复杂的自适应网站,所需的时间会比较长。假如网站需求较简单,有很多开源模板可供选择。
对于已经比较成熟PC网站来说,假如要实现全站的自适应,有可能必要推掉原来所有的代码进行重构,时间和技术成本都比较大,而且假如一个网站有多个portal(入口),会大大增长架构设计的复杂度,所以如今有许多网站只在移动端实现了相应式布局设计。
二、自适应网页代码上必要做出哪些调整
1、 阻止移动欣赏器主动调整页面大小
iOS和Android欣赏器都基于webkit核心,这两种欣赏器以及其他的许多欣赏器都支撑viewport meta元素覆盖默认的画布缩放设置,只需在HTML的<head>标签中插入一个<meta>标签,<meta>标签中可以设置详细的宽度(如像素值)或者缩放比例2.0(设备现实尺寸的两倍),下面是将一个页面放大到设备现实尺寸两倍表现的meta标签示例:
<meta name=”viewport” content=”initial-scale=2.0,width=device-width”/>
2、将网页修改为百分比布局
当某个欣赏窗口处于媒体查询固定的范围之外,网页就必要水平滚动才能完备欣赏,而通过百分比布局可以页面元素根据窗口大小在一个又一个媒体查询之间天真修正样式,详细来讲,就是css代码不会指定详细像素宽度:width:xxx px;而是会指定一个百分比宽度:width:xx%;或者直接就是width:auto;这里大家可以根据一个简易的公式将固定像素宽度转换成对应的百分比宽度:目标元素宽度÷ 上下文元素宽度 = 百分比宽度
例如:
- <div id =”wraper”>
- <divid = “header”></div>
- </div>
- #wrapper {
- margin-right: auto;
- margin-left: auto;
- width: 960px;
- }
- #header {
- margin-right: 10px;
- margin-left:10px;
- width: 940px;
- }
转换为百分比的header区块的css为:
- #header {
- margin-right: 10px;
- margin-left: 10px;
- width: 97.916667% /* 940 ÷ 960 */
- }
3、用em替代px
同样,目标元素宽度 ÷ 上下文元素宽度 = 百分比宽度这个公式也适用于将笔墨的像素单位转换为相对单位,值得细致的是,当代欣赏器的默认笔墨都是16像素,因此一开始给body标签应用下列任何一条规则所产生的结果都一样:
- font-size: 100%;
- font-size:16px;
- font-size: 1em;
例如某网站网站题目响应的样式:
- #logo {
- display: block;
- padding-top: 75px;
- color: #0d0c0c;
- font-family: Arial;
- font-size: 48px;
- }
修改后的样式如下:
- #logo{
- display: block;
- padding-top: 75px;
- color: #0d0c0c;
- font-family:Arial;
- font-size:3em /* 48 ÷ 16 */
- }
4、流动布局(fluid grid)的使用
“流动布局”指的是各个区块的位置都浮动,不是固定不变的。
- .main {float: right;width: 70%;}
- .leftBar {float: left;width: 25%;}
这么做的益处是,假如宽度太小,放不下两个元素,后面的元素会主动滚动到前面元素的下方,不会在水平方向溢出,避免了水平滚动条的出现,大大提拔了用户的阅读体验。另外,绝对定位(position:absolute)的使用,也要特别很是警惕。
5、Media Query技术的使用
在自适应设计的技术中,css3支撑css2.1定义的媒体类型,同时添加了许多涉及媒体类型的功能属性,包括max-width(最大宽度),device-width(设备宽度,orientation(屏幕定向:横屏或竖屏),因此可以通过Media Query加载响应的CSS文件. 例如,下面代码定义了假如页面通过屏幕呈现,并且屏幕宽度不超过480px,则加载shetland.css
- <link rel="stylesheet" type="text/css" media="screen and (max-device-width: 480px)" href="shetland.css" />
同样可以创建多个样式表,以适应不同设备或者不同分辨率的宽度范围,当然更有用的做法是将多个Media Query整合在一个样式表文件中:
- @media only screen and (min-devece-width: 320px) and (max-device-width: 480px) {
- /* Styles */
- }
- @media screen and (min-width: 600px) {
- .hereIsMyClass {
- width: 30%;
- float: right;
- }
上面的代码中定义的样式类只有在欣赏器屏幕宽度超过600px时才会有用。
因此,使用min-width和max-width可以同时判断屏幕尺寸与欣赏器现实宽度,假如盼望通过Media Query作用于某种特定设备,但忽略在其上运行的欣赏器是否因为没有最大化尺寸与设备屏幕尺寸不同等,则可以使用max-device-width和max-device-width属性来判断设备自己屏幕尺寸。
Media Query不是唯一的解决方案,同样可以通过javascript来实现自适应设计,分外是某些旧欣赏器无法完善支撑CSS3的Media Query时,它可以作为备选方案。当然,我们仍然能借助专业的javascript库来帮助旧欣赏器(IE5+,Firefox 1+,Safari 2等)支撑CSS3的Media Queries.使用方法:下载css3-mediaqueries.js,然后在页面中调用它即可,例如:
- <!--[if lt IE 9]>
- <script src=https://css3-mediaqueries-js.googlecode4673/svn/trunk/css3-mediaqueries.js></script>
- <![endif]-->
6、设计相应式图片
有许多同比缩放图片的技术,其中有不少是简单易行的,比较流行的方法是使用CSS的max-width属性:
- img { max-width: 100%;}
老版本的IE不支撑max-width,所以只好写成:
- img { width: 100%; }
此外,windows平台缩放图片时,可能出现图像失真征象。这时,可以尝试使用IE的专有饬令:
- img { -ms-interpolation-mode: bicubic; }
或者,Ethan Marcotte的imgSizer.js。
- addLoadEvent(function() {
- var imgs =
- ocument.getElementById("content").getElementsByTagName("img");
- imgSizer.collate(imgs);
- });
假如有条件的话,最好能根据屏幕的不同大小,加载不同分辨率的图片。
三、自适应站点对百度友爱的关键
1,applicable-device标注应该乐投letou官网么写
有了自适应设计的网页,还要照顾到对百度友爱的设计,即告诉百度“我是自适应页面”方便百度进行识别校验。方法也很简单,只要在上面viewport标签下面再添加一个applicable-device标签就行:
- <meta name="applicable-device" content="pc,mobile">
透露表现页面同时适合在移动设备和PC上进行欣赏。
2,在使用百度站长平台链接提交工具的sitemp进行提交时,要做mobile type标记,详细取值:
- <mobile:mobile type="pc,mobile"/>
其他网页取值如下:
- <mobile:mobile/> :移动网页
- <mobile:mobile type="mobile"/> :移动网页
- <mobile:mobile type="htmladapt"/>:代码适配
无该上述标签透露表现为PC网页
查看完备组图 上一页 下一页注:相干技巧阅读请移步到建站教程频道。