`
axl234
  • 浏览: 268484 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

手机网页项目一些心得

 
阅读更多

一、手机与浏览器

据互联网分析公司StatCounter公布的2月份数据显示,数据显示:

谷歌的Android默认浏览器成为了最流行的手机浏览器,
欧朋浏览器占到了22.67%的市场份额,
苹果的Safari浏览器占到了21.7%的市场份额。
诺基亚的Symbian浏览器占到了11.24%的市场份额,
黑莓浏览器占到了6.53%的市场份额。

iPhone默认浏览器为Safari;
Android默认浏览器webkit内核;
诺基亚Symbian S60智能机默认浏览器为OSS(OpenSourceSoftware)浏览器;
诺基亚window phone7手机浏览器默认是IE9浏览器。

以上所有手机都可以安装最新的手机Opera浏览器。
Chrome浏览器可以在iPhone/iPad以及Android设备中安装。
UC浏览器可以在上述所有手机上安装.

二、浏览器与选择器

iPhone4+以及Android2.3+自然,CSS3中各类选择器都是支持的,无论是默认浏览器,还是在该设备上安装最新的Chrome/Opera/UC浏览器等。

Symbian OSS浏览器的选择器也很强大,支持桌面设备中用来区分现代浏览器和IE6~8浏览器的:root,支持:before以及:after以及其他很多CSS伪类。不过,并不支持body:nth-of-type(1) {}。因此,body:nth-of-type(1) .samrtphone{}是区分塞班OSS浏览器和其他HTML5支持完备浏览器的Hack。

WP7默认浏览器是IE9,因此,我们可以使用\9\0等Hack和其他浏览器进行区分。

三、浏览器与CSS属性支持

① CSS2.1
OSS浏览器虽然给人感觉低级了点,但是,对于常规CSS的支持还是很不错的,与Chrome浏览器等都相差无几。如display:table-cell等都是支持的。

基本上,手机浏览器对于background-position:fixed属性都不怎么感冒,iPhone Safari浏览器以及WP7上的IE9浏览器都是如此。因此,我们要想在页面上实现效果较好的background-position:fixed效果,基本上只能这样:

html, body { height: 100%; overflow: hidden; }

② CSS3
如果不考虑OSS浏览器,我们使用CSS3基本上都是很从容以及安心的,不过因为要兼顾OSS浏览器,需要注意的就多了。

box-shadow/text-shadow等不影响布局,可以渐进增强的CSS3属性我们不讨论。

background-size
OSS浏览器不支持background-size, 因此,使用该属性实现视网膜屏幕与普通屏幕的背景图片兼容实现出现了障碍(下面会提及)。但是,如果是小尺寸图片,如星星,我们也是可以使用上面的body:nth-of-type(1) hack进行特别处理。

border-radius
为了让iPhone3默认Safari浏览器支持圆角效果,我们可以通过添加-webkit-前缀方法。但是,OSS浏览器本身有部分webkit内核的东西,其对-webkit-border-radius也是敏感的;如果效果不错那还好,但该死的是,OSS浏览器上,对元素使用-webkit-border-radius,就像是在豆腐的四个角上用毛笔画了四个黑色的圈圈,而不是把豆腐边角削圆了!!相当的丑!

因此,我的建议是,圆角实现直接border-radius, 而非-webkit-border-radius,iPhone3也作为优雅降级的对象。当然,如果你无视OSS浏览器,后者也是可以的。

font-face
font-faceSVG是让图形兼容视网膜屏幕的两个利器。
font-face与图形 张鑫旭-鑫空间-鑫生活

大小颜色可控,资源占用小。相比普通png/jpg图片,视网膜显示屏下不会拉伸模糊。

首先,OSS浏览器不支持font-face.

然后,让人意想不到的是wp7上的IE9浏览器也是不支持font-face,据说这是IE9的安全还是什么的策略(真是坑爹!),IE9桌面浏览器是支持font-face的。

后来,测试发现,Android设备上安装的UC浏览器也不支持font-face

老版本iPhone上,貌似只对SVG格式的字体文件支持良好,因此,我们写CSS代码的时候,一定要注意字体文件调用的顺序,如下:

@font-face {
    font-family: ico;
    src: url(/b/pad/font/icomoon.eot);
    src: url(/b/pad/font/icomoon.eot?#iefix) format('embedded-opentype'),
        url(/b/pad/font/icomoon.woff) format('woff'),
        url(/b/pad/font/icomoon.ttf) format('truetype'),
        url(/b/pad/font/icomoon.svg#icomoon) format('svg');
}

SVG格式文件需要放在最后

为了即使浏览器不支持也不影响功能(一些装饰性的图形可以不用管),使用IcoMoon生成自定义字体的时候,其中的字符我们不应该使用其默认生成的,我们需要根据自己图形的模样,寻找接近的字符。

使用接近的字符作为font-face的图形字符 张鑫旭-鑫空间-鑫生活

甚至我们可以使用中文:
使用中文作为font-face的图形指示 张鑫旭-鑫空间-鑫生活

我收集了下乱七八糟的字符,具体可以参见我站点左下角这里:
乱七八糟收集字符页面的地址入口 张鑫旭-鑫空间-鑫生活

由于OSS浏览器不支持content: attr(*),所以,对于装饰性的字符图形,我们可以将需要显示的字符写在自定义属性上,如:

<span class="ico" data-icon="!" aria-hidden="true"><span>

可以避免显示上的干扰。

四、浏览器与图片显示

竖着状态,如iPhone4, 宽度像素640,而一般Symbian S60宽度320. 由于为了阅读体验,iPhone4和Symbian默认浏览器的布局视区宽度都是320像素,因此iphone4的设备像素比devicePixelRatio为2, Symbian为1.

这所导致的问题就是实际320像素宽的图片在Symbian上是正常比例宽度满屏显示;而在iPhone4上,也是宽度满屏,但图片实际两倍拉伸了,因此,如果图片本身质量不高,就会有模糊的拉伸——视网膜屏幕的iPhone反而效果不好。

视网膜屏幕和普通屏幕对比 张鑫旭-鑫空间-鑫生活

如果您不计成本,可以制作两套图片,分别使用语高清屏幕以及普通屏幕。不过,上文“设备像素比devicePixelRatio”也提到过,有些设备的像素比是2.25, 以后可能还会出现像素比3, 因此,这种多尺寸图片,开发维护成本高,且不一定长寿的方法是否值得推广值得商榷。

.icon {
  background-image: url(example.png); /* 普通尺寸图片 */
  background-size: 200px 300px;
  height: 300px;
  width: 200px;
}

@media only screen and (-Webkit-min-device-pixel-ratio: 1.5),
only screen and (-moz-min-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2),
only screen and (min-device-pixel-ratio: 1.5) {
  .icon {
    background-image: url(example@2x.png); /* 2倍尺寸图片 */
  }
}

如果你想省事,可以使用高清版本的图片,对于320像素宽度,设备像素比为1的设备,使用1/2尺寸压缩限制,或者使用background-size进行一般尺寸显示。举例而言,我们使用640像素宽度的图片,使用CSS(eg. img { width: 320px; })限死成300像素宽。类似Nokia塞班机子有浪费,但是,iPhone以及最近的Android设备上图像显示很OK.

如果想兼容OSS浏览器,background-size慎用。

当然,最好的方法就是避免使用图片,尤其底纹,装饰性图标,边边角角的图形等。我们可以使用CSS3 font-face图形生成,或者SVG矢量图片,或者Canvas绘图。如果值考虑智能机,上面的技术都是很OK的。

五、浏览器与HTML5表单元素

iPhone4与iPhone4S相比只少了一个"S", 但是在对HTML5元素的支持上差异较大。

例如:

<input type="date" />

在iPhone4上就是个普通的框框,但是,iPhone4S上就可以很华丽丽地选择日期,如下图:
iPhone上选择日期的华丽丽效果 张鑫旭-鑫空间-鑫生活

其他差异还体现在对required, pattern等验证属性的支持上。以及表单元素间的对齐,奇怪的间距bug等!

塞班默认浏览器自然不支持HTML5,但是,塞班机子上安装最新Opera浏览器,各类HTML5表单元素的特性,UI等均支持。

iPhone3 默认浏览器的文本框似乎默认有个很蛋疼的内阴影效果,因此,当我们想要div等标签模拟边框或无边框效果时候,这玩意让人伤神!

iPhone浏览器文本框上面是不能覆盖其他元素的,如下图所示的叉叉效果:
叉叉效果覆盖文本框清空的效果 张鑫旭-鑫空间-鑫生活

iPhone的Safari浏览器上点击这个叉叉,永远都是文本框选中,而不是清空其中的内容。解决之道只能,边框模拟,叉叉覆盖在普通元素之上。
iPhone浏览器上覆盖的叉叉效果 张鑫旭-鑫空间-鑫生活

六、浏览器与JavaScript

不得不说,OSS浏览器对JavaScript的支持不是一般的弱,例如不支持document.querySelectorAll(),因此,为了这个该死的浏览器,不得不自己写个简单基本的选择器。不支持ES5,因此,如数组的forEach方法就不可以使用等。

因此,如果想支持OSS浏览器的话,JS一定要慎用,复杂的JS交互直接忽略,使用最简单的方式呈现即可。

其他手机浏览器对JS的支持都是可以的。HTML5的本地存储、地理位置;以及上面提到的document.querySelector()以及ES5都是支持。

不过,iPhone上似乎有个坑爹的问题,其默认浏览器下,页面滚动的时候,上面的标题栏也一起滚动了;结果在计算其滚动高度的时候,最上面的60像素(实际页面已经下去了),但是滚动高度似乎都是0. 这使得使用JavaScript实现元素的底部浮动变成了很头疼的问题。其他浏览器都没有这个问题。

分享到:
评论

相关推荐

    基于HTML仿oppo手机商城电商项目的设计与实现6个页面

    ### 基于HTML仿oppo手机商城电商项目的设计与实现6个页面 #### 一、项目概述 该项目是基于HTML、CSS以及JavaScript构建的一款针对大学生网页设计课程的大作业源码,涵盖了多种不同主题,包括但不限于个人、美食、...

    手机APP开发者项目网站模板

    【手机APP开发者项目网站模板】是一款专为移动应用开发者设计的网页模板,它采用现代网页技术HTML5和CSS3精心构建,旨在为开发者提供一个专业且具有吸引力的在线展示平台。这款模板以其响应式设计、丰富的功能模块和...

    web笔记心得

    它确保网站在不同尺寸的屏幕(如手机、平板、桌面)上都能良好展示。 5. 前端框架:React、Vue.js、Angular是当前流行的前端框架,它们提供一套完整的工具集,简化开发过程,提高效率。例如,React以其组件化开发...

    基于springboot+vue的音乐网站开发项目

    综上所述,本音乐网站项目是SpringBoot和Vue.js技术栈的实战应用,既锻炼了开发者前后端分离的开发能力,又提供了丰富的用户体验。通过实际操作,开发者可以深入理解这两项技术的精髓,并将其运用到更多实际项目中。

    python Django web 实训项目的实验报告

    - **靓号模块**: 可能涉及到特殊号码(如手机号码)的管理,例如分配、回收等。 在数据存储时,密码通常使用MD5进行加密,以增强安全性。静态文件如CSS、JavaScript等存储在`static`目录下,HTML模板位于`template`...

    制作手机上浏览的网页心得

    对于手机网页的兼容性问题,开发者需要注意手机浏览器对JavaScript的支持程度。由于部分手机设备不完全支持JavaScript,特别是较旧的或非智能机型,因此避免过于依赖JavaScript功能是明智的。例如,`()"&gt;` 和 `alert...

    WEB基础实训 漫步时尚广场-完整版

    在“漫步时尚广场”项目中,你将有机会实践如何使用这些标签构建一个完整的网站页面。 接着,我们会接触到CSS(Cascading Style Sheets),它是用于控制网页外观和布局的重要工具。通过CSS,你可以设置颜色、字体、...

    手机wrap网站仿YOKA时尚网触屏版手机wap女性网站模板

    手机WAP(Wireless Application Protocol)网站是一种专门为移动设备设计的网页,它通过简化HTML代码来适应较小的屏幕尺寸,并优化数据传输速度。WAP网站通常使用WML(Wireless Markup Language)编写,但现代移动...

    手机wrap网站手机百姓健康网触屏版自适应html5手机健康网站模板

    健康类网站还可以设置论坛或问答区,让用户之间可以互相交流心得和经验,形成一个积极向上的社区氛围。 综上所述,这个给定的文件涉及到的技术点涵盖了HTML5的自适应设计、触屏版网站的设计、百度网盘的分享机制...

    学校实训项目-儿童英语美术家园网站是一款适合儿童教育门户网站。.zip

    "整站"标签表示这是一个完整的网站项目,涵盖了从首页到各个功能页面的设计和实现。"HTML 前端"标签揭示了网站的构建技术,主要依赖HTML(超文本标记语言)进行网页结构设计,以及相关的前端技术,如CSS(层叠样式表...

    手机wrap网站仿沪江网在线免费学外语手机wap英语网站模板

    WAP网站是基于WAP技术构建的网站,专门针对手机等移动终端进行优化,以便用户能够更方便地浏览网页。 2. **特点**: - **低带宽占用**:由于移动网络早期的带宽限制,WAP网站通常采用精简的HTML语言(如WML)编写...

    (自适应手机端)深蓝色风景摄影网站pbootcms模板 户外风景摄影机构网站源码下载.zip

    随着移动互联网的普及,越来越多的用户倾向于使用手机或平板电脑浏览网页,因此自适应设计成为现代网站的必备特性。这种设计可以确保无论用户使用何种设备,都能看到清晰、易读的内容,提高用户的满意度和停留时间。...

    手机wrap网站仿玩机岛触屏版html5手机wap游戏网站模板

    响应式网页设计(Responsive Web Design,简称 RWD)是一种使网站在多种设备(包括台式机、笔记本电脑、平板电脑和智能手机等)上都能保持良好用户体验的设计方法。通过使用媒体查询(Media Queries)、流体网格布局...

    网页设计-仿小米商城-前端期末大作业

    在这个项目中,“网页设计-仿小米商城”显然关注的是模仿知名电商网站小米商城的界面设计和用户体验。在前端开发中,网页设计通常包括布局设计、色彩搭配、图标选择、字体应用以及按钮和链接的交互设计等,以实现...

    VUE搭建手机商城心得和遇到的坑

    下面,我将详细介绍在搭建手机商城过程中遇到的问题、解决方法以及一些心得体会。 1. 样式全局作用域问题与解决办法:在Vue中,每个组件内的样式默认是全局作用域的,这会导致样式冲突。为了解决这个问题,通常的...

    中小型手机平板网站的实现和关键代码

    在这个项目中,我们利用C#和ASP.NET技术来创建一个综合性的移动平台,旨在提供手机和平板的推广、新闻更新、产品评测、排行榜、软件游戏下载以及设备使用指南等功能。 首先,对于一个面向手机和平板的网站,响应式...

    创意设计公司网站模板是一款适合手机电脑应用设计企业网站模板下载 .rar

    【创意设计公司网站模板】是专为手机和电脑应用设计企业设计的一款网页模板,它集成了现代设计元素和用户体验的最佳实践,旨在提升企业的在线形象,展示其创新设计能力和服务范围。这款模板通常包括一系列预设的页面...

    web前端旅游网设计.rar

    以下是关于这个项目的一些关键知识点和实现细节。 首先,基础架构方面,该网站采用了HTML作为结构化标记语言,负责定义网页的内容和布局。HTML5的引入使得网站能够支持多媒体元素,如视频、音频和图形,为用户带来...

    毕业设计javajsp手机租赁系统sqlserver-qkrp源码含文档工具包

    (1)网站首页:其中包括用户登陆,网站公告,查询:可通过手机品牌和手机型号以最快的方式查询到相关的信息。 (2)发布手机信息:填写品牌、型号、购买日期、新旧程度、上传照片、日租金等信息。 (3)租凭跟踪:可通过...

    学校实训毕业商用项目-涂鸦王国-宽屏图片设计素材整站带数据.zip

    8. **响应式设计**:考虑到涂鸦王国的宽屏特性,响应式设计是必须的,以确保网站在不同设备上(如桌面、平板、手机)都能良好显示。这需要对媒体查询、流式布局等概念有深入了解。 9. **Web性能优化**:项目可能...

Global site tag (gtag.js) - Google Analytics